From bf534e23aa416263680a6f5ae3cef19872a5f2b5 Mon Sep 17 00:00:00 2001 From: Pierrick Voulet <6769971+PierrickVoulet@users.noreply.github.com> Date: Mon, 1 Jul 2019 09:01:46 -0400 Subject: [PATCH] Changes for release v2. (#145) --- CHANGELOG.md | 7 + composer.json | 5 +- examples/AccountManagement/CreateCustomer.php | 10 +- .../AccountManagement/GetAccountChanges.php | 28 +- .../GetAccountInformation.php | 10 +- .../AccountManagement/LinkManagerToClient.php | 22 +- .../ListAccessibleCustomers.php | 8 +- .../AddAdGroupBidModifier.php | 18 +- .../AdvancedOperations/AddDynamicPageFeed.php | 52 +- .../AddDynamicSearchAds.php | 64 +- .../AddExpandedTextAdWithUpgradedUrls.php | 22 +- examples/AdvancedOperations/AddGmailAd.php | 32 +- .../CreateAndAttachSharedKeywordSet.php | 28 +- .../FindAndRemoveCriteriaFromSharedSet.php | 26 +- .../GetAdGroupBidModifiers.php | 20 +- .../UsePortfolioBiddingStrategy.php | 32 +- examples/BasicOperations/AddAdGroups.php | 18 +- examples/BasicOperations/AddCampaigns.php | 26 +- .../BasicOperations/AddExpandedTextAds.php | 20 +- examples/BasicOperations/AddKeywords.php | 20 +- examples/BasicOperations/GetAdGroups.php | 10 +- .../BasicOperations/GetArtifactMetadata.php | 16 +- examples/BasicOperations/GetCampaigns.php | 10 +- .../BasicOperations/GetExpandedTextAds.php | 20 +- examples/BasicOperations/GetKeywords.php | 20 +- examples/BasicOperations/PauseAd.php | 16 +- examples/BasicOperations/RemoveAd.php | 14 +- examples/BasicOperations/RemoveAdGroup.php | 14 +- examples/BasicOperations/RemoveCampaign.php | 14 +- examples/BasicOperations/RemoveKeyword.php | 14 +- examples/BasicOperations/UpdateAdGroup.php | 16 +- examples/BasicOperations/UpdateCampaign.php | 16 +- examples/BasicOperations/UpdateKeyword.php | 16 +- examples/Billing/AddAccountBudgetProposal.php | 18 +- .../Billing/GetAccountBudgetProposals.php | 30 +- examples/Billing/GetAccountBudgets.php | 30 +- examples/Billing/GetBillingSetup.php | 24 +- examples/Billing/RemoveBillingSetup.php | 14 +- .../AddCampaignBidModifier.php | 18 +- .../CampaignManagement/AddCampaignDraft.php | 14 +- .../CampaignManagement/AddCampaignLabels.php | 14 +- .../AddCompleteCampaignsUsingMutateJob.php | 62 +- .../GetAllDisapprovedAds.php | 24 +- .../GetCampaignsByLabel.php | 16 +- .../CampaignManagement/SetAdParameters.php | 14 +- .../ErrorHandling/HandlePartialFailure.php | 22 +- examples/HotelAds/AddHotelAd.php | 46 +- .../HotelAds/AddHotelAdGroupBidModifiers.php | 20 +- .../HotelAds/AddHotelListingGroupTree.php | 26 +- .../CreateCompleteCampaignBothApisPhase1.php | 10 +- .../CreateCompleteCampaignBothApisPhase2.php | 24 +- .../CreateCompleteCampaignBothApisPhase3.php | 34 +- .../CreateCompleteCampaignBothApisPhase4.php | 46 +- ...CreateCompleteCampaignGoogleAdsApiOnly.php | 58 +- examples/Migration/RunExamples.php | 2 +- examples/Misc/GetAllVideosAndImages.php | 16 +- examples/Misc/UploadImage.php | 16 +- examples/Planning/AddKeywordPlan.php | 40 +- examples/Planning/GenerateForecastMetrics.php | 16 +- examples/Planning/GenerateKeywordIdeas.php | 20 +- .../Recommendations/ApplyRecommendation.php | 14 +- .../Recommendations/DismissRecommendation.php | 14 +- .../GetTextAdRecommendations.php | 10 +- examples/Remarketing/AddConversionAction.php | 20 +- examples/Reporting/GetHotelAdsPerformance.php | 22 +- examples/Reporting/GetKeywordStats.php | 30 +- examples/ShoppingAds/AddShoppingProductAd.php | 52 +- .../AddShoppingProductListingGroupTree.php | 30 +- examples/ShoppingAds/AddShoppingSmartAd.php | 54 +- .../AddCampaignTargetingCriteria.php | 26 +- .../GetCampaignTargetingCriteria.php | 20 +- .../Targeting/GetGeoTargetConstantByNames.php | 26 +- .../Ads/GoogleAds/V2/Common/AdAsset.php | 51 + .../Ads/GoogleAds/V2/Common/AdTypeInfos.php | 314 + .../Ads/GoogleAds/V2/Common/AssetTypes.php | 60 + .../Ads/GoogleAds/V2/Common/Bidding.php | 110 + .../Ads/GoogleAds/V2/Common/ClickLocation.php | 46 + .../Ads/GoogleAds/V2/Common/Criteria.php | 362 + .../Common/CriterionCategoryAvailability.php | 84 + .../GoogleAds/V2/Common/CustomParameter.php | 41 + .../Google/Ads/GoogleAds/V2/Common/Dates.php | 41 + .../Common/ExplorerAutoOptimizerSetting.php | 41 + .../Ads/GoogleAds/V2/Common/Extensions.php | 222 + .../Ads/GoogleAds/V2/Common/FeedCommon.php | 41 + .../Ads/GoogleAds/V2/Common/FinalAppUrl.php | 45 + .../Ads/GoogleAds/V2/Common/FrequencyCap.php | 62 + .../GoogleAds/V2/Common/KeywordPlanCommon.php | 47 + .../GoogleAds/V2/Common/MatchingFunction.php | 88 + .../Ads/GoogleAds/V2/Common/Metrics.php | 287 + .../Google/Ads/GoogleAds/V2/Common/Policy.php | 148 + .../V2/Common/RealTimeBiddingSetting.php | 41 + .../Ads/GoogleAds/V2/Common/Segments.php | 277 + .../Ads/GoogleAds/V2/Common/Simulation.php | 115 + .../Ads/GoogleAds/V2/Common/TagSnippet.php | 53 + .../GoogleAds/V2/Common/TargetingSetting.php | 49 + .../Ads/GoogleAds/V2/Common/TextLabel.php | 41 + .../Ads/GoogleAds/V2/Common/UrlCollection.php | 46 + .../Ads/GoogleAds/V2/Common/UserLists.php | 177 + .../Google/Ads/GoogleAds/V2/Common/Value.php | 40 + .../Ads/GoogleAds/V2/Enums/AccessReason.php | 40 + .../Ads/GoogleAds/V2/Enums/AccessRole.php | 39 + .../V2/Enums/AccountBudgetProposalStatus.php | 42 + .../V2/Enums/AccountBudgetProposalType.php | 41 + .../V2/Enums/AccountBudgetStatus.php | 40 + .../V2/Enums/AdCustomizerPlaceholderField.php | 41 + .../V2/Enums/AdGroupAdRotationMode.php | 40 + .../GoogleAds/V2/Enums/AdGroupAdStatus.php | 39 + .../Enums/AdGroupCriterionApprovalStatus.php | 42 + .../V2/Enums/AdGroupCriterionStatus.php | 40 + .../Ads/GoogleAds/V2/Enums/AdGroupStatus.php | 39 + .../Ads/GoogleAds/V2/Enums/AdGroupType.php | 48 + .../Ads/GoogleAds/V2/Enums/AdNetworkType.php | 41 + .../V2/Enums/AdServingOptimizationStatus.php | 43 + .../Ads/GoogleAds/V2/Enums/AdStrength.php | 40 + .../Google/Ads/GoogleAds/V2/Enums/AdType.php | 51 + .../V2/Enums/AdvertisingChannelSubType.php | 50 + .../V2/Enums/AdvertisingChannelType.php | 42 + .../AffiliateLocationFeedRelationshipType.php | 42 + .../AffiliateLocationPlaceholderField.php | 47 + .../Ads/GoogleAds/V2/Enums/AgeRangeType.php | 43 + .../V2/Enums/AppCampaignAppStore.php | 40 + .../AppCampaignBiddingStrategyGoalType.php | 47 + .../V2/Enums/AppPaymentModelType.php | 39 + .../V2/Enums/AppPlaceholderField.php | 43 + .../Ads/GoogleAds/V2/Enums/AppStore.php | 38 + .../V2/Enums/AppUrlOperatingSystemType.php | 40 + .../Ads/GoogleAds/V2/Enums/AssetFieldType.php | 42 + .../V2/Enums/AssetPerformanceLabel.php | 41 + .../Ads/GoogleAds/V2/Enums/AssetType.php | 39 + .../GoogleAds/V2/Enums/AttributionModel.php | 47 + .../GoogleAds/V2/Enums/BidModifierSource.php | 39 + .../Ads/GoogleAds/V2/Enums/BiddingSource.php | 40 + .../V2/Enums/BiddingStrategyStatus.php | 40 + .../V2/Enums/BiddingStrategyType.php | 49 + .../GoogleAds/V2/Enums/BillingSetupStatus.php | 40 + .../V2/Enums/BrandSafetySuitability.php | 41 + .../V2/Enums/BudgetDeliveryMethod.php | 40 + .../Ads/GoogleAds/V2/Enums/BudgetPeriod.php | 39 + .../Ads/GoogleAds/V2/Enums/BudgetStatus.php | 38 + .../Ads/GoogleAds/V2/Enums/BudgetType.php | 39 + .../V2/Enums/CallConversionReportingState.php | 43 + .../V2/Enums/CallPlaceholderField.php | 42 + .../V2/Enums/CalloutPlaceholderField.php | 40 + .../V2/Enums/CampaignCriterionStatus.php | 40 + .../V2/Enums/CampaignDraftStatus.php | 41 + .../V2/Enums/CampaignExperimentStatus.php | 44 + .../CampaignExperimentTrafficSplitType.php | 42 + .../V2/Enums/CampaignExperimentType.php | 40 + .../V2/Enums/CampaignServingStatus.php | 41 + .../V2/Enums/CampaignSharedSetStatus.php | 40 + .../Ads/GoogleAds/V2/Enums/CampaignStatus.php | 39 + .../V2/Enums/ChangeStatusOperation.php | 40 + .../V2/Enums/ChangeStatusResourceType.php | 45 + .../Ads/GoogleAds/V2/Enums/ClickType.php | 88 + .../GoogleAds/V2/Enums/ContentLabelType.php | 49 + .../V2/Enums/ConversionActionCategory.php | 42 + .../V2/Enums/ConversionActionCountingType.php | 41 + .../V2/Enums/ConversionActionStatus.php | 40 + .../V2/Enums/ConversionActionType.php | 44 + .../V2/Enums/ConversionAdjustmentType.php | 40 + .../Enums/ConversionAttributionEventType.php | 41 + .../V2/Enums/ConversionLagBucket.php | 55 + .../Enums/ConversionOrAdjustmentLagBucket.php | 91 + ...iterionCategoryChannelAvailabilityMode.php | 44 + ...riterionCategoryLocaleAvailabilityMode.php | 45 + .../V2/Enums/CriterionSystemServingStatus.php | 41 + .../Ads/GoogleAds/V2/Enums/CriterionType.php | 55 + .../V2/Enums/CustomInterestMemberType.php | 40 + .../V2/Enums/CustomInterestStatus.php | 40 + .../GoogleAds/V2/Enums/CustomInterestType.php | 40 + .../V2/Enums/CustomPlaceholderField.php | 51 + .../V2/Enums/CustomerMatchUploadKeyType.php | 41 + ...yPerConversionEligibilityFailureReason.php | 49 + .../V2/Enums/DataDrivenModelStatus.php | 41 + .../Ads/GoogleAds/V2/Enums/DayOfWeek.php | 40 + .../Google/Ads/GoogleAds/V2/Enums/Device.php | 39 + .../V2/Enums/DisplayAdFormatSetting.php | 40 + .../V2/Enums/DisplayUploadProductType.php | 49 + .../Ads/GoogleAds/V2/Enums/DistanceBucket.php | 54 + .../V2/Enums/DsaPageFeedCriterionField.php | 40 + .../V2/Enums/EducationPlaceholderField.php | 51 + .../V2/Enums/ExtensionSettingDevice.php | 40 + .../Ads/GoogleAds/V2/Enums/ExtensionType.php | 43 + .../V2/Enums/ExternalConversionSource.php | 53 + .../GoogleAds/V2/Enums/FeedAttributeType.php | 44 + .../Enums/FeedItemQualityApprovalStatus.php | 41 + .../FeedItemQualityDisapprovalReason.php | 66 + .../Ads/GoogleAds/V2/Enums/FeedItemStatus.php | 39 + .../V2/Enums/FeedItemTargetDevice.php | 39 + .../GoogleAds/V2/Enums/FeedItemTargetType.php | 40 + .../V2/Enums/FeedItemValidationStatus.php | 40 + .../Ads/GoogleAds/V2/Enums/FeedLinkStatus.php | 39 + .../V2/Enums/FeedMappingCriterionType.php | 41 + .../GoogleAds/V2/Enums/FeedMappingStatus.php | 39 + .../Ads/GoogleAds/V2/Enums/FeedOrigin.php | 38 + .../Ads/GoogleAds/V2/Enums/FeedStatus.php | 38 + .../V2/Enums/FlightPlaceholderField.php | 51 + .../V2/Enums/FrequencyCapEventType.php | 40 + .../GoogleAds/V2/Enums/FrequencyCapLevel.php | 40 + .../V2/Enums/FrequencyCapTimeUnit.php | 40 + .../Ads/GoogleAds/V2/Enums/GenderType.php | 39 + .../V2/Enums/GeoTargetConstantStatus.php | 40 + .../V2/Enums/GeoTargetingRestriction.php | 40 + .../GoogleAds/V2/Enums/GeoTargetingType.php | 40 + .../V2/Enums/GoogleAdsFieldCategory.php | 41 + .../V2/Enums/GoogleAdsFieldDataType.php | 44 + .../V2/Enums/HotelDateSelectionType.php | 40 + .../V2/Enums/HotelPlaceholderField.php | 51 + .../Ads/GoogleAds/V2/Enums/HotelRateType.php | 40 + .../GoogleAds/V2/Enums/IncomeRangeType.php | 44 + .../V2/Enums/InteractionEventType.php | 40 + .../GoogleAds/V2/Enums/InteractionType.php | 38 + .../V2/Enums/JobPlaceholderField.php | 48 + .../GoogleAds/V2/Enums/KeywordMatchType.php | 39 + .../V2/Enums/KeywordPlanCompetitionLevel.php | 41 + .../V2/Enums/KeywordPlanForecastInterval.php | 41 + .../GoogleAds/V2/Enums/KeywordPlanNetwork.php | 40 + .../Ads/GoogleAds/V2/Enums/LabelStatus.php | 38 + .../V2/Enums/LegacyAppInstallAdAppStore.php | 43 + .../V2/Enums/ListingCustomAttributeIndex.php | 42 + .../GoogleAds/V2/Enums/ListingGroupType.php | 39 + .../V2/Enums/LocalPlaceholderField.php | 50 + ...cationExtensionTargetingCriterionField.php | 45 + .../V2/Enums/LocationGroupRadiusUnits.php | 40 + .../V2/Enums/LocationPlaceholderField.php | 44 + .../GoogleAds/V2/Enums/ManagerLinkStatus.php | 40 + .../V2/Enums/MatchingFunctionContextType.php | 41 + .../V2/Enums/MatchingFunctionOperator.php | 41 + .../Ads/GoogleAds/V2/Enums/MediaType.php | 40 + .../V2/Enums/MerchantCenterLinkStatus.php | 40 + .../V2/Enums/MessagePlaceholderField.php | 42 + .../Ads/GoogleAds/V2/Enums/MimeType.php | 43 + .../Ads/GoogleAds/V2/Enums/MinuteOfHour.php | 39 + .../GoogleAds/V2/Enums/MobileDeviceType.php | 39 + .../Ads/GoogleAds/V2/Enums/MonthOfYear.php | 42 + .../GoogleAds/V2/Enums/MutateJobStatus.php | 39 + .../V2/Enums/NegativeGeoTargetType.php | 40 + .../OperatingSystemVersionOperatorType.php | 42 + .../V2/Enums/PageOnePromotedStrategyGoal.php | 41 + .../GoogleAds/V2/Enums/ParentalStatusType.php | 40 + .../Ads/GoogleAds/V2/Enums/PaymentMode.php | 39 + .../GoogleAds/V2/Enums/PlaceholderType.php | 49 + .../Ads/GoogleAds/V2/Enums/PlacementType.php | 41 + .../V2/Enums/PolicyApprovalStatus.php | 41 + .../GoogleAds/V2/Enums/PolicyReviewStatus.php | 40 + .../V2/Enums/PolicyTopicEntryType.php | 42 + ...opicEvidenceDestinationMismatchUrlType.php | 45 + ...picEvidenceDestinationNotWorkingDevice.php | 43 + ...denceDestinationNotWorkingDnsErrorType.php | 45 + .../V2/Enums/PositiveGeoTargetType.php | 41 + .../V2/Enums/PreferredContentType.php | 40 + .../V2/Enums/PriceExtensionPriceQualifier.php | 41 + .../V2/Enums/PriceExtensionPriceUnit.php | 42 + .../GoogleAds/V2/Enums/PriceExtensionType.php | 44 + .../V2/Enums/PricePlaceholderField.php | 78 + .../V2/Enums/ProductBiddingCategoryLevel.php | 42 + .../V2/Enums/ProductBiddingCategoryStatus.php | 41 + .../Ads/GoogleAds/V2/Enums/ProductChannel.php | 39 + .../V2/Enums/ProductChannelExclusivity.php | 41 + .../GoogleAds/V2/Enums/ProductCondition.php | 39 + .../GoogleAds/V2/Enums/ProductTypeLevel.php | 40 + .../PromotionExtensionDiscountModifier.php | 41 + .../V2/Enums/PromotionExtensionOccasion.php | 60 + .../V2/Enums/PromotionPlaceholderField.php | 49 + .../V2/Enums/ProximityRadiusUnits.php | 40 + .../GoogleAds/V2/Enums/QualityScoreBucket.php | 40 + .../V2/Enums/RealEstatePlaceholderField.php | 51 + .../GoogleAds/V2/Enums/RecommendationType.php | 49 + .../V2/Enums/SearchEngineResultsPageType.php | 41 + .../V2/Enums/SearchTermMatchType.php | 41 + .../V2/Enums/SearchTermTargetingStatus.php | 41 + .../V2/Enums/ServedAssetFieldType.php | 42 + .../GoogleAds/V2/Enums/SharedSetStatus.php | 39 + .../Ads/GoogleAds/V2/Enums/SharedSetType.php | 39 + .../V2/Enums/SimulationModificationMethod.php | 41 + .../Ads/GoogleAds/V2/Enums/SimulationType.php | 40 + .../V2/Enums/SitelinkPlaceholderField.php | 43 + .../Google/Ads/GoogleAds/V2/Enums/Slot.php | 41 + .../GoogleAds/V2/Enums/SpendingLimitType.php | 39 + .../StructuredSnippetPlaceholderField.php | 41 + .../V2/Enums/SystemManagedEntitySource.php | 40 + .../TargetCpaOptInRecommendationGoal.php | 43 + .../Enums/TargetImpressionShareLocation.php | 42 + .../GoogleAds/V2/Enums/TargetingDimension.php | 42 + .../Ads/GoogleAds/V2/Enums/TimeType.php | 38 + .../V2/Enums/TrackingCodePageFormat.php | 40 + .../GoogleAds/V2/Enums/TrackingCodeType.php | 41 + .../V2/Enums/TravelPlaceholderField.php | 52 + .../V2/Enums/UserInterestTaxonomyType.php | 43 + .../V2/Enums/UserListAccessStatus.php | 40 + .../V2/Enums/UserListClosingReason.php | 39 + .../V2/Enums/UserListCombinedRuleOperator.php | 41 + .../V2/Enums/UserListCrmDataSourceType.php | 42 + .../V2/Enums/UserListDateRuleItemOperator.php | 42 + .../V2/Enums/UserListLogicalRuleOperator.php | 41 + .../V2/Enums/UserListMembershipStatus.php | 40 + .../Enums/UserListNumberRuleItemOperator.php | 44 + .../V2/Enums/UserListPrepopulationStatus.php | 41 + .../GoogleAds/V2/Enums/UserListRuleType.php | 39 + .../GoogleAds/V2/Enums/UserListSizeRange.php | 58 + .../Enums/UserListStringRuleItemOperator.php | 45 + .../Ads/GoogleAds/V2/Enums/UserListType.php | 41 + .../V2/Enums/VanityPharmaDisplayUrlMode.php | 41 + .../GoogleAds/V2/Enums/VanityPharmaText.php | 53 + .../V2/Enums/WebpageConditionOperand.php | 42 + .../V2/Enums/WebpageConditionOperator.php | 40 + .../V2/Errors/AccessInvitationError.php | 41 + .../V2/Errors/AccountBudgetProposalError.php | 65 + .../GoogleAds/V2/Errors/AdCustomizerError.php | 44 + .../Ads/GoogleAds/V2/Errors/AdError.php | 176 + .../GoogleAds/V2/Errors/AdGroupAdError.php | 47 + .../V2/Errors/AdGroupBidModifierError.php | 43 + .../V2/Errors/AdGroupCriterionError.php | 90 + .../Ads/GoogleAds/V2/Errors/AdGroupError.php | 54 + .../GoogleAds/V2/Errors/AdGroupFeedError.php | 48 + .../GoogleAds/V2/Errors/AdParameterError.php | 41 + .../GoogleAds/V2/Errors/AdSharingError.php | 42 + .../Ads/GoogleAds/V2/Errors/AdxError.php | 38 + .../Ads/GoogleAds/V2/Errors/AssetError.php | 43 + .../V2/Errors/AuthenticationError.php | 57 + .../V2/Errors/AuthorizationError.php | 48 + .../Ads/GoogleAds/V2/Errors/BiddingError.php | 72 + .../V2/Errors/BiddingStrategyError.php | 46 + .../GoogleAds/V2/Errors/BillingSetupError.php | 57 + .../V2/Errors/CampaignBudgetError.php | 61 + .../V2/Errors/CampaignCriterionError.php | 53 + .../V2/Errors/CampaignDraftError.php | 51 + .../Ads/GoogleAds/V2/Errors/CampaignError.php | 93 + .../V2/Errors/CampaignExperimentError.php | 54 + .../GoogleAds/V2/Errors/CampaignFeedError.php | 47 + .../V2/Errors/CampaignSharedSetError.php | 40 + .../GoogleAds/V2/Errors/ChangeStatusError.php | 39 + .../V2/Errors/CollectionSizeError.php | 40 + .../Ads/GoogleAds/V2/Errors/ContextError.php | 41 + .../V2/Errors/ConversionActionError.php | 49 + .../ConversionAdjustmentUploadError.php | 51 + .../V2/Errors/ConversionUploadError.php | 65 + .../GoogleAds/V2/Errors/CountryCodeError.php | 39 + .../GoogleAds/V2/Errors/CriterionError.php | 161 + .../GoogleAds/V2/Errors/CurrencyCodeError.php | 39 + .../V2/Errors/CustomInterestError.php | 48 + .../V2/Errors/CustomerClientLinkError.php | 49 + .../Ads/GoogleAds/V2/Errors/CustomerError.php | 40 + .../GoogleAds/V2/Errors/CustomerFeedError.php | 49 + .../V2/Errors/CustomerManagerLinkError.php | 50 + .../Ads/GoogleAds/V2/Errors/DatabaseError.php | 40 + .../Ads/GoogleAds/V2/Errors/DateError.php | 50 + .../GoogleAds/V2/Errors/DateRangeError.php | 44 + .../Ads/GoogleAds/V2/Errors/DistinctError.php | 39 + .../Ads/GoogleAds/V2/Errors/EnumError.php | 38 + .../Google/Ads/GoogleAds/V2/Errors/Errors.php | 746 ++ .../V2/Errors/ExtensionFeedItemError.php | 93 + .../V2/Errors/ExtensionSettingError.php | 122 + .../V2/Errors/FeedAttributeReferenceError.php | 43 + .../Ads/GoogleAds/V2/Errors/FeedError.php | 61 + .../Ads/GoogleAds/V2/Errors/FeedItemError.php | 49 + .../V2/Errors/FeedItemTargetError.php | 49 + .../V2/Errors/FeedItemValidationError.php | 145 + .../GoogleAds/V2/Errors/FeedMappingError.php | 61 + .../Ads/GoogleAds/V2/Errors/FieldError.php | 43 + .../GoogleAds/V2/Errors/FieldMaskError.php | 41 + .../Ads/GoogleAds/V2/Errors/FunctionError.php | 55 + .../V2/Errors/FunctionParsingError.php | 49 + .../GeoTargetConstantSuggestionError.php | 44 + .../Ads/GoogleAds/V2/Errors/HeaderError.php | 39 + .../Ads/GoogleAds/V2/Errors/IdError.php | 38 + .../Ads/GoogleAds/V2/Errors/ImageError.php | 70 + .../Ads/GoogleAds/V2/Errors/InternalError.php | 40 + .../V2/Errors/KeywordPlanAdGroupError.php | 41 + .../V2/Errors/KeywordPlanCampaignError.php | 43 + .../GoogleAds/V2/Errors/KeywordPlanError.php | 51 + .../V2/Errors/KeywordPlanIdeaError.php | 40 + .../V2/Errors/KeywordPlanKeywordError.php | 45 + .../KeywordPlanNegativeKeywordError.php | 40 + .../Ads/GoogleAds/V2/Errors/LabelError.php | 49 + .../GoogleAds/V2/Errors/LanguageCodeError.php | 40 + .../V2/Errors/ListOperationError.php | 40 + .../GoogleAds/V2/Errors/ManagerLinkError.php | 53 + .../GoogleAds/V2/Errors/MediaBundleError.php | 59 + .../GoogleAds/V2/Errors/MediaFileError.php | 62 + .../GoogleAds/V2/Errors/MediaUploadError.php | 42 + .../GoogleAds/V2/Errors/MultiplierError.php | 56 + .../Ads/GoogleAds/V2/Errors/MutateError.php | 44 + .../GoogleAds/V2/Errors/MutateJobError.php | 43 + .../V2/Errors/NewResourceCreationError.php | 42 + .../Ads/GoogleAds/V2/Errors/NotEmptyError.php | 39 + .../V2/Errors/NotWhitelistedError.php | 40 + .../Ads/GoogleAds/V2/Errors/NullError.php | 38 + .../V2/Errors/OperationAccessDeniedError.php | 53 + .../Ads/GoogleAds/V2/Errors/OperatorError.php | 39 + .../V2/Errors/PartialFailureError.php | 40 + .../V2/Errors/PolicyFindingError.php | 40 + .../Errors/PolicyValidationParameterError.php | 47 + .../V2/Errors/PolicyViolationError.php | 40 + .../Ads/GoogleAds/V2/Errors/QueryError.php | 94 + .../Ads/GoogleAds/V2/Errors/QuotaError.php | 40 + .../Ads/GoogleAds/V2/Errors/RangeError.php | 38 + .../V2/Errors/RecommendationError.php | 52 + .../GoogleAds/V2/Errors/RegionCodeError.php | 39 + .../Ads/GoogleAds/V2/Errors/RequestError.php | 61 + .../V2/Errors/ResourceAccessDeniedError.php | 40 + .../ResourceCountLimitExceededError.php | 48 + .../Ads/GoogleAds/V2/Errors/SettingError.php | 72 + .../V2/Errors/SharedCriterionError.php | 41 + .../GoogleAds/V2/Errors/SharedSetError.php | 42 + .../GoogleAds/V2/Errors/SizeLimitError.php | 40 + .../GoogleAds/V2/Errors/StringFormatError.php | 40 + .../GoogleAds/V2/Errors/StringLengthError.php | 39 + .../Ads/GoogleAds/V2/Errors/UrlFieldError.php | 97 + .../Ads/GoogleAds/V2/Errors/UserListError.php | 69 + .../Errors/YoutubeVideoRegistrationError.php | 42 + .../GoogleAds/V2/Resources/AccountBudget.php | 133 + .../V2/Resources/AccountBudgetProposal.php | 107 + .../Google/Ads/GoogleAds/V2/Resources/Ad.php | 134 + .../Ads/GoogleAds/V2/Resources/AdGroup.php | 118 + .../Ads/GoogleAds/V2/Resources/AdGroupAd.php | 77 + .../V2/Resources/AdGroupAdAssetView.php | 77 + .../GoogleAds/V2/Resources/AdGroupAdLabel.php | 43 + .../V2/Resources/AdGroupAudienceView.php | 38 + .../V2/Resources/AdGroupBidModifier.php | 73 + .../V2/Resources/AdGroupCriterion.php | 199 + .../V2/Resources/AdGroupCriterionLabel.php | 44 + .../Resources/AdGroupCriterionSimulation.php | 66 + .../V2/Resources/AdGroupExtensionSetting.php | 56 + .../GoogleAds/V2/Resources/AdGroupFeed.php | 59 + .../GoogleAds/V2/Resources/AdGroupLabel.php | 43 + .../V2/Resources/AdGroupSimulation.php | 70 + .../GoogleAds/V2/Resources/AdParameter.php | 45 + .../GoogleAds/V2/Resources/AdScheduleView.php | 38 + .../GoogleAds/V2/Resources/AgeRangeView.php | 38 + .../Ads/GoogleAds/V2/Resources/Asset.php | 59 + .../V2/Resources/BiddingStrategy.php | 79 + .../GoogleAds/V2/Resources/BillingSetup.php | 75 + .../Ads/GoogleAds/V2/Resources/Campaign.php | 275 + .../V2/Resources/CampaignAudienceView.php | 39 + .../V2/Resources/CampaignBidModifier.php | 51 + .../GoogleAds/V2/Resources/CampaignBudget.php | 88 + .../V2/Resources/CampaignCriterion.php | 123 + .../Resources/CampaignCriterionSimulation.php | 67 + .../GoogleAds/V2/Resources/CampaignDraft.php | 56 + .../V2/Resources/CampaignExperiment.php | 69 + .../V2/Resources/CampaignExtensionSetting.php | 56 + .../GoogleAds/V2/Resources/CampaignFeed.php | 59 + .../GoogleAds/V2/Resources/CampaignLabel.php | 43 + .../V2/Resources/CampaignSharedSet.php | 49 + .../V2/Resources/CarrierConstant.php | 45 + .../GoogleAds/V2/Resources/ChangeStatus.php | 72 + .../Ads/GoogleAds/V2/Resources/ClickView.php | 51 + .../V2/Resources/ConversionAction.php | 113 + .../GoogleAds/V2/Resources/CustomInterest.php | 67 + .../Ads/GoogleAds/V2/Resources/Customer.php | 90 + .../GoogleAds/V2/Resources/CustomerClient.php | 45 + .../V2/Resources/CustomerClientLink.php | 50 + .../V2/Resources/CustomerExtensionSetting.php | 54 + .../GoogleAds/V2/Resources/CustomerFeed.php | 57 + .../GoogleAds/V2/Resources/CustomerLabel.php | 43 + .../V2/Resources/CustomerManagerLink.php | 49 + .../Resources/CustomerNegativeCriterion.php | 66 + .../V2/Resources/DetailPlacementView.php | 53 + .../V2/Resources/DisplayKeywordView.php | 38 + .../GoogleAds/V2/Resources/DistanceView.php | 47 + .../GoogleAds/V2/Resources/DomainCategory.php | 54 + .../DynamicSearchAdsSearchTermView.php | 48 + .../V2/Resources/ExpandedLandingPageView.php | 43 + .../V2/Resources/ExtensionFeedItem.php | 106 + .../Ads/GoogleAds/V2/Resources/Feed.php | 113 + .../Ads/GoogleAds/V2/Resources/FeedItem.php | 156 + .../GoogleAds/V2/Resources/FeedItemTarget.php | 69 + .../GoogleAds/V2/Resources/FeedMapping.php | 213 + .../V2/Resources/FeedPlaceholderView.php | 44 + .../Ads/GoogleAds/V2/Resources/GenderView.php | 38 + .../V2/Resources/GeoTargetConstant.php | 54 + .../GoogleAds/V2/Resources/GeographicView.php | 47 + .../GoogleAds/V2/Resources/GoogleAdsField.php | 70 + .../V2/Resources/GroupPlacementView.php | 50 + .../GoogleAds/V2/Resources/HotelGroupView.php | 38 + .../V2/Resources/HotelPerformanceView.php | 39 + .../GoogleAds/V2/Resources/KeywordPlan.php | 58 + .../V2/Resources/KeywordPlanAdGroup.php | 47 + .../V2/Resources/KeywordPlanCampaign.php | 60 + .../V2/Resources/KeywordPlanKeyword.php | 52 + .../Resources/KeywordPlanNegativeKeyword.php | 51 + .../GoogleAds/V2/Resources/KeywordView.php | 38 + .../Ads/GoogleAds/V2/Resources/Label.php | 51 + .../V2/Resources/LandingPageView.php | 42 + .../V2/Resources/LanguageConstant.php | 46 + .../GoogleAds/V2/Resources/LocationView.php | 38 + .../V2/Resources/ManagedPlacementView.php | 39 + .../Ads/GoogleAds/V2/Resources/MediaFile.php | 78 + .../V2/Resources/MerchantCenterLink.php | 49 + .../Resources/MobileAppCategoryConstant.php | 44 + .../V2/Resources/MobileDeviceConstant.php | 52 + .../Ads/GoogleAds/V2/Resources/MutateJob.php | 63 + .../OperatingSystemVersionConstant.php | 54 + .../Resources/PaidOrganicSearchTermView.php | 43 + .../V2/Resources/ParentalStatusView.php | 38 + .../V2/Resources/PaymentsAccount.php | 50 + .../ProductBiddingCategoryConstant.php | 64 + .../V2/Resources/ProductGroupView.php | 38 + .../GoogleAds/V2/Resources/Recommendation.php | 229 + .../V2/Resources/RemarketingAction.php | 47 + .../GoogleAds/V2/Resources/SearchTermView.php | 49 + .../V2/Resources/SharedCriterion.php | 66 + .../Ads/GoogleAds/V2/Resources/SharedSet.php | 56 + .../V2/Resources/ShoppingPerformanceView.php | 39 + .../GoogleAds/V2/Resources/TopicConstant.php | 45 + .../Ads/GoogleAds/V2/Resources/TopicView.php | 37 + .../GoogleAds/V2/Resources/UserInterest.php | 59 + .../Ads/GoogleAds/V2/Resources/UserList.php | 114 + .../V2/Resources/UserLocationView.php | 44 + .../Ads/GoogleAds/V2/Resources/Video.php | 45 + .../Services/AccountBudgetProposalService.php | 81 + .../V2/Services/AccountBudgetService.php | 50 + .../V2/Services/AdGroupAdAssetViewService.php | 52 + .../V2/Services/AdGroupAdLabelService.php | 77 + .../V2/Services/AdGroupAdService.php | 86 + .../Services/AdGroupAudienceViewService.php | 52 + .../V2/Services/AdGroupBidModifierService.php | 86 + .../Services/AdGroupCriterionLabelService.php | 82 + .../V2/Services/AdGroupCriterionService.php | 90 + .../AdGroupCriterionSimulationService.php | 54 + .../AdGroupExtensionSettingService.php | 89 + .../V2/Services/AdGroupFeedService.php | 81 + .../V2/Services/AdGroupLabelService.php | 76 + .../GoogleAds/V2/Services/AdGroupService.php | 79 + .../V2/Services/AdGroupSimulationService.php | 51 + .../V2/Services/AdParameterService.php | 81 + .../V2/Services/AdScheduleViewService.php | 51 + .../Ads/GoogleAds/V2/Services/AdService.php | 68 + .../V2/Services/AgeRangeViewService.php | 50 + .../GoogleAds/V2/Services/AssetService.php | 66 + .../V2/Services/BiddingStrategyService.php | 84 + .../V2/Services/BillingSetupService.php | 71 + .../Services/CampaignAudienceViewService.php | 52 + .../Services/CampaignBidModifierService.php | 87 + .../V2/Services/CampaignBudgetService.php | 83 + .../V2/Services/CampaignCriterionService.php | 85 + .../CampaignCriterionSimulationService.php | 54 + .../V2/Services/CampaignDraftService.php | 109 + .../V2/Services/CampaignExperimentService.php | 153 + .../CampaignExtensionSettingService.php | 90 + .../V2/Services/CampaignFeedService.php | 82 + .../V2/Services/CampaignLabelService.php | 77 + .../GoogleAds/V2/Services/CampaignService.php | 79 + .../V2/Services/CampaignSharedSetService.php | 79 + .../V2/Services/CarrierConstantService.php | 50 + .../V2/Services/ChangeStatusService.php | 50 + .../V2/Services/ClickViewService.php | 49 + .../V2/Services/ConversionActionService.php | 85 + .../ConversionAdjustmentUploadService.php | 107 + .../V2/Services/ConversionUploadService.php | 128 + .../V2/Services/CustomInterestService.php | 78 + .../V2/Services/CustomerClientLinkService.php | 80 + .../V2/Services/CustomerClientService.php | 51 + .../CustomerExtensionSettingService.php | 90 + .../V2/Services/CustomerFeedService.php | 82 + .../V2/Services/CustomerLabelService.php | 77 + .../Services/CustomerManagerLinkService.php | 78 + .../CustomerNegativeCriterionService.php | 84 + .../GoogleAds/V2/Services/CustomerService.php | 103 + .../Services/DetailPlacementViewService.php | 52 + .../V2/Services/DisplayKeywordViewService.php | 52 + .../V2/Services/DistanceViewService.php | 50 + .../V2/Services/DomainCategoryService.php | 51 + .../DynamicSearchAdsSearchTermViewService.php | 55 + .../ExpandedLandingPageViewService.php | 53 + .../V2/Services/ExtensionFeedItemService.php | 85 + .../GoogleAds/V2/Services/FeedItemService.php | 79 + .../V2/Services/FeedItemTargetService.php | 72 + .../V2/Services/FeedMappingService.php | 75 + .../Services/FeedPlaceholderViewService.php | 52 + .../Ads/GoogleAds/V2/Services/FeedService.php | 77 + .../V2/Services/GenderViewService.php | 49 + .../V2/Services/GeoTargetConstantService.php | 93 + .../V2/Services/GeographicViewService.php | 51 + .../V2/Services/GoogleAdsFieldService.php | 65 + .../V2/Services/GoogleAdsService.php | 1006 +++ .../V2/Services/GroupPlacementViewService.php | 52 + .../V2/Services/HotelGroupViewService.php | 51 + .../Services/HotelPerformanceViewService.php | 52 + .../V2/Services/KeywordPlanAdGroupService.php | 86 + .../Services/KeywordPlanCampaignService.php | 87 + .../V2/Services/KeywordPlanIdeaService.php | 88 + .../V2/Services/KeywordPlanKeywordService.php | 86 + .../KeywordPlanNegativeKeywordService.php | 91 + .../V2/Services/KeywordPlanService.php | 153 + .../V2/Services/KeywordViewService.php | 50 + .../GoogleAds/V2/Services/LabelService.php | 79 + .../V2/Services/LandingPageViewService.php | 51 + .../V2/Services/LanguageConstantService.php | 51 + .../V2/Services/LocationViewService.php | 50 + .../Services/ManagedPlacementViewService.php | 52 + .../V2/Services/MediaFileService.php | 76 + .../V2/Services/MerchantCenterLinkService.php | 91 + .../MobileAppCategoryConstantService.php | 53 + .../Services/MobileDeviceConstantService.php | 52 + .../V2/Services/MutateJobService.php | 112 + .../OperatingSystemVersionConstantService.php | 54 + .../PaidOrganicSearchTermViewService.php | 54 + .../V2/Services/ParentalStatusViewService.php | 52 + .../V2/Services/PaymentsAccountService.php | 55 + .../ProductBiddingCategoryConstantService.php | 54 + .../V2/Services/ProductGroupViewService.php | 51 + .../V2/Services/RecommendationService.php | 170 + .../V2/Services/RemarketingActionService.php | 87 + .../V2/Services/SearchTermViewService.php | 51 + .../V2/Services/SharedCriterionService.php | 79 + .../V2/Services/SharedSetService.php | 82 + .../ShoppingPerformanceViewService.php | 53 + .../V2/Services/TopicConstantService.php | 50 + .../V2/Services/TopicViewService.php | 49 + .../V2/Services/UserInterestService.php | 50 + .../GoogleAds/V2/Services/UserListService.php | 81 + .../V2/Services/UserLocationViewService.php | 51 + .../GoogleAds/V2/Services/VideoService.php | 48 + .../Ads/GoogleAds/Lib/V2/GoogleAdsClient.php | 46 + .../Lib/V2/GoogleAdsClientBuilder.php | 323 + .../GoogleAds/Lib/V2/GoogleAdsException.php | 74 + .../Lib/V2/GoogleAdsExceptionMiddleware.php | 108 + .../Lib/V2/GoogleAdsGapicClientTrait.php | 85 + .../Lib/V2/GoogleAdsLoggingInterceptor.php | 76 + .../Lib/V2/GoogleAdsLoggingUnaryCall.php | 64 + .../Lib/V2/GoogleAdsMetadataTrait.php | 49 + .../Lib/V2/GoogleAdsOperationClient.php | 28 + .../Lib/V2/GoogleAdsResponseMetadata.php | 63 + .../V2/GoogleAdsResponseMetadataCallable.php | 64 + .../Lib/V2/GoogleAdsUnaryCallLogger.php | 155 + .../GoogleAds/Lib/V2/LogMessageFormatter.php | 196 + .../Ads/GoogleAds/Lib/V2/LoggerFactory.php | 51 + .../Lib/V2/ServiceClientFactoryTrait.php | 993 +++ .../Lib/V2/StatusMetadataExtractor.php | 74 + .../Ads/GoogleAds/Util/V2/GoogleAdsErrors.php | 118 + .../GoogleAds/Util/V2/GoogleAdsFailures.php | 56 + .../Ads/GoogleAds/Util/V2/PartialFailures.php | 35 + .../Ads/GoogleAds/Util/V2/ResourceNames.php | 1512 ++++ .../Ads/GoogleAds/V2/Common/AdImageAsset.php | 96 + .../V2/Common/AdMediaBundleAsset.php | 96 + .../GoogleAds/V2/Common/AdScheduleInfo.php | 328 + .../Ads/GoogleAds/V2/Common/AdTextAsset.php | 142 + .../Ads/GoogleAds/V2/Common/AdVideoAsset.php | 96 + .../Ads/GoogleAds/V2/Common/AddressInfo.php | 486 + .../V2/Common/AffiliateLocationFeedItem.php | 663 ++ .../Ads/GoogleAds/V2/Common/AgeRangeInfo.php | 67 + .../Ads/GoogleAds/V2/Common/AppAdInfo.php | 249 + .../V2/Common/AppEngagementAdInfo.php | 180 + .../Ads/GoogleAds/V2/Common/AppFeedItem.php | 457 + .../V2/Common/AppPaymentModelInfo.php | 67 + .../GoogleAds/V2/Common/BasicUserListInfo.php | 67 + .../V2/Common/BidModifierSimulationPoint.php | 957 ++ .../Common/BidModifierSimulationPointList.php | 67 + .../Ads/GoogleAds/V2/Common/CallFeedItem.php | 426 + .../GoogleAds/V2/Common/CallOnlyAdInfo.php | 800 ++ .../GoogleAds/V2/Common/CalloutFeedItem.php | 102 + .../Ads/GoogleAds/V2/Common/CarrierInfo.php | 96 + .../Ads/GoogleAds/V2/Common/ClickLocation.php | 348 + .../V2/Common/CombinedRuleUserListInfo.php | 157 + .../Ads/GoogleAds/V2/Common/Commission.php | 115 + .../GoogleAds/V2/Common/ContentLabelInfo.php | 67 + .../V2/Common/CpcBidSimulationPoint.php | 480 + .../V2/Common/CpcBidSimulationPointList.php | 67 + .../V2/Common/CpvBidSimulationPoint.php | 285 + .../V2/Common/CpvBidSimulationPointList.php | 67 + .../Common/CriterionCategoryAvailability.php | 101 + .../CriterionCategoryChannelAvailability.php | 237 + .../CriterionCategoryLocaleAvailability.php | 205 + .../V2/Common/CrmBasedUserListInfo.php | 230 + .../V2/Common/CustomAffinityInfo.php | 97 + .../GoogleAds/V2/Common/CustomIntentInfo.php | 97 + .../GoogleAds/V2/Common/CustomParameter.php | 160 + .../Ads/GoogleAds/V2/Common/DateRange.php | 159 + .../Common/DateSpecificRuleUserListInfo.php | 221 + .../Ads/GoogleAds/V2/Common/DeviceInfo.php | 67 + .../V2/Common/DisplayCallToAction.php | 236 + .../V2/Common/DisplayUploadAdInfo.php | 124 + .../Ads/GoogleAds/V2/Common/EnhancedCpc.php | 35 + .../V2/Common/ExpandedDynamicSearchAdInfo.php | 96 + .../V2/Common/ExpandedTextAdInfo.php | 474 + .../Common/ExplorerAutoOptimizerSetting.php | 98 + .../V2/Common/ExpressionRuleUserListInfo.php | 83 + .../Ads/GoogleAds/V2/Common/FinalAppUrl.php | 166 + .../GoogleAds/V2/Common/FrequencyCapEntry.php | 135 + .../GoogleAds/V2/Common/FrequencyCapKey.php | 203 + .../Ads/GoogleAds/V2/Common/GenderInfo.php | 67 + .../Ads/GoogleAds/V2/Common/GeoPointInfo.php | 159 + .../Ads/GoogleAds/V2/Common/GmailAdInfo.php | 455 + .../Ads/GoogleAds/V2/Common/GmailTeaser.php | 298 + .../Ads/GoogleAds/V2/Common/HotelAdInfo.php | 33 + .../Common/HotelAdvanceBookingWindowInfo.php | 159 + .../V2/Common/HotelCheckInDayInfo.php | 67 + .../Ads/GoogleAds/V2/Common/HotelCityInfo.php | 96 + .../GoogleAds/V2/Common/HotelClassInfo.php | 96 + .../V2/Common/HotelCountryRegionInfo.php | 96 + .../V2/Common/HotelDateSelectionTypeInfo.php | 67 + .../Ads/GoogleAds/V2/Common/HotelIdInfo.php | 96 + .../V2/Common/HotelLengthOfStayInfo.php | 159 + .../GoogleAds/V2/Common/HotelStateInfo.php | 96 + .../Ads/GoogleAds/V2/Common/ImageAdInfo.php | 694 ++ .../Ads/GoogleAds/V2/Common/ImageAsset.php | 227 + .../GoogleAds/V2/Common/ImageDimension.php | 222 + .../GoogleAds/V2/Common/IncomeRangeInfo.php | 67 + .../V2/Common/InteractionTypeInfo.php | 67 + .../Ads/GoogleAds/V2/Common/IpBlockInfo.php | 100 + .../Ads/GoogleAds/V2/Common/Keyword.php | 130 + .../Ads/GoogleAds/V2/Common/KeywordInfo.php | 130 + .../Common/KeywordPlanHistoricalMetrics.php | 130 + .../Ads/GoogleAds/V2/Common/LanguageInfo.php | 96 + .../V2/Common/LegacyAppInstallAdInfo.php | 319 + .../Common/LegacyResponsiveDisplayAdInfo.php | 1004 +++ .../GoogleAds/V2/Common/ListingBrandInfo.php | 96 + .../V2/Common/ListingCustomAttributeInfo.php | 130 + .../V2/Common/ListingDimensionInfo.php | 434 + .../GoogleAds/V2/Common/ListingGroupInfo.php | 174 + .../GoogleAds/V2/Common/ListingScopeInfo.php | 67 + .../GoogleAds/V2/Common/LocationFeedItem.php | 537 ++ .../GoogleAds/V2/Common/LocationGroupInfo.php | 247 + .../Ads/GoogleAds/V2/Common/LocationInfo.php | 96 + .../V2/Common/LogicalUserListInfo.php | 79 + .../V2/Common/LogicalUserListOperandInfo.php | 96 + .../Ads/GoogleAds/V2/Common/ManualCpc.php | 96 + .../Ads/GoogleAds/V2/Common/ManualCpm.php | 33 + .../Ads/GoogleAds/V2/Common/ManualCpv.php | 33 + .../GoogleAds/V2/Common/MatchingFunction.php | 276 + .../V2/Common/MaximizeConversionValue.php | 121 + .../V2/Common/MaximizeConversions.php | 34 + .../GoogleAds/V2/Common/MediaBundleAsset.php | 114 + .../Ads/GoogleAds/V2/Common/Metrics.php | 7825 +++++++++++++++++ .../V2/Common/MobileAppCategoryInfo.php | 96 + .../V2/Common/MobileApplicationInfo.php | 237 + .../GoogleAds/V2/Common/MobileDeviceInfo.php | 96 + src/Google/Ads/GoogleAds/V2/Common/Money.php | 159 + .../Ads/GoogleAds/V2/Common/Operand.php | 157 + .../V2/Common/Operand/ConstantOperand.php | 273 + .../Common/Operand/FeedAttributeOperand.php | 163 + .../V2/Common/Operand/FunctionOperand.php | 71 + .../Common/Operand/RequestContextOperand.php | 70 + .../V2/Common/Operand_ConstantOperand.php | 16 + .../Common/Operand_FeedAttributeOperand.php | 16 + .../V2/Common/Operand_FunctionOperand.php | 16 + .../Common/Operand_RequestContextOperand.php | 16 + .../V2/Common/OperatingSystemVersionInfo.php | 96 + .../GoogleAds/V2/Common/PageOnePromoted.php | 436 + .../V2/Common/ParentalStatusInfo.php | 67 + .../Ads/GoogleAds/V2/Common/PercentCpc.php | 196 + .../Ads/GoogleAds/V2/Common/PlacementInfo.php | 103 + .../V2/Common/PolicyTopicConstraint.php | 157 + .../CountryConstraint.php | 106 + .../CountryConstraintList.php | 133 + .../ResellerConstraint.php | 37 + ...olicyTopicConstraint_CountryConstraint.php | 16 + ...yTopicConstraint_CountryConstraintList.php | 16 + ...licyTopicConstraint_ResellerConstraint.php | 16 + .../GoogleAds/V2/Common/PolicyTopicEntry.php | 230 + .../V2/Common/PolicyTopicEvidence.php | 250 + .../DestinationMismatch.php | 70 + .../DestinationNotWorking.php | 303 + .../DestinationTextList.php | 71 + .../Common/PolicyTopicEvidence/TextList.php | 70 + .../PolicyTopicEvidence/WebsiteList.php | 73 + ...olicyTopicEvidence_DestinationMismatch.php | 16 + ...icyTopicEvidence_DestinationNotWorking.php | 16 + ...olicyTopicEvidence_DestinationTextList.php | 16 + .../Common/PolicyTopicEvidence_TextList.php | 16 + .../PolicyTopicEvidence_WebsiteList.php | 16 + .../V2/Common/PolicyValidationParameter.php | 155 + .../V2/Common/PolicyViolationKey.php | 184 + .../V2/Common/PreferredContentInfo.php | 67 + .../Ads/GoogleAds/V2/Common/PriceFeedItem.php | 330 + .../Ads/GoogleAds/V2/Common/PriceOffer.php | 295 + .../V2/Common/ProductBiddingCategoryInfo.php | 211 + .../Common/ProductChannelExclusivityInfo.php | 67 + .../V2/Common/ProductChannelInfo.php | 67 + .../V2/Common/ProductConditionInfo.php | 67 + .../Ads/GoogleAds/V2/Common/ProductImage.php | 205 + .../GoogleAds/V2/Common/ProductItemIdInfo.php | 96 + .../GoogleAds/V2/Common/ProductTypeInfo.php | 130 + .../Ads/GoogleAds/V2/Common/ProductVideo.php | 96 + .../GoogleAds/V2/Common/PromotionFeedItem.php | 819 ++ .../Ads/GoogleAds/V2/Common/ProximityInfo.php | 204 + .../V2/Common/RealTimeBiddingSetting.php | 97 + .../V2/Common/ResponsiveDisplayAdInfo.php | 882 ++ .../V2/Common/ResponsiveSearchAdInfo.php | 249 + .../V2/Common/RuleBasedUserListInfo.php | 209 + .../Ads/GoogleAds/V2/Common/Segments.php | 4361 +++++++++ .../ShoppingComparisonListingAdInfo.php | 102 + .../V2/Common/ShoppingProductAdInfo.php | 33 + .../V2/Common/ShoppingSmartAdInfo.php | 33 + .../V2/Common/SimilarUserListInfo.php | 97 + .../GoogleAds/V2/Common/SitelinkFeedItem.php | 490 ++ .../V2/Common/StructuredSnippetFeedItem.php | 140 + .../Ads/GoogleAds/V2/Common/TagSnippet.php | 243 + .../Ads/GoogleAds/V2/Common/TargetCpa.php | 247 + .../V2/Common/TargetCpaSimulationPoint.php | 480 + .../Common/TargetCpaSimulationPointList.php | 67 + .../Ads/GoogleAds/V2/Common/TargetCpm.php | 34 + .../V2/Common/TargetImpressionShare.php | 214 + .../V2/Common/TargetOutrankShare.php | 416 + .../GoogleAds/V2/Common/TargetRestriction.php | 166 + .../Ads/GoogleAds/V2/Common/TargetRoas.php | 241 + .../Ads/GoogleAds/V2/Common/TargetSpend.php | 184 + .../GoogleAds/V2/Common/TargetingSetting.php | 73 + .../Ads/GoogleAds/V2/Common/TextAdInfo.php | 222 + .../Ads/GoogleAds/V2/Common/TextAsset.php | 96 + .../Ads/GoogleAds/V2/Common/TextLabel.php | 177 + .../V2/Common/TextMessageFeedItem.php | 367 + .../Ads/GoogleAds/V2/Common/TopicInfo.php | 144 + .../V2/Common/UnknownListingDimensionInfo.php | 33 + .../Ads/GoogleAds/V2/Common/UrlCollection.php | 227 + .../GoogleAds/V2/Common/UserInterestInfo.php | 96 + .../V2/Common/UserListActionInfo.php | 156 + .../V2/Common/UserListDateRuleItemInfo.php | 225 + .../Ads/GoogleAds/V2/Common/UserListInfo.php | 97 + .../V2/Common/UserListLogicalRuleInfo.php | 102 + .../V2/Common/UserListNumberRuleItemInfo.php | 150 + .../GoogleAds/V2/Common/UserListRuleInfo.php | 126 + .../V2/Common/UserListRuleItemGroupInfo.php | 67 + .../V2/Common/UserListRuleItemInfo.php | 231 + .../V2/Common/UserListStringRuleItemInfo.php | 156 + src/Google/Ads/GoogleAds/V2/Common/Value.php | 182 + .../Ads/GoogleAds/V2/Common/VideoAdInfo.php | 217 + .../V2/Common/VideoBumperInStreamAdInfo.php | 97 + .../VideoNonSkippableInStreamAdInfo.php | 97 + .../V2/Common/VideoOutstreamAdInfo.php | 160 + .../V2/Common/VideoTrueViewInStreamAdInfo.php | 242 + .../V2/Common/WebpageConditionInfo.php | 164 + .../Ads/GoogleAds/V2/Common/WebpageInfo.php | 170 + .../V2/Common/YouTubeChannelInfo.php | 96 + .../GoogleAds/V2/Common/YouTubeVideoInfo.php | 96 + .../GoogleAds/V2/Common/YoutubeVideoAsset.php | 102 + .../GoogleAds/V2/Enums/AccessReasonEnum.php | 33 + .../Enums/AccessReasonEnum/AccessReason.php | 92 + .../Enums/AccessReasonEnum_AccessReason.php | 16 + .../Ads/GoogleAds/V2/Enums/AccessRoleEnum.php | 33 + .../V2/Enums/AccessRoleEnum/AccessRole.php | 78 + .../V2/Enums/AccessRoleEnum_AccessRole.php | 16 + .../Enums/AccountBudgetProposalStatusEnum.php | 33 + .../AccountBudgetProposalStatus.php | 96 + ...StatusEnum_AccountBudgetProposalStatus.php | 16 + .../Enums/AccountBudgetProposalTypeEnum.php | 33 + .../AccountBudgetProposalType.php | 85 + ...osalTypeEnum_AccountBudgetProposalType.php | 16 + .../V2/Enums/AccountBudgetStatusEnum.php | 33 + .../AccountBudgetStatus.php | 78 + ...ntBudgetStatusEnum_AccountBudgetStatus.php | 16 + .../AdCustomizerPlaceholderFieldEnum.php | 33 + .../AdCustomizerPlaceholderField.php | 85 + ...FieldEnum_AdCustomizerPlaceholderField.php | 16 + .../V2/Enums/AdGroupAdRotationModeEnum.php | 34 + .../AdGroupAdRotationMode.php | 72 + ...RotationModeEnum_AdGroupAdRotationMode.php | 16 + .../V2/Enums/AdGroupAdStatusEnum.php | 33 + .../AdGroupAdStatusEnum/AdGroupAdStatus.php | 79 + .../AdGroupAdStatusEnum_AdGroupAdStatus.php | 16 + .../AdGroupCriterionApprovalStatusEnum.php | 33 + .../AdGroupCriterionApprovalStatus.php | 85 + ...tusEnum_AdGroupCriterionApprovalStatus.php | 16 + .../V2/Enums/AdGroupCriterionStatusEnum.php | 33 + .../AdGroupCriterionStatus.php | 79 + ...erionStatusEnum_AdGroupCriterionStatus.php | 16 + .../GoogleAds/V2/Enums/AdGroupStatusEnum.php | 33 + .../Enums/AdGroupStatusEnum/AdGroupStatus.php | 79 + .../Enums/AdGroupStatusEnum_AdGroupStatus.php | 16 + .../GoogleAds/V2/Enums/AdGroupTypeEnum.php | 35 + .../V2/Enums/AdGroupTypeEnum/AdGroupType.php | 142 + .../V2/Enums/AdGroupTypeEnum_AdGroupType.php | 16 + .../GoogleAds/V2/Enums/AdNetworkTypeEnum.php | 33 + .../Enums/AdNetworkTypeEnum/AdNetworkType.php | 99 + .../Enums/AdNetworkTypeEnum_AdNetworkType.php | 16 + .../Enums/AdServingOptimizationStatusEnum.php | 33 + .../AdServingOptimizationStatus.php | 96 + ...StatusEnum_AdServingOptimizationStatus.php | 16 + .../Ads/GoogleAds/V2/Enums/AdStrengthEnum.php | 33 + .../V2/Enums/AdStrengthEnum/AdStrength.php | 99 + .../V2/Enums/AdStrengthEnum_AdStrength.php | 16 + .../Ads/GoogleAds/V2/Enums/AdTypeEnum.php | 33 + .../GoogleAds/V2/Enums/AdTypeEnum/AdType.php | 192 + .../GoogleAds/V2/Enums/AdTypeEnum_AdType.php | 16 + .../Enums/AdvertisingChannelSubTypeEnum.php | 33 + .../AdvertisingChannelSubType.php | 152 + ...lSubTypeEnum_AdvertisingChannelSubType.php | 16 + .../V2/Enums/AdvertisingChannelTypeEnum.php | 33 + .../AdvertisingChannelType.php | 101 + ...ChannelTypeEnum_AdvertisingChannelType.php | 16 + ...iliateLocationFeedRelationshipTypeEnum.php | 34 + .../AffiliateLocationFeedRelationshipType.php | 64 + ..._AffiliateLocationFeedRelationshipType.php | 16 + .../AffiliateLocationPlaceholderFieldEnum.php | 33 + .../AffiliateLocationPlaceholderField.php | 134 + ...Enum_AffiliateLocationPlaceholderField.php | 16 + .../GoogleAds/V2/Enums/AgeRangeTypeEnum.php | 33 + .../Enums/AgeRangeTypeEnum/AgeRangeType.php | 106 + .../Enums/AgeRangeTypeEnum_AgeRangeType.php | 16 + .../V2/Enums/AppCampaignAppStoreEnum.php | 33 + .../AppCampaignAppStore.php | 71 + ...mpaignAppStoreEnum_AppCampaignAppStore.php | 16 + ...AppCampaignBiddingStrategyGoalTypeEnum.php | 34 + .../AppCampaignBiddingStrategyGoalType.php | 92 + ...num_AppCampaignBiddingStrategyGoalType.php | 16 + .../V2/Enums/AppPaymentModelTypeEnum.php | 33 + .../AppPaymentModelType.php | 64 + ...ymentModelTypeEnum_AppPaymentModelType.php | 16 + .../V2/Enums/AppPlaceholderFieldEnum.php | 33 + .../AppPlaceholderField.php | 120 + ...aceholderFieldEnum_AppPlaceholderField.php | 16 + .../Ads/GoogleAds/V2/Enums/AppStoreEnum.php | 33 + .../V2/Enums/AppStoreEnum/AppStore.php | 71 + .../V2/Enums/AppStoreEnum_AppStore.php | 16 + .../Enums/AppUrlOperatingSystemTypeEnum.php | 33 + .../AppUrlOperatingSystemType.php | 71 + ...stemTypeEnum_AppUrlOperatingSystemType.php | 16 + .../GoogleAds/V2/Enums/AssetFieldTypeEnum.php | 33 + .../AssetFieldTypeEnum/AssetFieldType.php | 99 + .../AssetFieldTypeEnum_AssetFieldType.php | 16 + .../V2/Enums/AssetPerformanceLabelEnum.php | 33 + .../AssetPerformanceLabel.php | 95 + ...ormanceLabelEnum_AssetPerformanceLabel.php | 16 + .../Ads/GoogleAds/V2/Enums/AssetTypeEnum.php | 33 + .../V2/Enums/AssetTypeEnum/AssetType.php | 85 + .../V2/Enums/AssetTypeEnum_AssetType.php | 16 + .../V2/Enums/AttributionModelEnum.php | 35 + .../AttributionModelEnum/AttributionModel.php | 113 + .../AttributionModelEnum_AttributionModel.php | 16 + .../V2/Enums/BidModifierSourceEnum.php | 33 + .../BidModifierSource.php | 72 + ...idModifierSourceEnum_BidModifierSource.php | 16 + .../GoogleAds/V2/Enums/BiddingSourceEnum.php | 33 + .../Enums/BiddingSourceEnum/BiddingSource.php | 80 + .../Enums/BiddingSourceEnum_BiddingSource.php | 16 + .../V2/Enums/BiddingStrategyStatusEnum.php | 33 + .../BiddingStrategyStatus.php | 72 + ...rategyStatusEnum_BiddingStrategyStatus.php | 16 + .../V2/Enums/BiddingStrategyTypeEnum.php | 33 + .../BiddingStrategyType.php | 183 + ...ngStrategyTypeEnum_BiddingStrategyType.php | 16 + .../V2/Enums/BillingSetupStatusEnum.php | 33 + .../BillingSetupStatus.php | 87 + ...lingSetupStatusEnum_BillingSetupStatus.php | 16 + .../V2/Enums/BrandSafetySuitabilityEnum.php | 33 + .../BrandSafetySuitability.php | 98 + ...SuitabilityEnum_BrandSafetySuitability.php | 16 + .../V2/Enums/BudgetDeliveryMethodEnum.php | 34 + .../BudgetDeliveryMethod.php | 73 + ...eliveryMethodEnum_BudgetDeliveryMethod.php | 16 + .../GoogleAds/V2/Enums/BudgetPeriodEnum.php | 33 + .../Enums/BudgetPeriodEnum/BudgetPeriod.php | 78 + .../Enums/BudgetPeriodEnum_BudgetPeriod.php | 16 + .../GoogleAds/V2/Enums/BudgetStatusEnum.php | 33 + .../Enums/BudgetStatusEnum/BudgetStatus.php | 71 + .../Enums/BudgetStatusEnum_BudgetStatus.php | 16 + .../Ads/GoogleAds/V2/Enums/BudgetTypeEnum.php | 33 + .../V2/Enums/BudgetTypeEnum/BudgetType.php | 89 + .../V2/Enums/BudgetTypeEnum_BudgetType.php | 16 + .../CallConversionReportingStateEnum.php | 34 + .../CallConversionReportingState.php | 80 + ...StateEnum_CallConversionReportingState.php | 16 + .../V2/Enums/CallPlaceholderFieldEnum.php | 33 + .../CallPlaceholderField.php | 99 + ...ceholderFieldEnum_CallPlaceholderField.php | 16 + .../V2/Enums/CalloutPlaceholderFieldEnum.php | 33 + .../CalloutPlaceholderField.php | 64 + ...olderFieldEnum_CalloutPlaceholderField.php | 16 + .../V2/Enums/CampaignCriterionStatusEnum.php | 33 + .../CampaignCriterionStatus.php | 79 + ...rionStatusEnum_CampaignCriterionStatus.php | 16 + .../V2/Enums/CampaignDraftStatusEnum.php | 33 + .../CampaignDraftStatus.php | 98 + ...ignDraftStatusEnum_CampaignDraftStatus.php | 16 + .../V2/Enums/CampaignExperimentStatusEnum.php | 33 + .../CampaignExperimentStatus.php | 126 + ...entStatusEnum_CampaignExperimentStatus.php | 16 + ...CampaignExperimentTrafficSplitTypeEnum.php | 33 + .../CampaignExperimentTrafficSplitType.php | 74 + ...num_CampaignExperimentTrafficSplitType.php | 16 + .../V2/Enums/CampaignExperimentTypeEnum.php | 33 + .../CampaignExperimentType.php | 84 + ...erimentTypeEnum_CampaignExperimentType.php | 16 + .../V2/Enums/CampaignServingStatusEnum.php | 33 + .../CampaignServingStatus.php | 93 + ...ervingStatusEnum_CampaignServingStatus.php | 16 + .../V2/Enums/CampaignSharedSetStatusEnum.php | 33 + .../CampaignSharedSetStatus.php | 71 + ...dSetStatusEnum_CampaignSharedSetStatus.php | 16 + .../GoogleAds/V2/Enums/CampaignStatusEnum.php | 33 + .../CampaignStatusEnum/CampaignStatus.php | 78 + .../CampaignStatusEnum_CampaignStatus.php | 16 + .../V2/Enums/ChangeStatusOperationEnum.php | 33 + .../ChangeStatusOperation.php | 79 + ...tusOperationEnum_ChangeStatusOperation.php | 16 + .../V2/Enums/ChangeStatusResourceTypeEnum.php | 34 + .../ChangeStatusResourceType.php | 128 + ...ourceTypeEnum_ChangeStatusResourceType.php | 16 + .../Ads/GoogleAds/V2/Enums/ClickTypeEnum.php | 33 + .../V2/Enums/ClickTypeEnum/ClickType.php | 428 + .../V2/Enums/ClickTypeEnum_ClickType.php | 16 + .../V2/Enums/ContentLabelTypeEnum.php | 33 + .../ContentLabelTypeEnum/ContentLabelType.php | 169 + .../ContentLabelTypeEnum_ContentLabelType.php | 16 + .../V2/Enums/ConversionActionCategoryEnum.php | 34 + .../ConversionActionCategory.php | 99 + ...nCategoryEnum_ConversionActionCategory.php | 16 + .../ConversionActionCountingTypeEnum.php | 34 + .../ConversionActionCountingType.php | 72 + ...gTypeEnum_ConversionActionCountingType.php | 16 + .../V2/Enums/ConversionActionStatusEnum.php | 33 + .../ConversionActionStatus.php | 79 + ...ctionStatusEnum_ConversionActionStatus.php | 16 + .../V2/Enums/ConversionActionTypeEnum.php | 33 + .../ConversionActionType.php | 118 + ...ionActionTypeEnum_ConversionActionType.php | 16 + .../V2/Enums/ConversionAdjustmentTypeEnum.php | 33 + .../ConversionAdjustmentType.php | 73 + ...tmentTypeEnum_ConversionAdjustmentType.php | 16 + .../ConversionAttributionEventTypeEnum.php | 33 + .../ConversionAttributionEventType.php | 71 + ...ypeEnum_ConversionAttributionEventType.php | 16 + .../V2/Enums/ConversionLagBucketEnum.php | 34 + .../ConversionLagBucket.php | 207 + ...rsionLagBucketEnum_ConversionLagBucket.php | 16 + .../ConversionOrAdjustmentLagBucketEnum.php | 34 + .../ConversionOrAdjustmentLagBucket.php | 384 + ...etEnum_ConversionOrAdjustmentLagBucket.php | 16 + ...ionCategoryChannelAvailabilityModeEnum.php | 36 + ...iterionCategoryChannelAvailabilityMode.php | 80 + ...iterionCategoryChannelAvailabilityMode.php | 16 + ...rionCategoryLocaleAvailabilityModeEnum.php | 35 + ...riterionCategoryLocaleAvailabilityMode.php | 88 + ...riterionCategoryLocaleAvailabilityMode.php | 16 + .../CriterionSystemServingStatusEnum.php | 33 + .../CriterionSystemServingStatus.php | 71 + ...tatusEnum_CriterionSystemServingStatus.php | 16 + .../GoogleAds/V2/Enums/CriterionTypeEnum.php | 33 + .../Enums/CriterionTypeEnum/CriterionType.php | 267 + .../Enums/CriterionTypeEnum_CriterionType.php | 16 + .../V2/Enums/CustomInterestMemberTypeEnum.php | 33 + .../CustomInterestMemberType.php | 71 + ...emberTypeEnum_CustomInterestMemberType.php | 16 + .../V2/Enums/CustomInterestStatusEnum.php | 33 + .../CustomInterestStatus.php | 72 + ...nterestStatusEnum_CustomInterestStatus.php | 16 + .../V2/Enums/CustomInterestTypeEnum.php | 33 + .../CustomInterestType.php | 71 + ...tomInterestTypeEnum_CustomInterestType.php | 16 + .../V2/Enums/CustomPlaceholderFieldEnum.php | 35 + .../CustomPlaceholderField.php | 220 + ...holderFieldEnum_CustomPlaceholderField.php | 16 + .../Enums/CustomerMatchUploadKeyTypeEnum.php | 33 + .../CustomerMatchUploadKeyType.php | 80 + ...KeyTypeEnum_CustomerMatchUploadKeyType.php | 16 + ...ConversionEligibilityFailureReasonEnum.php | 34 + ...yPerConversionEligibilityFailureReason.php | 108 + ...yPerConversionEligibilityFailureReason.php | 16 + .../V2/Enums/DataDrivenModelStatusEnum.php | 33 + .../DataDrivenModelStatus.php | 91 + ...nModelStatusEnum_DataDrivenModelStatus.php | 16 + .../Ads/GoogleAds/V2/Enums/DayOfWeekEnum.php | 33 + .../V2/Enums/DayOfWeekEnum/DayOfWeek.php | 106 + .../V2/Enums/DayOfWeekEnum_DayOfWeek.php | 16 + .../Ads/GoogleAds/V2/Enums/DeviceEnum.php | 33 + .../GoogleAds/V2/Enums/DeviceEnum/Device.php | 92 + .../GoogleAds/V2/Enums/DeviceEnum_Device.php | 16 + .../V2/Enums/DisplayAdFormatSettingEnum.php | 33 + .../DisplayAdFormatSetting.php | 79 + ...rmatSettingEnum_DisplayAdFormatSetting.php | 16 + .../V2/Enums/DisplayUploadProductTypeEnum.php | 37 + .../DisplayUploadProductType.php | 146 + ...oductTypeEnum_DisplayUploadProductType.php | 16 + .../GoogleAds/V2/Enums/DistanceBucketEnum.php | 34 + .../DistanceBucketEnum/DistanceBucket.php | 247 + .../DistanceBucketEnum_DistanceBucket.php | 16 + .../Enums/DsaPageFeedCriterionFieldEnum.php | 33 + .../DsaPageFeedCriterionField.php | 72 + ...ionFieldEnum_DsaPageFeedCriterionField.php | 16 + .../Enums/EducationPlaceholderFieldEnum.php | 35 + .../EducationPlaceholderField.php | 190 + ...derFieldEnum_EducationPlaceholderField.php | 16 + .../V2/Enums/ExtensionSettingDeviceEnum.php | 33 + .../ExtensionSettingDevice.php | 73 + ...ttingDeviceEnum_ExtensionSettingDevice.php | 16 + .../GoogleAds/V2/Enums/ExtensionTypeEnum.php | 34 + .../Enums/ExtensionTypeEnum/ExtensionType.php | 134 + .../Enums/ExtensionTypeEnum_ExtensionType.php | 16 + .../V2/Enums/ExternalConversionSourceEnum.php | 34 + .../ExternalConversionSource.php | 228 + ...ionSourceEnum_ExternalConversionSource.php | 16 + .../V2/Enums/FeedAttributeTypeEnum.php | 33 + .../FeedAttributeType.php | 148 + ...eedAttributeTypeEnum_FeedAttributeType.php | 16 + .../FeedItemQualityApprovalStatusEnum.php | 34 + .../FeedItemQualityApprovalStatus.php | 72 + ...atusEnum_FeedItemQualityApprovalStatus.php | 16 + .../FeedItemQualityDisapprovalReasonEnum.php | 34 + .../FeedItemQualityDisapprovalReason.php | 183 + ...nEnum_FeedItemQualityDisapprovalReason.php | 16 + .../GoogleAds/V2/Enums/FeedItemStatusEnum.php | 33 + .../FeedItemStatusEnum/FeedItemStatus.php | 71 + .../FeedItemStatusEnum_FeedItemStatus.php | 16 + .../V2/Enums/FeedItemTargetDeviceEnum.php | 34 + .../FeedItemTargetDevice.php | 64 + ...mTargetDeviceEnum_FeedItemTargetDevice.php | 16 + .../V2/Enums/FeedItemTargetTypeEnum.php | 33 + .../FeedItemTargetType.php | 78 + ...dItemTargetTypeEnum_FeedItemTargetType.php | 16 + .../V2/Enums/FeedItemValidationStatusEnum.php | 33 + .../FeedItemValidationStatus.php | 78 + ...ionStatusEnum_FeedItemValidationStatus.php | 16 + .../GoogleAds/V2/Enums/FeedLinkStatusEnum.php | 33 + .../FeedLinkStatusEnum/FeedLinkStatus.php | 71 + .../FeedLinkStatusEnum_FeedLinkStatus.php | 16 + .../V2/Enums/FeedMappingCriterionTypeEnum.php | 33 + .../FeedMappingCriterionType.php | 71 + ...erionTypeEnum_FeedMappingCriterionType.php | 16 + .../V2/Enums/FeedMappingStatusEnum.php | 33 + .../FeedMappingStatus.php | 71 + ...eedMappingStatusEnum_FeedMappingStatus.php | 16 + .../Ads/GoogleAds/V2/Enums/FeedOriginEnum.php | 33 + .../V2/Enums/FeedOriginEnum/FeedOrigin.php | 74 + .../V2/Enums/FeedOriginEnum_FeedOrigin.php | 16 + .../Ads/GoogleAds/V2/Enums/FeedStatusEnum.php | 33 + .../V2/Enums/FeedStatusEnum/FeedStatus.php | 71 + .../V2/Enums/FeedStatusEnum_FeedStatus.php | 16 + .../V2/Enums/FlightPlaceholderFieldEnum.php | 35 + .../FlightPlaceholderField.php | 197 + ...holderFieldEnum_FlightPlaceholderField.php | 16 + .../V2/Enums/FrequencyCapEventTypeEnum.php | 33 + .../FrequencyCapEventType.php | 71 + ...CapEventTypeEnum_FrequencyCapEventType.php | 16 + .../V2/Enums/FrequencyCapLevelEnum.php | 33 + .../FrequencyCapLevel.php | 79 + ...requencyCapLevelEnum_FrequencyCapLevel.php | 16 + .../V2/Enums/FrequencyCapTimeUnitEnum.php | 33 + .../FrequencyCapTimeUnit.php | 78 + ...cyCapTimeUnitEnum_FrequencyCapTimeUnit.php | 16 + .../Ads/GoogleAds/V2/Enums/GenderTypeEnum.php | 33 + .../V2/Enums/GenderTypeEnum/GenderType.php | 78 + .../V2/Enums/GenderTypeEnum_GenderType.php | 16 + .../V2/Enums/GeoTargetConstantStatusEnum.php | 33 + .../GeoTargetConstantStatus.php | 72 + ...tantStatusEnum_GeoTargetConstantStatus.php | 16 + .../V2/Enums/GeoTargetingRestrictionEnum.php | 33 + .../GeoTargetingRestriction.php | 66 + ...estrictionEnum_GeoTargetingRestriction.php | 16 + .../V2/Enums/GeoTargetingTypeEnum.php | 33 + .../GeoTargetingTypeEnum/GeoTargetingType.php | 71 + .../GeoTargetingTypeEnum_GeoTargetingType.php | 16 + .../V2/Enums/GoogleAdsFieldCategoryEnum.php | 34 + .../GoogleAdsFieldCategory.php | 89 + ...eldCategoryEnum_GoogleAdsFieldCategory.php | 16 + .../V2/Enums/GoogleAdsFieldDataTypeEnum.php | 33 + .../GoogleAdsFieldDataType.php | 148 + ...eldDataTypeEnum_GoogleAdsFieldDataType.php | 16 + .../V2/Enums/HotelDateSelectionTypeEnum.php | 33 + .../HotelDateSelectionType.php | 71 + ...lectionTypeEnum_HotelDateSelectionType.php | 16 + .../V2/Enums/HotelPlaceholderFieldEnum.php | 35 + .../HotelPlaceholderField.php | 215 + ...eholderFieldEnum_HotelPlaceholderField.php | 16 + .../GoogleAds/V2/Enums/HotelRateTypeEnum.php | 33 + .../Enums/HotelRateTypeEnum/HotelRateType.php | 91 + .../Enums/HotelRateTypeEnum_HotelRateType.php | 16 + .../V2/Enums/IncomeRangeTypeEnum.php | 33 + .../IncomeRangeTypeEnum/IncomeRangeType.php | 106 + .../IncomeRangeTypeEnum_IncomeRangeType.php | 16 + .../V2/Enums/InteractionEventTypeEnum.php | 33 + .../InteractionEventType.php | 91 + ...tionEventTypeEnum_InteractionEventType.php | 16 + .../V2/Enums/InteractionTypeEnum.php | 33 + .../InteractionTypeEnum/InteractionType.php | 64 + .../InteractionTypeEnum_InteractionType.php | 16 + .../V2/Enums/JobPlaceholderFieldEnum.php | 35 + .../JobPlaceholderField.php | 194 + ...aceholderFieldEnum_JobPlaceholderField.php | 16 + .../V2/Enums/KeywordMatchTypeEnum.php | 33 + .../KeywordMatchTypeEnum/KeywordMatchType.php | 78 + .../KeywordMatchTypeEnum_KeywordMatchType.php | 16 + .../Enums/KeywordPlanCompetitionLevelEnum.php | 37 + .../KeywordPlanCompetitionLevel.php | 78 + ...nLevelEnum_KeywordPlanCompetitionLevel.php | 16 + .../Enums/KeywordPlanForecastIntervalEnum.php | 33 + .../KeywordPlanForecastInterval.php | 81 + ...tervalEnum_KeywordPlanForecastInterval.php | 16 + .../V2/Enums/KeywordPlanNetworkEnum.php | 33 + .../KeywordPlanNetwork.php | 71 + ...wordPlanNetworkEnum_KeywordPlanNetwork.php | 16 + .../GoogleAds/V2/Enums/LabelStatusEnum.php | 33 + .../V2/Enums/LabelStatusEnum/LabelStatus.php | 71 + .../V2/Enums/LabelStatusEnum_LabelStatus.php | 16 + .../Enums/LegacyAppInstallAdAppStoreEnum.php | 33 + .../LegacyAppInstallAdAppStore.php | 92 + ...ppStoreEnum_LegacyAppInstallAdAppStore.php | 16 + .../Enums/ListingCustomAttributeIndexEnum.php | 33 + .../ListingCustomAttributeIndex.php | 92 + ...eIndexEnum_ListingCustomAttributeIndex.php | 16 + .../V2/Enums/ListingGroupTypeEnum.php | 33 + .../ListingGroupTypeEnum/ListingGroupType.php | 73 + .../ListingGroupTypeEnum_ListingGroupType.php | 16 + .../V2/Enums/LocalPlaceholderFieldEnum.php | 35 + .../LocalPlaceholderField.php | 206 + ...eholderFieldEnum_LocalPlaceholderField.php | 16 + ...onExtensionTargetingCriterionFieldEnum.php | 33 + ...cationExtensionTargetingCriterionField.php | 99 + ...cationExtensionTargetingCriterionField.php | 16 + .../V2/Enums/LocationGroupRadiusUnitsEnum.php | 33 + .../LocationGroupRadiusUnits.php | 71 + ...diusUnitsEnum_LocationGroupRadiusUnits.php | 16 + .../V2/Enums/LocationPlaceholderFieldEnum.php | 33 + .../LocationPlaceholderField.php | 113 + ...lderFieldEnum_LocationPlaceholderField.php | 16 + .../V2/Enums/ManagerLinkStatusEnum.php | 33 + .../ManagerLinkStatus.php | 94 + ...anagerLinkStatusEnum_ManagerLinkStatus.php | 16 + .../Enums/MatchingFunctionContextTypeEnum.php | 33 + .../MatchingFunctionContextType.php | 71 + ...xtTypeEnum_MatchingFunctionContextType.php | 16 + .../V2/Enums/MatchingFunctionOperatorEnum.php | 33 + .../MatchingFunctionOperator.php | 98 + ...nOperatorEnum_MatchingFunctionOperator.php | 16 + .../Ads/GoogleAds/V2/Enums/MediaTypeEnum.php | 33 + .../V2/Enums/MediaTypeEnum/MediaType.php | 100 + .../V2/Enums/MediaTypeEnum_MediaType.php | 16 + .../V2/Enums/MerchantCenterLinkStatusEnum.php | 34 + .../MerchantCenterLinkStatus.php | 73 + ...inkStatusEnum_MerchantCenterLinkStatus.php | 16 + .../V2/Enums/MessagePlaceholderFieldEnum.php | 33 + .../MessagePlaceholderField.php | 94 + ...olderFieldEnum_MessagePlaceholderField.php | 16 + .../Ads/GoogleAds/V2/Enums/MimeTypeEnum.php | 33 + .../V2/Enums/MimeTypeEnum/MimeType.php | 142 + .../V2/Enums/MimeTypeEnum_MimeType.php | 16 + .../GoogleAds/V2/Enums/MinuteOfHourEnum.php | 33 + .../Enums/MinuteOfHourEnum/MinuteOfHour.php | 85 + .../Enums/MinuteOfHourEnum_MinuteOfHour.php | 16 + .../V2/Enums/MobileDeviceTypeEnum.php | 33 + .../MobileDeviceTypeEnum/MobileDeviceType.php | 71 + .../MobileDeviceTypeEnum_MobileDeviceType.php | 16 + .../GoogleAds/V2/Enums/MonthOfYearEnum.php | 33 + .../V2/Enums/MonthOfYearEnum/MonthOfYear.php | 141 + .../V2/Enums/MonthOfYearEnum_MonthOfYear.php | 16 + .../V2/Enums/MutateJobStatusEnum.php | 33 + .../MutateJobStatusEnum/MutateJobStatus.php | 78 + .../MutateJobStatusEnum_MutateJobStatus.php | 16 + .../V2/Enums/NegativeGeoTargetTypeEnum.php | 33 + .../NegativeGeoTargetType.php | 73 + ...eoTargetTypeEnum_NegativeGeoTargetType.php | 16 + ...OperatingSystemVersionOperatorTypeEnum.php | 33 + .../OperatingSystemVersionOperatorType.php | 71 + ...num_OperatingSystemVersionOperatorType.php | 16 + .../Enums/PageOnePromotedStrategyGoalEnum.php | 34 + .../PageOnePromotedStrategyGoal.php | 71 + ...gyGoalEnum_PageOnePromotedStrategyGoal.php | 16 + .../V2/Enums/ParentalStatusTypeEnum.php | 33 + .../ParentalStatusType.php | 78 + ...entalStatusTypeEnum_ParentalStatusType.php | 16 + .../GoogleAds/V2/Enums/PaymentModeEnum.php | 33 + .../V2/Enums/PaymentModeEnum/PaymentMode.php | 84 + .../V2/Enums/PaymentModeEnum_PaymentMode.php | 16 + .../V2/Enums/PlaceholderTypeEnum.php | 33 + .../PlaceholderTypeEnum/PlaceholderType.php | 210 + .../PlaceholderTypeEnum_PlaceholderType.php | 16 + .../GoogleAds/V2/Enums/PlacementTypeEnum.php | 33 + .../Enums/PlacementTypeEnum/PlacementType.php | 92 + .../Enums/PlacementTypeEnum_PlacementType.php | 16 + .../V2/Enums/PolicyApprovalStatusEnum.php | 33 + .../PolicyApprovalStatus.php | 89 + ...pprovalStatusEnum_PolicyApprovalStatus.php | 16 + .../V2/Enums/PolicyReviewStatusEnum.php | 33 + .../PolicyReviewStatus.php | 80 + ...icyReviewStatusEnum_PolicyReviewStatus.php | 16 + .../V2/Enums/PolicyTopicEntryTypeEnum.php | 33 + .../PolicyTopicEntryType.php | 102 + ...opicEntryTypeEnum_PolicyTopicEntryType.php | 16 + ...EvidenceDestinationMismatchUrlTypeEnum.php | 34 + ...opicEvidenceDestinationMismatchUrlType.php | 93 + ...opicEvidenceDestinationMismatchUrlType.php | 16 + ...videnceDestinationNotWorkingDeviceEnum.php | 34 + ...picEvidenceDestinationNotWorkingDevice.php | 79 + ...picEvidenceDestinationNotWorkingDevice.php | 16 + ...eDestinationNotWorkingDnsErrorTypeEnum.php | 34 + ...denceDestinationNotWorkingDnsErrorType.php | 74 + ...denceDestinationNotWorkingDnsErrorType.php | 16 + .../V2/Enums/PositiveGeoTargetTypeEnum.php | 33 + .../PositiveGeoTargetType.php | 81 + ...eoTargetTypeEnum_PositiveGeoTargetType.php | 16 + .../V2/Enums/PreferredContentTypeEnum.php | 33 + .../PreferredContentType.php | 64 + ...edContentTypeEnum_PreferredContentType.php | 16 + .../PriceExtensionPriceQualifierEnum.php | 33 + .../PriceExtensionPriceQualifier.php | 78 + ...ifierEnum_PriceExtensionPriceQualifier.php | 16 + .../V2/Enums/PriceExtensionPriceUnitEnum.php | 33 + .../PriceExtensionPriceUnit.php | 99 + ...nPriceUnitEnum_PriceExtensionPriceUnit.php | 16 + .../V2/Enums/PriceExtensionTypeEnum.php | 33 + .../PriceExtensionType.php | 120 + ...ceExtensionTypeEnum_PriceExtensionType.php | 16 + .../V2/Enums/PricePlaceholderFieldEnum.php | 33 + .../PricePlaceholderField.php | 465 + ...eholderFieldEnum_PricePlaceholderField.php | 16 + .../Enums/ProductBiddingCategoryLevelEnum.php | 33 + .../ProductBiddingCategoryLevel.php | 92 + ...yLevelEnum_ProductBiddingCategoryLevel.php | 16 + .../ProductBiddingCategoryStatusEnum.php | 33 + .../ProductBiddingCategoryStatus.php | 71 + ...tatusEnum_ProductBiddingCategoryStatus.php | 16 + .../GoogleAds/V2/Enums/ProductChannelEnum.php | 33 + .../ProductChannelEnum/ProductChannel.php | 71 + .../ProductChannelEnum_ProductChannel.php | 16 + .../Enums/ProductChannelExclusivityEnum.php | 33 + .../ProductChannelExclusivity.php | 73 + ...lusivityEnum_ProductChannelExclusivity.php | 16 + .../V2/Enums/ProductConditionEnum.php | 33 + .../ProductConditionEnum/ProductCondition.php | 78 + .../ProductConditionEnum_ProductCondition.php | 16 + .../V2/Enums/ProductTypeLevelEnum.php | 33 + .../ProductTypeLevelEnum/ProductTypeLevel.php | 92 + .../ProductTypeLevelEnum_ProductTypeLevel.php | 16 + ...PromotionExtensionDiscountModifierEnum.php | 34 + .../PromotionExtensionDiscountModifier.php | 64 + ...num_PromotionExtensionDiscountModifier.php | 16 + .../Enums/PromotionExtensionOccasionEnum.php | 35 + .../PromotionExtensionOccasion.php | 316 + ...ccasionEnum_PromotionExtensionOccasion.php | 16 + .../Enums/PromotionPlaceholderFieldEnum.php | 33 + .../PromotionPlaceholderField.php | 164 + ...derFieldEnum_PromotionPlaceholderField.php | 16 + .../V2/Enums/ProximityRadiusUnitsEnum.php | 33 + .../ProximityRadiusUnits.php | 71 + ...tyRadiusUnitsEnum_ProximityRadiusUnits.php | 16 + .../V2/Enums/QualityScoreBucketEnum.php | 33 + .../QualityScoreBucket.php | 78 + ...lityScoreBucketEnum_QualityScoreBucket.php | 16 + .../Enums/RealEstatePlaceholderFieldEnum.php | 35 + .../RealEstatePlaceholderField.php | 198 + ...erFieldEnum_RealEstatePlaceholderField.php | 16 + .../V2/Enums/RecommendationTypeEnum.php | 33 + .../RecommendationType.php | 161 + ...ommendationTypeEnum_RecommendationType.php | 16 + .../Enums/SearchEngineResultsPageTypeEnum.php | 33 + .../SearchEngineResultsPageType.php | 79 + ...geTypeEnum_SearchEngineResultsPageType.php | 16 + .../V2/Enums/SearchTermMatchTypeEnum.php | 33 + .../SearchTermMatchType.php | 92 + ...hTermMatchTypeEnum_SearchTermMatchType.php | 16 + .../Enums/SearchTermTargetingStatusEnum.php | 34 + .../SearchTermTargetingStatus.php | 86 + ...ngStatusEnum_SearchTermTargetingStatus.php | 16 + .../V2/Enums/ServedAssetFieldTypeEnum.php | 33 + .../ServedAssetFieldType.php | 93 + ...ssetFieldTypeEnum_ServedAssetFieldType.php | 16 + .../V2/Enums/SharedSetStatusEnum.php | 33 + .../SharedSetStatusEnum/SharedSetStatus.php | 71 + .../SharedSetStatusEnum_SharedSetStatus.php | 16 + .../GoogleAds/V2/Enums/SharedSetTypeEnum.php | 33 + .../Enums/SharedSetTypeEnum/SharedSetType.php | 71 + .../Enums/SharedSetTypeEnum_SharedSetType.php | 16 + .../SimulationModificationMethodEnum.php | 34 + .../SimulationModificationMethod.php | 74 + ...ethodEnum_SimulationModificationMethod.php | 16 + .../GoogleAds/V2/Enums/SimulationTypeEnum.php | 33 + .../SimulationTypeEnum/SimulationType.php | 85 + .../SimulationTypeEnum_SimulationType.php | 16 + .../V2/Enums/SitelinkPlaceholderFieldEnum.php | 33 + .../SitelinkPlaceholderField.php | 110 + ...lderFieldEnum_SitelinkPlaceholderField.php | 16 + .../Ads/GoogleAds/V2/Enums/SlotEnum.php | 33 + .../Ads/GoogleAds/V2/Enums/SlotEnum/Slot.php | 106 + .../Ads/GoogleAds/V2/Enums/SlotEnum_Slot.php | 16 + .../V2/Enums/SpendingLimitTypeEnum.php | 33 + .../SpendingLimitType.php | 65 + ...pendingLimitTypeEnum_SpendingLimitType.php | 16 + .../StructuredSnippetPlaceholderFieldEnum.php | 33 + .../StructuredSnippetPlaceholderField.php | 76 + ...Enum_StructuredSnippetPlaceholderField.php | 16 + .../Enums/SystemManagedResourceSourceEnum.php | 33 + .../SystemManagedResourceSource.php | 64 + ...SourceEnum_SystemManagedResourceSource.php | 16 + .../TargetCpaOptInRecommendationGoalEnum.php | 33 + .../TargetCpaOptInRecommendationGoal.php | 86 + ...lEnum_TargetCpaOptInRecommendationGoal.php | 16 + .../TargetImpressionShareLocationEnum.php | 35 + .../TargetImpressionShareLocation.php | 78 + ...tionEnum_TargetImpressionShareLocation.php | 16 + .../V2/Enums/TargetingDimensionEnum.php | 33 + .../TargetingDimension.php | 119 + ...getingDimensionEnum_TargetingDimension.php | 16 + .../Ads/GoogleAds/V2/Enums/TimeTypeEnum.php | 33 + .../V2/Enums/TimeTypeEnum/TimeType.php | 72 + .../V2/Enums/TimeTypeEnum_TimeType.php | 16 + .../V2/Enums/TrackingCodePageFormatEnum.php | 34 + .../TrackingCodePageFormat.php | 72 + ...ePageFormatEnum_TrackingCodePageFormat.php | 16 + .../V2/Enums/TrackingCodeTypeEnum.php | 34 + .../TrackingCodeTypeEnum/TrackingCodeType.php | 89 + .../TrackingCodeTypeEnum_TrackingCodeType.php | 16 + .../V2/Enums/TravelPlaceholderFieldEnum.php | 35 + .../TravelPlaceholderField.php | 219 + ...holderFieldEnum_TravelPlaceholderField.php | 16 + .../V2/Enums/UserInterestTaxonomyTypeEnum.php | 33 + .../UserInterestTaxonomyType.php | 92 + ...onomyTypeEnum_UserInterestTaxonomyType.php | 16 + .../V2/Enums/UserListAccessStatusEnum.php | 33 + .../UserListAccessStatus.php | 71 + ...tAccessStatusEnum_UserListAccessStatus.php | 16 + .../V2/Enums/UserListClosingReasonEnum.php | 34 + .../UserListClosingReason.php | 64 + ...losingReasonEnum_UserListClosingReason.php | 16 + .../UserListCombinedRuleOperatorEnum.php | 33 + .../UserListCombinedRuleOperator.php | 71 + ...ratorEnum_UserListCombinedRuleOperator.php | 16 + .../Enums/UserListCrmDataSourceTypeEnum.php | 33 + .../UserListCrmDataSourceType.php | 78 + ...urceTypeEnum_UserListCrmDataSourceType.php | 16 + .../UserListDateRuleItemOperatorEnum.php | 33 + .../UserListDateRuleItemOperator.php | 85 + ...ratorEnum_UserListDateRuleItemOperator.php | 16 + .../Enums/UserListLogicalRuleOperatorEnum.php | 33 + .../UserListLogicalRuleOperator.php | 78 + ...eratorEnum_UserListLogicalRuleOperator.php | 16 + .../V2/Enums/UserListMembershipStatusEnum.php | 35 + .../UserListMembershipStatus.php | 71 + ...hipStatusEnum_UserListMembershipStatus.php | 16 + .../UserListNumberRuleItemOperatorEnum.php | 33 + .../UserListNumberRuleItemOperator.php | 99 + ...torEnum_UserListNumberRuleItemOperator.php | 16 + .../Enums/UserListPrepopulationStatusEnum.php | 33 + .../UserListPrepopulationStatus.php | 78 + ...StatusEnum_UserListPrepopulationStatus.php | 16 + .../V2/Enums/UserListRuleTypeEnum.php | 33 + .../UserListRuleTypeEnum/UserListRuleType.php | 71 + .../UserListRuleTypeEnum_UserListRuleType.php | 16 + .../V2/Enums/UserListSizeRangeEnum.php | 33 + .../UserListSizeRange.php | 169 + ...serListSizeRangeEnum_UserListSizeRange.php | 16 + .../UserListStringRuleItemOperatorEnum.php | 33 + .../UserListStringRuleItemOperator.php | 113 + ...torEnum_UserListStringRuleItemOperator.php | 16 + .../GoogleAds/V2/Enums/UserListTypeEnum.php | 33 + .../Enums/UserListTypeEnum/UserListType.php | 100 + .../Enums/UserListTypeEnum_UserListType.php | 16 + .../Enums/VanityPharmaDisplayUrlModeEnum.php | 33 + .../VanityPharmaDisplayUrlMode.php | 71 + ...UrlModeEnum_VanityPharmaDisplayUrlMode.php | 16 + .../V2/Enums/VanityPharmaTextEnum.php | 34 + .../VanityPharmaTextEnum/VanityPharmaText.php | 147 + .../VanityPharmaTextEnum_VanityPharmaText.php | 16 + .../V2/Enums/WebpageConditionOperandEnum.php | 33 + .../WebpageConditionOperand.php | 92 + ...ionOperandEnum_WebpageConditionOperand.php | 16 + .../V2/Enums/WebpageConditionOperatorEnum.php | 34 + .../WebpageConditionOperator.php | 71 + ...nOperatorEnum_WebpageConditionOperator.php | 16 + .../V2/Errors/AccessInvitationErrorEnum.php | 33 + .../AccessInvitationError.php | 71 + ...itationErrorEnum_AccessInvitationError.php | 16 + .../Errors/AccountBudgetProposalErrorEnum.php | 33 + .../AccountBudgetProposalError.php | 215 + ...alErrorEnum_AccountBudgetProposalError.php | 16 + .../V2/Errors/AdCustomizerErrorEnum.php | 33 + .../AdCustomizerError.php | 92 + ...dCustomizerErrorEnum_AdCustomizerError.php | 16 + .../Ads/GoogleAds/V2/Errors/AdErrorEnum.php | 33 + .../V2/Errors/AdErrorEnum/AdError.php | 983 +++ .../V2/Errors/AdErrorEnum_AdError.php | 16 + .../V2/Errors/AdGroupAdErrorEnum.php | 33 + .../AdGroupAdErrorEnum/AdGroupAdError.php | 115 + .../AdGroupAdErrorEnum_AdGroupAdError.php | 16 + .../V2/Errors/AdGroupBidModifierErrorEnum.php | 33 + .../AdGroupBidModifierError.php | 72 + ...ifierErrorEnum_AdGroupBidModifierError.php | 16 + .../V2/Errors/AdGroupCriterionErrorEnum.php | 33 + .../AdGroupCriterionError.php | 326 + ...iterionErrorEnum_AdGroupCriterionError.php | 16 + .../GoogleAds/V2/Errors/AdGroupErrorEnum.php | 33 + .../Errors/AdGroupErrorEnum/AdGroupError.php | 144 + .../Errors/AdGroupErrorEnum_AdGroupError.php | 16 + .../V2/Errors/AdGroupFeedErrorEnum.php | 33 + .../AdGroupFeedErrorEnum/AdGroupFeedError.php | 108 + .../AdGroupFeedErrorEnum_AdGroupFeedError.php | 16 + .../V2/Errors/AdParameterErrorEnum.php | 33 + .../AdParameterErrorEnum/AdParameterError.php | 71 + .../AdParameterErrorEnum_AdParameterError.php | 16 + .../V2/Errors/AdSharingErrorEnum.php | 33 + .../AdSharingErrorEnum/AdSharingError.php | 79 + .../AdSharingErrorEnum_AdSharingError.php | 16 + .../Ads/GoogleAds/V2/Errors/AdxErrorEnum.php | 33 + .../V2/Errors/AdxErrorEnum/AdxError.php | 64 + .../V2/Errors/AdxErrorEnum_AdxError.php | 16 + .../GoogleAds/V2/Errors/AssetErrorEnum.php | 33 + .../V2/Errors/AssetErrorEnum/AssetError.php | 94 + .../V2/Errors/AssetErrorEnum_AssetError.php | 16 + .../V2/Errors/AuthenticationErrorEnum.php | 33 + .../AuthenticationError.php | 188 + ...nticationErrorEnum_AuthenticationError.php | 16 + .../V2/Errors/AuthorizationErrorEnum.php | 33 + .../AuthorizationError.php | 134 + ...horizationErrorEnum_AuthorizationError.php | 16 + .../GoogleAds/V2/Errors/BiddingErrorEnum.php | 33 + .../Errors/BiddingErrorEnum/BiddingError.php | 223 + .../Errors/BiddingErrorEnum_BiddingError.php | 16 + .../V2/Errors/BiddingStrategyErrorEnum.php | 33 + .../BiddingStrategyError.php | 94 + ...StrategyErrorEnum_BiddingStrategyError.php | 16 + .../V2/Errors/BillingSetupErrorEnum.php | 33 + .../BillingSetupError.php | 174 + ...illingSetupErrorEnum_BillingSetupError.php | 16 + .../V2/Errors/CampaignBudgetErrorEnum.php | 33 + .../CampaignBudgetError.php | 167 + ...ignBudgetErrorEnum_CampaignBudgetError.php | 16 + .../V2/Errors/CampaignCriterionErrorEnum.php | 33 + .../CampaignCriterionError.php | 138 + ...terionErrorEnum_CampaignCriterionError.php | 16 + .../V2/Errors/CampaignDraftErrorEnum.php | 33 + .../CampaignDraftError.php | 132 + ...paignDraftErrorEnum_CampaignDraftError.php | 16 + .../GoogleAds/V2/Errors/CampaignErrorEnum.php | 33 + .../CampaignErrorEnum/CampaignError.php | 352 + .../CampaignErrorEnum_CampaignError.php | 16 + .../V2/Errors/CampaignExperimentErrorEnum.php | 33 + .../CampaignExperimentError.php | 134 + ...imentErrorEnum_CampaignExperimentError.php | 16 + .../V2/Errors/CampaignFeedErrorEnum.php | 33 + .../CampaignFeedError.php | 100 + ...ampaignFeedErrorEnum_CampaignFeedError.php | 16 + .../V2/Errors/CampaignSharedSetErrorEnum.php | 33 + .../CampaignSharedSetError.php | 64 + ...redSetErrorEnum_CampaignSharedSetError.php | 16 + .../V2/Errors/ChangeStatusErrorEnum.php | 33 + .../ChangeStatusError.php | 64 + ...hangeStatusErrorEnum_ChangeStatusError.php | 16 + .../V2/Errors/CollectionSizeErrorEnum.php | 33 + .../CollectionSizeError.php | 71 + ...ctionSizeErrorEnum_CollectionSizeError.php | 16 + .../GoogleAds/V2/Errors/ContextErrorEnum.php | 33 + .../Errors/ContextErrorEnum/ContextError.php | 71 + .../Errors/ContextErrorEnum_ContextError.php | 16 + .../V2/Errors/ConversionActionErrorEnum.php | 33 + .../ConversionActionError.php | 120 + ...nActionErrorEnum_ConversionActionError.php | 16 + .../ConversionAdjustmentUploadErrorEnum.php | 33 + .../ConversionAdjustmentUploadError.php | 128 + ...orEnum_ConversionAdjustmentUploadError.php | 16 + .../V2/Errors/ConversionUploadErrorEnum.php | 33 + .../ConversionUploadError.php | 227 + ...nUploadErrorEnum_ConversionUploadError.php | 16 + .../V2/Errors/CountryCodeErrorEnum.php | 33 + .../CountryCodeErrorEnum/CountryCodeError.php | 64 + .../CountryCodeErrorEnum_CountryCodeError.php | 16 + .../V2/Errors/CriterionErrorEnum.php | 33 + .../CriterionErrorEnum/CriterionError.php | 770 ++ .../CriterionErrorEnum_CriterionError.php | 16 + .../V2/Errors/CurrencyCodeErrorEnum.php | 33 + .../CurrencyCodeError.php | 64 + ...urrencyCodeErrorEnum_CurrencyCodeError.php | 16 + .../V2/Errors/CustomInterestErrorEnum.php | 33 + .../CustomInterestError.php | 107 + ...mInterestErrorEnum_CustomInterestError.php | 16 + .../V2/Errors/CustomerClientLinkErrorEnum.php | 33 + .../CustomerClientLinkError.php | 106 + ...tLinkErrorEnum_CustomerClientLinkError.php | 16 + .../GoogleAds/V2/Errors/CustomerErrorEnum.php | 33 + .../CustomerErrorEnum/CustomerError.php | 74 + .../CustomerErrorEnum_CustomerError.php | 16 + .../V2/Errors/CustomerFeedErrorEnum.php | 33 + .../CustomerFeedError.php | 107 + ...ustomerFeedErrorEnum_CustomerFeedError.php | 16 + .../Errors/CustomerManagerLinkErrorEnum.php | 33 + .../CustomerManagerLinkError.php | 116 + ...LinkErrorEnum_CustomerManagerLinkError.php | 16 + .../GoogleAds/V2/Errors/DatabaseErrorEnum.php | 33 + .../DatabaseErrorEnum/DatabaseError.php | 73 + .../DatabaseErrorEnum_DatabaseError.php | 16 + .../Ads/GoogleAds/V2/Errors/DateErrorEnum.php | 33 + .../V2/Errors/DateErrorEnum/DateError.php | 127 + .../V2/Errors/DateErrorEnum_DateError.php | 16 + .../V2/Errors/DateRangeErrorEnum.php | 33 + .../DateRangeErrorEnum/DateRangeError.php | 92 + .../DateRangeErrorEnum_DateRangeError.php | 16 + .../GoogleAds/V2/Errors/DistinctErrorEnum.php | 33 + .../DistinctErrorEnum/DistinctError.php | 71 + .../DistinctErrorEnum_DistinctError.php | 16 + .../Ads/GoogleAds/V2/Errors/EnumErrorEnum.php | 33 + .../V2/Errors/EnumErrorEnum/EnumError.php | 64 + .../V2/Errors/EnumErrorEnum_EnumError.php | 16 + .../Ads/GoogleAds/V2/Errors/ErrorCode.php | 2954 +++++++ .../Ads/GoogleAds/V2/Errors/ErrorDetails.php | 139 + .../Ads/GoogleAds/V2/Errors/ErrorLocation.php | 67 + .../Errors/ErrorLocation/FieldPathElement.php | 133 + .../Errors/ErrorLocation_FieldPathElement.php | 16 + .../V2/Errors/ExtensionFeedItemErrorEnum.php | 33 + .../ExtensionFeedItemError.php | 373 + ...edItemErrorEnum_ExtensionFeedItemError.php | 16 + .../V2/Errors/ExtensionSettingErrorEnum.php | 33 + .../ExtensionSettingError.php | 526 ++ ...SettingErrorEnum_ExtensionSettingError.php | 16 + .../FeedAttributeReferenceErrorEnum.php | 33 + .../FeedAttributeReferenceError.php | 78 + ...eErrorEnum_FeedAttributeReferenceError.php | 16 + .../Ads/GoogleAds/V2/Errors/FeedErrorEnum.php | 33 + .../V2/Errors/FeedErrorEnum/FeedError.php | 198 + .../V2/Errors/FeedErrorEnum_FeedError.php | 16 + .../GoogleAds/V2/Errors/FeedItemErrorEnum.php | 33 + .../FeedItemErrorEnum/FeedItemError.php | 120 + .../FeedItemErrorEnum_FeedItemError.php | 16 + .../V2/Errors/FeedItemTargetErrorEnum.php | 33 + .../FeedItemTargetError.php | 115 + ...temTargetErrorEnum_FeedItemTargetError.php | 16 + .../V2/Errors/FeedItemValidationErrorEnum.php | 33 + .../FeedItemValidationError.php | 740 ++ ...ationErrorEnum_FeedItemValidationError.php | 16 + .../V2/Errors/FeedMappingErrorEnum.php | 33 + .../FeedMappingErrorEnum/FeedMappingError.php | 174 + .../FeedMappingErrorEnum_FeedMappingError.php | 16 + .../GoogleAds/V2/Errors/FieldErrorEnum.php | 33 + .../V2/Errors/FieldErrorEnum/FieldError.php | 106 + .../V2/Errors/FieldErrorEnum_FieldError.php | 16 + .../V2/Errors/FieldMaskErrorEnum.php | 33 + .../FieldMaskErrorEnum/FieldMaskError.php | 87 + .../FieldMaskErrorEnum_FieldMaskError.php | 16 + .../GoogleAds/V2/Errors/FunctionErrorEnum.php | 33 + .../FunctionErrorEnum/FunctionError.php | 170 + .../FunctionErrorEnum_FunctionError.php | 16 + .../V2/Errors/FunctionParsingErrorEnum.php | 33 + .../FunctionParsingError.php | 134 + ...nParsingErrorEnum_FunctionParsingError.php | 16 + .../GeoTargetConstantSuggestionErrorEnum.php | 33 + .../GeoTargetConstantSuggestionError.php | 87 + ...rEnum_GeoTargetConstantSuggestionError.php | 16 + .../GoogleAds/V2/Errors/GoogleAdsError.php | 207 + .../GoogleAds/V2/Errors/GoogleAdsFailure.php | 68 + .../GoogleAds/V2/Errors/HeaderErrorEnum.php | 33 + .../V2/Errors/HeaderErrorEnum/HeaderError.php | 64 + .../V2/Errors/HeaderErrorEnum_HeaderError.php | 16 + .../Ads/GoogleAds/V2/Errors/IdErrorEnum.php | 33 + .../V2/Errors/IdErrorEnum/IdError.php | 64 + .../V2/Errors/IdErrorEnum_IdError.php | 16 + .../GoogleAds/V2/Errors/ImageErrorEnum.php | 33 + .../V2/Errors/ImageErrorEnum/ImageError.php | 317 + .../V2/Errors/ImageErrorEnum_ImageError.php | 16 + .../GoogleAds/V2/Errors/InternalErrorEnum.php | 33 + .../InternalErrorEnum/InternalError.php | 80 + .../InternalErrorEnum_InternalError.php | 16 + .../V2/Errors/KeywordPlanAdGroupErrorEnum.php | 34 + .../KeywordPlanAdGroupError.php | 73 + ...GroupErrorEnum_KeywordPlanAdGroupError.php | 16 + .../Errors/KeywordPlanCampaignErrorEnum.php | 34 + .../KeywordPlanCampaignError.php | 94 + ...aignErrorEnum_KeywordPlanCampaignError.php | 16 + .../V2/Errors/KeywordPlanErrorEnum.php | 35 + .../KeywordPlanErrorEnum/KeywordPlanError.php | 156 + .../KeywordPlanErrorEnum_KeywordPlanError.php | 16 + .../V2/Errors/KeywordPlanIdeaErrorEnum.php | 33 + .../KeywordPlanIdeaError.php | 71 + ...PlanIdeaErrorEnum_KeywordPlanIdeaError.php | 16 + .../V2/Errors/KeywordPlanKeywordErrorEnum.php | 34 + .../KeywordPlanKeywordError.php | 100 + ...ywordErrorEnum_KeywordPlanKeywordError.php | 16 + .../KeywordPlanNegativeKeywordErrorEnum.php | 34 + .../KeywordPlanNegativeKeywordError.php | 58 + ...orEnum_KeywordPlanNegativeKeywordError.php | 16 + .../GoogleAds/V2/Errors/LabelErrorEnum.php | 33 + .../V2/Errors/LabelErrorEnum/LabelError.php | 122 + .../V2/Errors/LabelErrorEnum_LabelError.php | 16 + .../V2/Errors/LanguageCodeErrorEnum.php | 33 + .../LanguageCodeError.php | 71 + ...anguageCodeErrorEnum_LanguageCodeError.php | 16 + .../V2/Errors/ListOperationErrorEnum.php | 33 + .../ListOperationError.php | 71 + ...tOperationErrorEnum_ListOperationError.php | 16 + .../V2/Errors/ManagerLinkErrorEnum.php | 33 + .../ManagerLinkErrorEnum/ManagerLinkError.php | 156 + .../ManagerLinkErrorEnum_ManagerLinkError.php | 16 + .../V2/Errors/MediaBundleErrorEnum.php | 33 + .../MediaBundleErrorEnum/MediaBundleError.php | 211 + .../MediaBundleErrorEnum_MediaBundleError.php | 16 + .../V2/Errors/MediaFileErrorEnum.php | 33 + .../MediaFileErrorEnum/MediaFileError.php | 218 + .../MediaFileErrorEnum_MediaFileError.php | 16 + .../V2/Errors/MediaUploadErrorEnum.php | 33 + .../MediaUploadErrorEnum/MediaUploadError.php | 85 + .../MediaUploadErrorEnum_MediaUploadError.php | 16 + .../V2/Errors/MultiplierErrorEnum.php | 33 + .../MultiplierErrorEnum/MultiplierError.php | 142 + .../MultiplierErrorEnum_MultiplierError.php | 16 + .../GoogleAds/V2/Errors/MutateErrorEnum.php | 33 + .../V2/Errors/MutateErrorEnum/MutateError.php | 100 + .../V2/Errors/MutateErrorEnum_MutateError.php | 16 + .../V2/Errors/MutateJobErrorEnum.php | 33 + .../MutateJobErrorEnum/MutateJobError.php | 93 + .../MutateJobErrorEnum_MutateJobError.php | 16 + .../Errors/NewResourceCreationErrorEnum.php | 33 + .../NewResourceCreationError.php | 79 + ...tionErrorEnum_NewResourceCreationError.php | 16 + .../GoogleAds/V2/Errors/NotEmptyErrorEnum.php | 33 + .../NotEmptyErrorEnum/NotEmptyError.php | 64 + .../NotEmptyErrorEnum_NotEmptyError.php | 16 + .../V2/Errors/NotWhitelistedErrorEnum.php | 33 + .../NotWhitelistedError.php | 64 + ...itelistedErrorEnum_NotWhitelistedError.php | 16 + .../Ads/GoogleAds/V2/Errors/NullErrorEnum.php | 33 + .../V2/Errors/NullErrorEnum/NullError.php | 64 + .../V2/Errors/NullErrorEnum_NullError.php | 16 + .../Errors/OperationAccessDeniedErrorEnum.php | 33 + .../OperationAccessDeniedError.php | 127 + ...edErrorEnum_OperationAccessDeniedError.php | 16 + .../GoogleAds/V2/Errors/OperatorErrorEnum.php | 33 + .../OperatorErrorEnum/OperatorError.php | 64 + .../OperatorErrorEnum_OperatorError.php | 16 + .../V2/Errors/PartialFailureErrorEnum.php | 33 + .../PartialFailureError.php | 65 + ...alFailureErrorEnum_PartialFailureError.php | 16 + .../V2/Errors/PolicyFindingDetails.php | 77 + .../V2/Errors/PolicyFindingErrorEnum.php | 33 + .../PolicyFindingError.php | 72 + ...icyFindingErrorEnum_PolicyFindingError.php | 16 + .../PolicyValidationParameterErrorEnum.php | 33 + .../PolicyValidationParameterError.php | 79 + ...rorEnum_PolicyValidationParameterError.php | 16 + .../V2/Errors/PolicyViolationDetails.php | 175 + .../V2/Errors/PolicyViolationErrorEnum.php | 33 + .../PolicyViolationError.php | 64 + ...iolationErrorEnum_PolicyViolationError.php | 16 + .../GoogleAds/V2/Errors/QueryErrorEnum.php | 33 + .../V2/Errors/QueryErrorEnum/QueryError.php | 443 + .../V2/Errors/QueryErrorEnum_QueryError.php | 16 + .../GoogleAds/V2/Errors/QuotaErrorEnum.php | 33 + .../V2/Errors/QuotaErrorEnum/QuotaError.php | 78 + .../V2/Errors/QuotaErrorEnum_QuotaError.php | 16 + .../GoogleAds/V2/Errors/RangeErrorEnum.php | 33 + .../V2/Errors/RangeErrorEnum/RangeError.php | 71 + .../V2/Errors/RangeErrorEnum_RangeError.php | 16 + .../V2/Errors/RecommendationErrorEnum.php | 33 + .../RecommendationError.php | 159 + ...mendationErrorEnum_RecommendationError.php | 16 + .../V2/Errors/RegionCodeErrorEnum.php | 33 + .../RegionCodeErrorEnum/RegionCodeError.php | 64 + .../RegionCodeErrorEnum_RegionCodeError.php | 16 + .../GoogleAds/V2/Errors/RequestErrorEnum.php | 33 + .../Errors/RequestErrorEnum/RequestError.php | 209 + .../Errors/RequestErrorEnum_RequestError.php | 16 + .../Errors/ResourceAccessDeniedErrorEnum.php | 33 + .../ResourceAccessDeniedError.php | 64 + ...iedErrorEnum_ResourceAccessDeniedError.php | 16 + .../ResourceCountLimitExceededErrorEnum.php | 33 + .../ResourceCountLimitExceededError.php | 142 + ...orEnum_ResourceCountLimitExceededError.php | 16 + .../GoogleAds/V2/Errors/SettingErrorEnum.php | 33 + .../Errors/SettingErrorEnum/SettingError.php | 186 + .../Errors/SettingErrorEnum_SettingError.php | 16 + .../V2/Errors/SharedCriterionErrorEnum.php | 33 + .../SharedCriterionError.php | 64 + ...riterionErrorEnum_SharedCriterionError.php | 16 + .../V2/Errors/SharedSetErrorEnum.php | 33 + .../SharedSetErrorEnum/SharedSetError.php | 85 + .../SharedSetErrorEnum_SharedSetError.php | 16 + .../V2/Errors/SizeLimitErrorEnum.php | 33 + .../SizeLimitErrorEnum/SizeLimitError.php | 71 + .../SizeLimitErrorEnum_SizeLimitError.php | 16 + .../V2/Errors/StringFormatErrorEnum.php | 33 + .../StringFormatError.php | 71 + ...tringFormatErrorEnum_StringFormatError.php | 16 + .../V2/Errors/StringLengthErrorEnum.php | 33 + .../StringLengthError.php | 71 + ...tringLengthErrorEnum_StringLengthError.php | 16 + .../GoogleAds/V2/Errors/UrlFieldErrorEnum.php | 33 + .../UrlFieldErrorEnum/UrlFieldError.php | 436 + .../UrlFieldErrorEnum_UrlFieldError.php | 16 + .../GoogleAds/V2/Errors/UserListErrorEnum.php | 33 + .../UserListErrorEnum/UserListError.php | 246 + .../UserListErrorEnum_UserListError.php | 16 + .../YoutubeVideoRegistrationErrorEnum.php | 33 + .../YoutubeVideoRegistrationError.php | 71 + ...rrorEnum_YoutubeVideoRegistrationError.php | 16 + .../GoogleAds/V2/Resources/AccountBudget.php | 1331 +++ .../PendingAccountBudgetProposal.php | 670 ++ .../V2/Resources/AccountBudgetProposal.php | 1222 +++ ...untBudget_PendingAccountBudgetProposal.php | 16 + src/Google/Ads/GoogleAds/V2/Resources/Ad.php | 1255 +++ .../Ads/GoogleAds/V2/Resources/AdGroup.php | 1482 ++++ .../Ads/GoogleAds/V2/Resources/AdGroupAd.php | 274 + .../Resources/AdGroupAdAssetPolicySummary.php | 139 + .../V2/Resources/AdGroupAdAssetView.php | 303 + .../GoogleAds/V2/Resources/AdGroupAdLabel.php | 201 + .../V2/Resources/AdGroupAdPolicySummary.php | 139 + .../V2/Resources/AdGroupAudienceView.php | 78 + .../V2/Resources/AdGroupBidModifier.php | 580 ++ .../V2/Resources/AdGroupCriterion.php | 1956 ++++ .../AdGroupCriterion/PositionEstimates.php | 381 + .../AdGroupCriterion/QualityInfo.php | 213 + .../V2/Resources/AdGroupCriterionLabel.php | 201 + .../Resources/AdGroupCriterionSimulation.php | 437 + .../AdGroupCriterion_PositionEstimates.php | 16 + .../AdGroupCriterion_QualityInfo.php | 16 + .../V2/Resources/AdGroupExtensionSetting.php | 266 + .../GoogleAds/V2/Resources/AdGroupFeed.php | 319 + .../GoogleAds/V2/Resources/AdGroupLabel.php | 201 + .../V2/Resources/AdGroupSimulation.php | 435 + .../GoogleAds/V2/Resources/AdParameter.php | 341 + .../GoogleAds/V2/Resources/AdScheduleView.php | 76 + .../GoogleAds/V2/Resources/AgeRangeView.php | 75 + .../Ads/GoogleAds/V2/Resources/Asset.php | 357 + .../V2/Resources/AttributeFieldMapping.php | 774 ++ .../V2/Resources/BiddingStrategy.php | 690 ++ .../GoogleAds/V2/Resources/BillingSetup.php | 516 ++ .../BillingSetup/PaymentsAccountInfo.php | 399 + .../BillingSetup_PaymentsAccountInfo.php | 16 + .../V2/Resources/CallReportingSetting.php | 240 + .../Ads/GoogleAds/V2/Resources/Campaign.php | 1920 ++++ .../Resources/Campaign/AppCampaignSetting.php | 171 + .../Campaign/DynamicSearchAdsSetting.php | 265 + .../Campaign/GeoTargetTypeSetting.php | 104 + .../Resources/Campaign/HotelSettingInfo.php | 99 + .../V2/Resources/Campaign/NetworkSettings.php | 306 + .../Campaign/SelectiveOptimization.php | 71 + .../V2/Resources/Campaign/ShoppingSetting.php | 350 + .../V2/Resources/Campaign/TrackingSetting.php | 99 + .../V2/Resources/Campaign/VanityPharma.php | 108 + .../V2/Resources/CampaignAudienceView.php | 79 + .../V2/Resources/CampaignBidModifier.php | 307 + .../GoogleAds/V2/Resources/CampaignBudget.php | 1191 +++ .../V2/Resources/CampaignCriterion.php | 1150 +++ .../Resources/CampaignCriterionSimulation.php | 437 + .../GoogleAds/V2/Resources/CampaignDraft.php | 545 ++ .../V2/Resources/CampaignExperiment.php | 825 ++ .../V2/Resources/CampaignExtensionSetting.php | 266 + .../GoogleAds/V2/Resources/CampaignFeed.php | 319 + .../GoogleAds/V2/Resources/CampaignLabel.php | 201 + .../V2/Resources/CampaignSharedSet.php | 266 + .../Resources/Campaign_AppCampaignSetting.php | 16 + .../Campaign_DynamicSearchAdsSetting.php | 16 + .../Campaign_GeoTargetTypeSetting.php | 16 + .../Resources/Campaign_HotelSettingInfo.php | 16 + .../V2/Resources/Campaign_NetworkSettings.php | 16 + .../Campaign_SelectiveOptimization.php | 16 + .../V2/Resources/Campaign_ShoppingSetting.php | 16 + .../V2/Resources/Campaign_TrackingSetting.php | 16 + .../V2/Resources/Campaign_VanityPharma.php | 16 + .../V2/Resources/CarrierConstant.php | 270 + .../GoogleAds/V2/Resources/ChangeStatus.php | 844 ++ .../Ads/GoogleAds/V2/Resources/ClickView.php | 342 + .../V2/Resources/ConversionAction.php | 869 ++ .../AttributionModelSettings.php | 108 + .../ConversionAction/ValueSettings.php | 262 + ...versionAction_AttributionModelSettings.php | 16 + .../ConversionAction_ValueSettings.php | 16 + .../Resources/ConversionTrackingSetting.php | 190 + .../GoogleAds/V2/Resources/CustomInterest.php | 394 + .../V2/Resources/CustomInterestMember.php | 137 + .../Ads/GoogleAds/V2/Resources/Customer.php | 869 ++ .../GoogleAds/V2/Resources/CustomerClient.php | 290 + .../V2/Resources/CustomerClientLink.php | 310 + .../V2/Resources/CustomerExtensionSetting.php | 185 + .../GoogleAds/V2/Resources/CustomerFeed.php | 256 + .../GoogleAds/V2/Resources/CustomerLabel.php | 221 + .../V2/Resources/CustomerManagerLink.php | 235 + .../Resources/CustomerNegativeCriterion.php | 349 + .../V2/Resources/DetailPlacementView.php | 385 + .../V2/Resources/DisplayKeywordView.php | 75 + .../GoogleAds/V2/Resources/DistanceView.php | 176 + .../GoogleAds/V2/Resources/DomainCategory.php | 624 ++ .../DynamicSearchAdsSearchTermView.php | 351 + .../V2/Resources/ExpandedLandingPageView.php | 139 + .../V2/Resources/ExtensionFeedItem.php | 907 ++ .../Ads/GoogleAds/V2/Resources/Feed.php | 426 + .../Feed/AffiliateLocationFeedData.php | 109 + .../Resources/Feed/PlacesLocationFeedData.php | 396 + .../Feed/PlacesLocationFeedData/OAuthInfo.php | 225 + .../GoogleAds/V2/Resources/FeedAttribute.php | 277 + .../V2/Resources/FeedAttributeOperation.php | 101 + .../FeedAttributeOperation/Operator.php | 64 + .../FeedAttributeOperation_Operator.php | 16 + .../Ads/GoogleAds/V2/Resources/FeedItem.php | 565 ++ .../V2/Resources/FeedItemAttributeValue.php | 604 ++ .../FeedItemPlaceholderPolicyInfo.php | 373 + .../GoogleAds/V2/Resources/FeedItemTarget.php | 499 ++ .../V2/Resources/FeedItemValidationError.php | 252 + .../GoogleAds/V2/Resources/FeedMapping.php | 297 + .../V2/Resources/FeedPlaceholderView.php | 109 + .../Feed_AffiliateLocationFeedData.php | 16 + .../Resources/Feed_PlacesLocationFeedData.php | 16 + .../Feed_PlacesLocationFeedData_OAuthInfo.php | 16 + .../Ads/GoogleAds/V2/Resources/GenderView.php | 75 + .../V2/Resources/GeoTargetConstant.php | 430 + .../GoogleAds/V2/Resources/GeographicView.php | 176 + .../GoogleAds/V2/Resources/GoogleAdsField.php | 781 ++ .../V2/Resources/GroupPlacementView.php | 310 + .../GoogleAds/V2/Resources/HotelGroupView.php | 75 + .../V2/Resources/HotelPerformanceView.php | 75 + .../GoogleAds/V2/Resources/KeywordPlan.php | 249 + .../V2/Resources/KeywordPlanAdGroup.php | 352 + .../V2/Resources/KeywordPlanCampaign.php | 476 + .../Resources/KeywordPlanForecastPeriod.php | 107 + .../V2/Resources/KeywordPlanGeoTarget.php | 97 + .../V2/Resources/KeywordPlanKeyword.php | 368 + .../Resources/KeywordPlanNegativeKeyword.php | 299 + .../GoogleAds/V2/Resources/KeywordView.php | 75 + .../Ads/GoogleAds/V2/Resources/Label.php | 281 + .../V2/Resources/LandingPageView.php | 139 + .../V2/Resources/LanguageConstant.php | 333 + .../GoogleAds/V2/Resources/LocationView.php | 76 + .../V2/Resources/ManagedPlacementView.php | 75 + .../Ads/GoogleAds/V2/Resources/MediaAudio.php | 96 + .../GoogleAds/V2/Resources/MediaBundle.php | 96 + .../Ads/GoogleAds/V2/Resources/MediaFile.php | 528 ++ .../Ads/GoogleAds/V2/Resources/MediaImage.php | 96 + .../Ads/GoogleAds/V2/Resources/MediaVideo.php | 303 + .../V2/Resources/MerchantCenterLink.php | 248 + .../Resources/MobileAppCategoryConstant.php | 201 + .../V2/Resources/MobileDeviceConstant.php | 361 + .../Ads/GoogleAds/V2/Resources/MutateJob.php | 346 + .../Resources/MutateJob/MutateJobMetadata.php | 376 + .../Resources/MutateJob_MutateJobMetadata.php | 16 + .../OperatingSystemVersionConstant.php | 367 + .../Resources/PaidOrganicSearchTermView.php | 143 + .../V2/Resources/ParentalStatusView.php | 75 + .../V2/Resources/PaymentsAccount.php | 414 + .../ProductBiddingCategoryConstant.php | 476 + .../V2/Resources/ProductGroupView.php | 75 + .../GoogleAds/V2/Resources/Recommendation.php | 868 ++ .../CallExtensionRecommendation.php | 70 + .../CalloutExtensionRecommendation.php | 70 + .../CampaignBudgetRecommendation.php | 200 + .../CampaignBudgetRecommendationOption.php | 137 + .../EnhancedCpcOptInRecommendation.php | 36 + .../KeywordMatchTypeRecommendation.php | 104 + .../Recommendation/KeywordRecommendation.php | 133 + .../MaximizeClicksOptInRecommendation.php | 105 + ...MaximizeConversionsOptInRecommendation.php | 99 + .../MoveUnusedBudgetRecommendation.php | 133 + .../OptimizeAdRotationRecommendation.php | 36 + .../Recommendation/RecommendationImpact.php | 105 + .../Recommendation/RecommendationMetrics.php | 352 + .../SearchPartnersOptInRecommendation.php | 36 + .../SitelinkExtensionRecommendation.php | 70 + .../TargetCpaOptInRecommendation.php | 139 + .../TargetCpaOptInRecommendationOption.php | 248 + .../Recommendation/TextAdRecommendation.php | 214 + ...mmendation_CallExtensionRecommendation.php | 16 + ...ndation_CalloutExtensionRecommendation.php | 16 + ...mendation_CampaignBudgetRecommendation.php | 16 + ...ion_CampaignBudgetRecommendationOption.php | 16 + ...ndation_EnhancedCpcOptInRecommendation.php | 16 + ...ndation_KeywordMatchTypeRecommendation.php | 16 + .../Recommendation_KeywordRecommendation.php | 16 + ...tion_MaximizeClicksOptInRecommendation.php | 16 + ...MaximizeConversionsOptInRecommendation.php | 16 + ...ndation_MoveUnusedBudgetRecommendation.php | 16 + ...ation_OptimizeAdRotationRecommendation.php | 16 + .../Recommendation_RecommendationImpact.php | 16 + .../Recommendation_RecommendationMetrics.php | 16 + ...tion_SearchPartnersOptInRecommendation.php | 16 + ...dation_SitelinkExtensionRecommendation.php | 16 + ...mendation_TargetCpaOptInRecommendation.php | 16 + ...ion_TargetCpaOptInRecommendationOption.php | 16 + .../Recommendation_TextAdRecommendation.php | 16 + .../V2/Resources/RemarketingAction.php | 249 + .../V2/Resources/RemarketingSetting.php | 96 + .../GoogleAds/V2/Resources/SearchTermView.php | 240 + .../V2/Resources/SharedCriterion.php | 418 + .../Ads/GoogleAds/V2/Resources/SharedSet.php | 424 + .../V2/Resources/ShoppingPerformanceView.php | 80 + .../GoogleAds/V2/Resources/TopicConstant.php | 253 + .../Ads/GoogleAds/V2/Resources/TopicView.php | 75 + .../GoogleAds/V2/Resources/UserInterest.php | 395 + .../Ads/GoogleAds/V2/Resources/UserList.php | 1237 +++ .../V2/Resources/UserLocationView.php | 205 + .../Ads/GoogleAds/V2/Resources/Video.php | 327 + .../AccountBudgetProposalOperation.php | 167 + .../AccountBudgetProposalServiceClient.php | 38 + ...AccountBudgetProposalServiceGrpcClient.php | 80 + .../Services/AccountBudgetServiceClient.php | 38 + .../AccountBudgetServiceGrpcClient.php | 54 + .../AdGroupAdAssetViewServiceClient.php | 38 + .../AdGroupAdAssetViewServiceGrpcClient.php | 52 + .../V2/Services/AdGroupAdLabelOperation.php | 110 + .../Services/AdGroupAdLabelServiceClient.php | 38 + .../AdGroupAdLabelServiceGrpcClient.php | 67 + .../V2/Services/AdGroupAdOperation.php | 200 + .../V2/Services/AdGroupAdServiceClient.php | 38 + .../Services/AdGroupAdServiceGrpcClient.php | 66 + .../AdGroupAudienceViewServiceClient.php | 38 + .../AdGroupAudienceViewServiceGrpcClient.php | 52 + .../Services/AdGroupBidModifierOperation.php | 172 + .../AdGroupBidModifierServiceClient.php | 38 + .../AdGroupBidModifierServiceGrpcClient.php | 67 + .../AdGroupCriterionLabelOperation.php | 107 + .../AdGroupCriterionLabelServiceClient.php | 38 + ...AdGroupCriterionLabelServiceGrpcClient.php | 67 + .../V2/Services/AdGroupCriterionOperation.php | 231 + .../AdGroupCriterionServiceClient.php | 38 + .../AdGroupCriterionServiceGrpcClient.php | 66 + ...dGroupCriterionSimulationServiceClient.php | 38 + ...upCriterionSimulationServiceGrpcClient.php | 52 + .../AdGroupExtensionSettingOperation.php | 172 + .../AdGroupExtensionSettingServiceClient.php | 38 + ...GroupExtensionSettingServiceGrpcClient.php | 67 + .../V2/Services/AdGroupFeedOperation.php | 169 + .../V2/Services/AdGroupFeedServiceClient.php | 38 + .../Services/AdGroupFeedServiceGrpcClient.php | 67 + .../V2/Services/AdGroupLabelOperation.php | 107 + .../V2/Services/AdGroupLabelServiceClient.php | 38 + .../AdGroupLabelServiceGrpcClient.php | 67 + .../V2/Services/AdGroupOperation.php | 166 + .../V2/Services/AdGroupServiceClient.php | 38 + .../V2/Services/AdGroupServiceGrpcClient.php | 66 + .../AdGroupSimulationServiceClient.php | 38 + .../AdGroupSimulationServiceGrpcClient.php | 52 + .../Ads/GoogleAds/V2/Services/AdOperation.php | 110 + .../V2/Services/AdParameterOperation.php | 169 + .../V2/Services/AdParameterServiceClient.php | 38 + .../Services/AdParameterServiceGrpcClient.php | 67 + .../Services/AdScheduleViewServiceClient.php | 38 + .../AdScheduleViewServiceGrpcClient.php | 52 + .../GoogleAds/V2/Services/AdServiceClient.php | 38 + .../V2/Services/AdServiceGrpcClient.php | 66 + .../AddMutateJobOperationsRequest.php | 179 + .../AddMutateJobOperationsResponse.php | 109 + .../V2/Services/AgeRangeViewServiceClient.php | 38 + .../AgeRangeViewServiceGrpcClient.php | 52 + .../Services/ApplyRecommendationOperation.php | 307 + .../CallExtensionParameters.php | 70 + .../CalloutExtensionParameters.php | 70 + .../CampaignBudgetParameters.php | 105 + .../KeywordParameters.php | 202 + .../MoveUnusedBudgetParameters.php | 105 + .../SitelinkExtensionParameters.php | 70 + .../TargetCpaOptInParameters.php | 168 + .../TextAdParameters.php | 74 + ...ationOperation_CallExtensionParameters.php | 16 + ...onOperation_CalloutExtensionParameters.php | 16 + ...tionOperation_CampaignBudgetParameters.php | 16 + ...ommendationOperation_KeywordParameters.php | 16 + ...onOperation_MoveUnusedBudgetParameters.php | 16 + ...nOperation_SitelinkExtensionParameters.php | 16 + ...tionOperation_TargetCpaOptInParameters.php | 16 + ...commendationOperation_TextAdParameters.php | 16 + .../Services/ApplyRecommendationRequest.php | 155 + .../Services/ApplyRecommendationResponse.php | 113 + .../V2/Services/ApplyRecommendationResult.php | 67 + .../GoogleAds/V2/Services/AssetOperation.php | 72 + .../V2/Services/AssetServiceClient.php | 38 + .../V2/Services/AssetServiceGrpcClient.php | 68 + .../V2/Services/BiddingStrategyOperation.php | 172 + .../Services/BiddingStrategyServiceClient.php | 38 + .../BiddingStrategyServiceGrpcClient.php | 67 + .../V2/Services/BillingSetupOperation.php | 111 + .../V2/Services/BillingSetupServiceClient.php | 38 + .../BillingSetupServiceGrpcClient.php | 74 + .../GoogleAds/V2/Services/CallConversion.php | 465 + .../V2/Services/CallConversionResult.php | 303 + .../CampaignAudienceViewServiceClient.php | 38 + .../CampaignAudienceViewServiceGrpcClient.php | 52 + .../Services/CampaignBidModifierOperation.php | 172 + .../CampaignBidModifierServiceClient.php | 38 + .../CampaignBidModifierServiceGrpcClient.php | 67 + .../V2/Services/CampaignBudgetOperation.php | 169 + .../Services/CampaignBudgetServiceClient.php | 38 + .../CampaignBudgetServiceGrpcClient.php | 67 + .../Services/CampaignCriterionOperation.php | 169 + .../CampaignCriterionServiceClient.php | 38 + .../CampaignCriterionServiceGrpcClient.php | 66 + ...mpaignCriterionSimulationServiceClient.php | 38 + ...gnCriterionSimulationServiceGrpcClient.php | 52 + .../V2/Services/CampaignDraftOperation.php | 172 + .../Services/CampaignDraftServiceClient.php | 38 + .../CampaignDraftServiceGrpcClient.php | 105 + .../Services/CampaignExperimentOperation.php | 141 + .../CampaignExperimentServiceClient.php | 38 + .../CampaignExperimentServiceGrpcClient.php | 164 + .../CampaignExtensionSettingOperation.php | 172 + .../CampaignExtensionSettingServiceClient.php | 38 + ...paignExtensionSettingServiceGrpcClient.php | 67 + .../V2/Services/CampaignFeedOperation.php | 169 + .../V2/Services/CampaignFeedServiceClient.php | 38 + .../CampaignFeedServiceGrpcClient.php | 67 + .../V2/Services/CampaignLabelOperation.php | 107 + .../Services/CampaignLabelServiceClient.php | 38 + .../CampaignLabelServiceGrpcClient.php | 67 + .../V2/Services/CampaignOperation.php | 169 + .../V2/Services/CampaignServiceClient.php | 38 + .../V2/Services/CampaignServiceGrpcClient.php | 66 + .../Services/CampaignSharedSetOperation.php | 107 + .../CampaignSharedSetServiceClient.php | 38 + .../CampaignSharedSetServiceGrpcClient.php | 66 + .../Services/CarrierConstantServiceClient.php | 38 + .../CarrierConstantServiceGrpcClient.php | 52 + .../V2/Services/ChangeStatusServiceClient.php | 38 + .../ChangeStatusServiceGrpcClient.php | 52 + .../GoogleAds/V2/Services/ClickConversion.php | 495 ++ .../V2/Services/ClickConversionResult.php | 228 + .../V2/Services/ClickViewServiceClient.php | 38 + .../Services/ClickViewServiceGrpcClient.php | 52 + .../V2/Services/ConversionActionOperation.php | 172 + .../ConversionActionServiceClient.php | 38 + .../ConversionActionServiceGrpcClient.php | 67 + .../V2/Services/ConversionAdjustment.php | 372 + .../Services/ConversionAdjustmentResult.php | 302 + ...onversionAdjustmentUploadServiceClient.php | 38 + ...rsionAdjustmentUploadServiceGrpcClient.php | 50 + .../ConversionUploadServiceClient.php | 38 + .../ConversionUploadServiceGrpcClient.php | 64 + .../CreateCampaignExperimentMetadata.php | 68 + .../CreateCampaignExperimentRequest.php | 139 + .../Services/CreateCustomerClientRequest.php | 212 + .../Services/CreateCustomerClientResponse.php | 67 + .../V2/Services/CreateMutateJobRequest.php | 67 + .../V2/Services/CreateMutateJobResponse.php | 67 + .../V2/Services/CustomInterestOperation.php | 138 + .../Services/CustomInterestServiceClient.php | 38 + .../CustomInterestServiceGrpcClient.php | 66 + .../Services/CustomerClientLinkOperation.php | 132 + .../CustomerClientLinkServiceClient.php | 38 + .../CustomerClientLinkServiceGrpcClient.php | 64 + .../Services/CustomerClientServiceClient.php | 38 + .../CustomerClientServiceGrpcClient.php | 52 + .../CustomerExtensionSettingOperation.php | 172 + .../CustomerExtensionSettingServiceClient.php | 38 + ...tomerExtensionSettingServiceGrpcClient.php | 67 + .../V2/Services/CustomerFeedOperation.php | 169 + .../V2/Services/CustomerFeedServiceClient.php | 38 + .../CustomerFeedServiceGrpcClient.php | 67 + .../V2/Services/CustomerLabelOperation.php | 107 + .../Services/CustomerLabelServiceClient.php | 38 + .../CustomerLabelServiceGrpcClient.php | 67 + .../Services/CustomerManagerLinkOperation.php | 108 + .../CustomerManagerLinkServiceClient.php | 38 + .../CustomerManagerLinkServiceGrpcClient.php | 64 + .../CustomerNegativeCriterionOperation.php | 104 + ...CustomerNegativeCriterionServiceClient.php | 38 + ...omerNegativeCriterionServiceGrpcClient.php | 66 + .../V2/Services/CustomerOperation.php | 101 + .../V2/Services/CustomerServiceClient.php | 38 + .../V2/Services/CustomerServiceGrpcClient.php | 95 + .../DetailPlacementViewServiceClient.php | 38 + .../DetailPlacementViewServiceGrpcClient.php | 52 + .../Services/DismissRecommendationRequest.php | 155 + .../DismissRecommendationOperation.php | 70 + ...Request_DismissRecommendationOperation.php | 16 + .../DismissRecommendationResponse.php | 113 + .../DismissRecommendationResult.php | 70 + ...onResponse_DismissRecommendationResult.php | 16 + .../DisplayKeywordViewServiceClient.php | 38 + .../DisplayKeywordViewServiceGrpcClient.php | 52 + .../V2/Services/DistanceViewServiceClient.php | 38 + .../DistanceViewServiceGrpcClient.php | 52 + .../Services/DomainCategoryServiceClient.php | 38 + .../DomainCategoryServiceGrpcClient.php | 52 + ...icSearchAdsSearchTermViewServiceClient.php | 38 + ...archAdsSearchTermViewServiceGrpcClient.php | 52 + .../Services/EndCampaignExperimentRequest.php | 67 + .../ExpandedLandingPageViewServiceClient.php | 38 + ...pandedLandingPageViewServiceGrpcClient.php | 52 + .../Services/ExtensionFeedItemOperation.php | 172 + .../ExtensionFeedItemServiceClient.php | 38 + .../ExtensionFeedItemServiceGrpcClient.php | 67 + .../V2/Services/ExternalAttributionData.php | 165 + .../V2/Services/FeedItemOperation.php | 169 + .../V2/Services/FeedItemServiceClient.php | 38 + .../V2/Services/FeedItemServiceGrpcClient.php | 67 + .../V2/Services/FeedItemTargetOperation.php | 107 + .../Services/FeedItemTargetServiceClient.php | 38 + .../FeedItemTargetServiceGrpcClient.php | 66 + .../V2/Services/FeedMappingOperation.php | 104 + .../V2/Services/FeedMappingServiceClient.php | 38 + .../Services/FeedMappingServiceGrpcClient.php | 67 + .../GoogleAds/V2/Services/FeedOperation.php | 169 + .../FeedPlaceholderViewServiceClient.php | 38 + .../FeedPlaceholderViewServiceGrpcClient.php | 52 + .../V2/Services/FeedServiceClient.php | 38 + .../V2/Services/FeedServiceGrpcClient.php | 67 + .../GoogleAds/V2/Services/ForecastMetrics.php | 348 + ...ccountBudgetProposalServiceGapicClient.php | 377 + .../Gapic/AccountBudgetServiceGapicClient.php | 303 + .../AdGroupAdAssetViewServiceGapicClient.php | 301 + .../AdGroupAdLabelServiceGapicClient.php | 372 + .../Gapic/AdGroupAdServiceGapicClient.php | 371 + .../AdGroupAudienceViewServiceGapicClient.php | 301 + .../AdGroupBidModifierServiceGapicClient.php | 372 + ...dGroupCriterionLabelServiceGapicClient.php | 372 + .../AdGroupCriterionServiceGapicClient.php | 371 + ...pCriterionSimulationServiceGapicClient.php | 301 + ...roupExtensionSettingServiceGapicClient.php | 374 + .../Gapic/AdGroupFeedServiceGapicClient.php | 372 + .../Gapic/AdGroupLabelServiceGapicClient.php | 372 + .../Gapic/AdGroupServiceGapicClient.php | 371 + .../AdGroupSimulationServiceGapicClient.php | 301 + .../Gapic/AdParameterServiceGapicClient.php | 372 + .../AdScheduleViewServiceGapicClient.php | 301 + .../Services/Gapic/AdServiceGapicClient.php | 357 + .../Gapic/AgeRangeViewServiceGapicClient.php | 301 + .../Gapic/AssetServiceGapicClient.php | 359 + .../BiddingStrategyServiceGapicClient.php | 372 + .../Gapic/BillingSetupServiceGapicClient.php | 365 + ...CampaignAudienceViewServiceGapicClient.php | 301 + .../CampaignBidModifierServiceGapicClient.php | 372 + .../CampaignBudgetServiceGapicClient.php | 372 + .../CampaignCriterionServiceGapicClient.php | 371 + ...nCriterionSimulationServiceGapicClient.php | 301 + .../Gapic/CampaignDraftServiceGapicClient.php | 582 ++ .../CampaignExperimentServiceGapicClient.php | 792 ++ ...aignExtensionSettingServiceGapicClient.php | 374 + .../Gapic/CampaignFeedServiceGapicClient.php | 372 + .../Gapic/CampaignLabelServiceGapicClient.php | 372 + .../Gapic/CampaignServiceGapicClient.php | 371 + .../CampaignSharedSetServiceGapicClient.php | 371 + .../CarrierConstantServiceGapicClient.php | 299 + .../Gapic/ChangeStatusServiceGapicClient.php | 301 + .../Gapic/ClickViewServiceGapicClient.php | 301 + .../ConversionActionServiceGapicClient.php | 372 + ...sionAdjustmentUploadServiceGapicClient.php | 233 + .../ConversionUploadServiceGapicClient.php | 303 + .../CustomInterestServiceGapicClient.php | 363 + .../CustomerClientLinkServiceGapicClient.php | 357 + .../CustomerClientServiceGapicClient.php | 301 + ...omerExtensionSettingServiceGapicClient.php | 374 + .../Gapic/CustomerFeedServiceGapicClient.php | 372 + .../Gapic/CustomerLabelServiceGapicClient.php | 372 + .../CustomerManagerLinkServiceGapicClient.php | 357 + ...merNegativeCriterionServiceGapicClient.php | 371 + .../Gapic/CustomerServiceGapicClient.php | 475 + .../DetailPlacementViewServiceGapicClient.php | 301 + .../DisplayKeywordViewServiceGapicClient.php | 301 + .../Gapic/DistanceViewServiceGapicClient.php | 301 + .../DomainCategoryServiceGapicClient.php | 301 + ...rchAdsSearchTermViewServiceGapicClient.php | 301 + ...andedLandingPageViewServiceGapicClient.php | 301 + .../ExtensionFeedItemServiceGapicClient.php | 373 + .../Gapic/FeedItemServiceGapicClient.php | 372 + .../FeedItemTargetServiceGapicClient.php | 357 + .../Gapic/FeedMappingServiceGapicClient.php | 372 + .../FeedPlaceholderViewServiceGapicClient.php | 301 + .../Services/Gapic/FeedServiceGapicClient.php | 372 + .../Gapic/GenderViewServiceGapicClient.php | 301 + .../GeoTargetConstantServiceGapicClient.php | 362 + .../GeographicViewServiceGapicClient.php | 301 + .../GoogleAdsFieldServiceGapicClient.php | 374 + .../Gapic/GoogleAdsServiceGapicClient.php | 394 + .../GroupPlacementViewServiceGapicClient.php | 301 + .../HotelGroupViewServiceGapicClient.php | 301 + ...HotelPerformanceViewServiceGapicClient.php | 299 + .../KeywordPlanAdGroupServiceGapicClient.php | 372 + .../KeywordPlanCampaignServiceGapicClient.php | 372 + .../KeywordPlanIdeaServiceGapicClient.php | 250 + .../KeywordPlanKeywordServiceGapicClient.php | 372 + ...dPlanNegativeKeywordServiceGapicClient.php | 373 + .../Gapic/KeywordPlanServiceGapicClient.php | 477 + .../Gapic/KeywordViewServiceGapicClient.php | 301 + .../Gapic/LabelServiceGapicClient.php | 371 + .../LandingPageViewServiceGapicClient.php | 301 + .../LanguageConstantServiceGapicClient.php | 299 + .../Gapic/LocationViewServiceGapicClient.php | 301 + ...ManagedPlacementViewServiceGapicClient.php | 301 + .../Gapic/MediaFileServiceGapicClient.php | 371 + .../MerchantCenterLinkServiceGapicClient.php | 411 + ...eAppCategoryConstantServiceGapicClient.php | 299 + ...MobileDeviceConstantServiceGapicClient.php | 299 + .../Gapic/MutateJobServiceGapicClient.php | 631 ++ ...ystemVersionConstantServiceGapicClient.php | 299 + ...rganicSearchTermViewServiceGapicClient.php | 301 + .../ParentalStatusViewServiceGapicClient.php | 301 + .../PaymentsAccountServiceGapicClient.php | 217 + ...dingCategoryConstantServiceGapicClient.php | 299 + .../ProductGroupViewServiceGapicClient.php | 301 + .../RecommendationServiceGapicClient.php | 433 + .../RemarketingActionServiceGapicClient.php | 371 + .../SearchTermViewServiceGapicClient.php | 301 + .../SharedCriterionServiceGapicClient.php | 371 + .../Gapic/SharedSetServiceGapicClient.php | 371 + ...ppingPerformanceViewServiceGapicClient.php | 299 + .../Gapic/TopicConstantServiceGapicClient.php | 299 + .../Gapic/TopicViewServiceGapicClient.php | 301 + .../Gapic/UserInterestServiceGapicClient.php | 301 + .../Gapic/UserListServiceGapicClient.php | 371 + .../UserLocationViewServiceGapicClient.php | 301 + .../Gapic/VideoServiceGapicClient.php | 301 + .../V2/Services/GclidDateTimePair.php | 178 + .../V2/Services/GenderViewServiceClient.php | 38 + .../Services/GenderViewServiceGrpcClient.php | 52 + .../GenerateForecastMetricsRequest.php | 67 + .../GenerateForecastMetricsResponse.php | 139 + .../GenerateHistoricalMetricsRequest.php | 71 + .../GenerateHistoricalMetricsResponse.php | 67 + .../Services/GenerateKeywordIdeaResponse.php | 67 + .../V2/Services/GenerateKeywordIdeaResult.php | 148 + .../Services/GenerateKeywordIdeasRequest.php | 304 + .../GeoTargetConstantServiceClient.php | 38 + .../GeoTargetConstantServiceGrpcClient.php | 66 + .../Services/GeoTargetConstantSuggestion.php | 320 + .../Services/GeographicViewServiceClient.php | 38 + .../GeographicViewServiceGrpcClient.php | 52 + .../GetAccountBudgetProposalRequest.php | 68 + .../V2/Services/GetAccountBudgetRequest.php | 68 + .../Services/GetAdGroupAdAssetViewRequest.php | 67 + .../V2/Services/GetAdGroupAdLabelRequest.php | 67 + .../V2/Services/GetAdGroupAdRequest.php | 67 + .../GetAdGroupAudienceViewRequest.php | 67 + .../Services/GetAdGroupBidModifierRequest.php | 67 + .../GetAdGroupCriterionLabelRequest.php | 68 + .../Services/GetAdGroupCriterionRequest.php | 67 + .../GetAdGroupCriterionSimulationRequest.php | 68 + .../GetAdGroupExtensionSettingRequest.php | 68 + .../V2/Services/GetAdGroupFeedRequest.php | 67 + .../V2/Services/GetAdGroupLabelRequest.php | 67 + .../V2/Services/GetAdGroupRequest.php | 67 + .../Services/GetAdGroupSimulationRequest.php | 67 + .../V2/Services/GetAdParameterRequest.php | 67 + .../GoogleAds/V2/Services/GetAdRequest.php | 67 + .../V2/Services/GetAdScheduleViewRequest.php | 67 + .../V2/Services/GetAgeRangeViewRequest.php | 67 + .../GoogleAds/V2/Services/GetAssetRequest.php | 67 + .../V2/Services/GetBiddingStrategyRequest.php | 67 + .../V2/Services/GetBillingSetupRequest.php | 68 + .../GetCampaignAudienceViewRequest.php | 67 + .../GetCampaignBidModifierRequest.php | 67 + .../V2/Services/GetCampaignBudgetRequest.php | 67 + .../Services/GetCampaignCriterionRequest.php | 67 + .../GetCampaignCriterionSimulationRequest.php | 68 + .../V2/Services/GetCampaignDraftRequest.php | 67 + .../Services/GetCampaignExperimentRequest.php | 67 + .../GetCampaignExtensionSettingRequest.php | 68 + .../V2/Services/GetCampaignFeedRequest.php | 67 + .../V2/Services/GetCampaignLabelRequest.php | 67 + .../V2/Services/GetCampaignRequest.php | 67 + .../Services/GetCampaignSharedSetRequest.php | 67 + .../V2/Services/GetCarrierConstantRequest.php | 67 + .../V2/Services/GetChangeStatusRequest.php | 67 + .../V2/Services/GetClickViewRequest.php | 67 + .../Services/GetConversionActionRequest.php | 67 + .../V2/Services/GetCustomInterestRequest.php | 67 + .../Services/GetCustomerClientLinkRequest.php | 67 + .../V2/Services/GetCustomerClientRequest.php | 67 + .../GetCustomerExtensionSettingRequest.php | 68 + .../V2/Services/GetCustomerFeedRequest.php | 67 + .../V2/Services/GetCustomerLabelRequest.php | 67 + .../GetCustomerManagerLinkRequest.php | 67 + .../GetCustomerNegativeCriterionRequest.php | 68 + .../V2/Services/GetCustomerRequest.php | 67 + .../GetDetailPlacementViewRequest.php | 67 + .../Services/GetDisplayKeywordViewRequest.php | 67 + .../V2/Services/GetDistanceViewRequest.php | 67 + .../V2/Services/GetDomainCategoryRequest.php | 68 + ...tDynamicSearchAdsSearchTermViewRequest.php | 68 + .../GetExpandedLandingPageViewRequest.php | 68 + .../Services/GetExtensionFeedItemRequest.php | 67 + .../V2/Services/GetFeedItemRequest.php | 67 + .../V2/Services/GetFeedItemTargetRequest.php | 67 + .../V2/Services/GetFeedMappingRequest.php | 67 + .../GetFeedPlaceholderViewRequest.php | 67 + .../GoogleAds/V2/Services/GetFeedRequest.php | 67 + .../V2/Services/GetGenderViewRequest.php | 67 + .../Services/GetGeoTargetConstantRequest.php | 67 + .../V2/Services/GetGeographicViewRequest.php | 67 + .../V2/Services/GetGoogleAdsFieldRequest.php | 67 + .../Services/GetGroupPlacementViewRequest.php | 67 + .../V2/Services/GetHotelGroupViewRequest.php | 67 + .../GetHotelPerformanceViewRequest.php | 67 + .../Services/GetKeywordPlanAdGroupRequest.php | 67 + .../GetKeywordPlanCampaignRequest.php | 67 + .../Services/GetKeywordPlanKeywordRequest.php | 67 + .../GetKeywordPlanNegativeKeywordRequest.php | 68 + .../V2/Services/GetKeywordPlanRequest.php | 67 + .../V2/Services/GetKeywordViewRequest.php | 67 + .../GoogleAds/V2/Services/GetLabelRequest.php | 67 + .../V2/Services/GetLandingPageViewRequest.php | 67 + .../Services/GetLanguageConstantRequest.php | 67 + .../V2/Services/GetLocationViewRequest.php | 67 + .../GetManagedPlacementViewRequest.php | 67 + .../V2/Services/GetMediaFileRequest.php | 67 + .../Services/GetMerchantCenterLinkRequest.php | 67 + .../GetMobileAppCategoryConstantRequest.php | 68 + .../GetMobileDeviceConstantRequest.php | 67 + .../V2/Services/GetMutateJobRequest.php | 67 + ...tOperatingSystemVersionConstantRequest.php | 68 + .../GetPaidOrganicSearchTermViewRequest.php | 68 + .../Services/GetParentalStatusViewRequest.php | 67 + ...tProductBiddingCategoryConstantRequest.php | 68 + .../Services/GetProductGroupViewRequest.php | 67 + .../V2/Services/GetRecommendationRequest.php | 67 + .../Services/GetRemarketingActionRequest.php | 67 + .../V2/Services/GetSearchTermViewRequest.php | 67 + .../V2/Services/GetSharedCriterionRequest.php | 67 + .../V2/Services/GetSharedSetRequest.php | 67 + .../GetShoppingPerformanceViewRequest.php | 68 + .../V2/Services/GetTopicConstantRequest.php | 67 + .../V2/Services/GetTopicViewRequest.php | 67 + .../V2/Services/GetUserInterestRequest.php | 67 + .../V2/Services/GetUserListRequest.php | 67 + .../Services/GetUserLocationViewRequest.php | 67 + .../GoogleAds/V2/Services/GetVideoRequest.php | 67 + .../Services/GoogleAdsFieldServiceClient.php | 38 + .../GoogleAdsFieldServiceGrpcClient.php | 66 + .../GoogleAds/V2/Services/GoogleAdsRow.php | 3365 +++++++ .../V2/Services/GoogleAdsServiceClient.php | 38 + .../Services/GoogleAdsServiceGrpcClient.php | 116 + .../GraduateCampaignExperimentRequest.php | 105 + .../GraduateCampaignExperimentResponse.php | 71 + .../GroupPlacementViewServiceClient.php | 38 + .../GroupPlacementViewServiceGrpcClient.php | 52 + .../Services/HotelGroupViewServiceClient.php | 38 + .../HotelGroupViewServiceGrpcClient.php | 52 + .../HotelPerformanceViewServiceClient.php | 38 + .../HotelPerformanceViewServiceGrpcClient.php | 52 + .../V2/Services/KeywordAndUrlSeed.php | 130 + .../Services/KeywordPlanAdGroupForecast.php | 136 + .../Services/KeywordPlanAdGroupOperation.php | 176 + .../KeywordPlanAdGroupServiceClient.php | 38 + .../KeywordPlanAdGroupServiceGrpcClient.php | 67 + .../Services/KeywordPlanCampaignForecast.php | 136 + .../Services/KeywordPlanCampaignOperation.php | 176 + .../KeywordPlanCampaignServiceClient.php | 38 + .../KeywordPlanCampaignServiceGrpcClient.php | 67 + .../Services/KeywordPlanIdeaServiceClient.php | 38 + .../KeywordPlanIdeaServiceGrpcClient.php | 52 + .../Services/KeywordPlanKeywordForecast.php | 136 + .../KeywordPlanKeywordHistoricalMetrics.php | 164 + .../Services/KeywordPlanKeywordOperation.php | 176 + .../KeywordPlanKeywordServiceClient.php | 38 + .../KeywordPlanKeywordServiceGrpcClient.php | 67 + .../KeywordPlanNegativeKeywordOperation.php | 177 + ...eywordPlanNegativeKeywordServiceClient.php | 38 + ...rdPlanNegativeKeywordServiceGrpcClient.php | 67 + .../V2/Services/KeywordPlanOperation.php | 173 + .../V2/Services/KeywordPlanServiceClient.php | 38 + .../Services/KeywordPlanServiceGrpcClient.php | 95 + .../Ads/GoogleAds/V2/Services/KeywordSeed.php | 67 + .../V2/Services/KeywordViewServiceClient.php | 38 + .../Services/KeywordViewServiceGrpcClient.php | 52 + .../GoogleAds/V2/Services/LabelOperation.php | 166 + .../V2/Services/LabelServiceClient.php | 38 + .../V2/Services/LabelServiceGrpcClient.php | 64 + .../Services/LandingPageViewServiceClient.php | 38 + .../LandingPageViewServiceGrpcClient.php | 52 + .../LanguageConstantServiceClient.php | 38 + .../LanguageConstantServiceGrpcClient.php | 52 + .../ListAccessibleCustomersRequest.php | 33 + .../ListAccessibleCustomersResponse.php | 71 + .../ListCampaignDraftAsyncErrorsRequest.php | 155 + .../ListCampaignDraftAsyncErrorsResponse.php | 113 + ...stCampaignExperimentAsyncErrorsRequest.php | 160 + ...tCampaignExperimentAsyncErrorsResponse.php | 114 + .../ListMerchantCenterLinksRequest.php | 71 + .../ListMerchantCenterLinksResponse.php | 67 + .../Services/ListMutateJobResultsRequest.php | 155 + .../Services/ListMutateJobResultsResponse.php | 113 + .../Services/ListPaymentsAccountsRequest.php | 67 + .../Services/ListPaymentsAccountsResponse.php | 67 + .../V2/Services/LocationViewServiceClient.php | 38 + .../LocationViewServiceGrpcClient.php | 52 + .../ManagedPlacementViewServiceClient.php | 38 + .../ManagedPlacementViewServiceGrpcClient.php | 52 + .../V2/Services/MediaFileOperation.php | 70 + .../V2/Services/MediaFileServiceClient.php | 38 + .../Services/MediaFileServiceGrpcClient.php | 66 + .../Services/MerchantCenterLinkOperation.php | 141 + .../MerchantCenterLinkServiceClient.php | 38 + .../MerchantCenterLinkServiceGrpcClient.php | 81 + ...MobileAppCategoryConstantServiceClient.php | 38 + ...leAppCategoryConstantServiceGrpcClient.php | 50 + .../MobileDeviceConstantServiceClient.php | 38 + .../MobileDeviceConstantServiceGrpcClient.php | 52 + .../MutateAccountBudgetProposalRequest.php | 140 + .../MutateAccountBudgetProposalResponse.php | 67 + .../MutateAccountBudgetProposalResult.php | 67 + .../Services/MutateAdGroupAdLabelResult.php | 67 + .../Services/MutateAdGroupAdLabelsRequest.php | 185 + .../MutateAdGroupAdLabelsResponse.php | 113 + .../V2/Services/MutateAdGroupAdResult.php | 67 + .../V2/Services/MutateAdGroupAdsRequest.php | 185 + .../V2/Services/MutateAdGroupAdsResponse.php | 113 + .../MutateAdGroupBidModifierResult.php | 67 + .../MutateAdGroupBidModifiersRequest.php | 185 + .../MutateAdGroupBidModifiersResponse.php | 113 + .../Services/MutateAdGroupCriteriaRequest.php | 185 + .../MutateAdGroupCriteriaResponse.php | 113 + .../MutateAdGroupCriterionLabelResult.php | 67 + .../MutateAdGroupCriterionLabelsRequest.php | 186 + .../MutateAdGroupCriterionLabelsResponse.php | 113 + .../Services/MutateAdGroupCriterionResult.php | 67 + .../MutateAdGroupExtensionSettingResult.php | 67 + .../MutateAdGroupExtensionSettingsRequest.php | 194 + ...MutateAdGroupExtensionSettingsResponse.php | 113 + .../V2/Services/MutateAdGroupFeedResult.php | 67 + .../V2/Services/MutateAdGroupFeedsRequest.php | 185 + .../Services/MutateAdGroupFeedsResponse.php | 113 + .../V2/Services/MutateAdGroupLabelResult.php | 67 + .../Services/MutateAdGroupLabelsRequest.php | 185 + .../Services/MutateAdGroupLabelsResponse.php | 113 + .../V2/Services/MutateAdGroupResult.php | 67 + .../V2/Services/MutateAdGroupsRequest.php | 185 + .../V2/Services/MutateAdGroupsResponse.php | 113 + .../V2/Services/MutateAdParameterResult.php | 67 + .../V2/Services/MutateAdParametersRequest.php | 185 + .../Services/MutateAdParametersResponse.php | 113 + .../GoogleAds/V2/Services/MutateAdResult.php | 67 + .../V2/Services/MutateAdsRequest.php | 101 + .../V2/Services/MutateAdsResponse.php | 67 + .../V2/Services/MutateAssetResult.php | 67 + .../V2/Services/MutateAssetsRequest.php | 101 + .../V2/Services/MutateAssetsResponse.php | 67 + .../MutateBiddingStrategiesRequest.php | 185 + .../MutateBiddingStrategiesResponse.php | 113 + .../Services/MutateBiddingStrategyResult.php | 67 + .../V2/Services/MutateBillingSetupRequest.php | 101 + .../Services/MutateBillingSetupResponse.php | 67 + .../V2/Services/MutateBillingSetupResult.php | 67 + .../MutateCampaignBidModifierResult.php | 67 + .../MutateCampaignBidModifiersRequest.php | 185 + .../MutateCampaignBidModifiersResponse.php | 113 + .../Services/MutateCampaignBudgetResult.php | 67 + .../Services/MutateCampaignBudgetsRequest.php | 185 + .../MutateCampaignBudgetsResponse.php | 113 + .../MutateCampaignCriteriaRequest.php | 185 + .../MutateCampaignCriteriaResponse.php | 113 + .../MutateCampaignCriterionResult.php | 67 + .../V2/Services/MutateCampaignDraftResult.php | 67 + .../Services/MutateCampaignDraftsRequest.php | 185 + .../Services/MutateCampaignDraftsResponse.php | 113 + .../MutateCampaignExperimentResult.php | 67 + .../MutateCampaignExperimentsRequest.php | 185 + .../MutateCampaignExperimentsResponse.php | 113 + .../MutateCampaignExtensionSettingResult.php | 67 + ...MutateCampaignExtensionSettingsRequest.php | 194 + ...utateCampaignExtensionSettingsResponse.php | 113 + .../V2/Services/MutateCampaignFeedResult.php | 67 + .../Services/MutateCampaignFeedsRequest.php | 185 + .../Services/MutateCampaignFeedsResponse.php | 113 + .../V2/Services/MutateCampaignLabelResult.php | 67 + .../Services/MutateCampaignLabelsRequest.php | 185 + .../Services/MutateCampaignLabelsResponse.php | 113 + .../V2/Services/MutateCampaignResult.php | 67 + .../MutateCampaignSharedSetResult.php | 67 + .../MutateCampaignSharedSetsRequest.php | 185 + .../MutateCampaignSharedSetsResponse.php | 113 + .../V2/Services/MutateCampaignsRequest.php | 185 + .../V2/Services/MutateCampaignsResponse.php | 113 + .../Services/MutateConversionActionResult.php | 67 + .../MutateConversionActionsRequest.php | 185 + .../MutateConversionActionsResponse.php | 113 + .../Services/MutateCustomInterestResult.php | 67 + .../Services/MutateCustomInterestsRequest.php | 139 + .../MutateCustomInterestsResponse.php | 67 + .../MutateCustomerClientLinkRequest.php | 101 + .../MutateCustomerClientLinkResponse.php | 67 + .../MutateCustomerClientLinkResult.php | 67 + .../MutateCustomerExtensionSettingResult.php | 67 + ...MutateCustomerExtensionSettingsRequest.php | 194 + ...utateCustomerExtensionSettingsResponse.php | 113 + .../V2/Services/MutateCustomerFeedResult.php | 67 + .../Services/MutateCustomerFeedsRequest.php | 185 + .../Services/MutateCustomerFeedsResponse.php | 113 + .../V2/Services/MutateCustomerLabelResult.php | 67 + .../Services/MutateCustomerLabelsRequest.php | 185 + .../Services/MutateCustomerLabelsResponse.php | 113 + .../MutateCustomerManagerLinkRequest.php | 101 + .../MutateCustomerManagerLinkResponse.php | 67 + .../MutateCustomerManagerLinkResult.php | 67 + .../MutateCustomerNegativeCriteriaRequest.php | 186 + ...MutateCustomerNegativeCriteriaResponse.php | 113 + .../MutateCustomerNegativeCriteriaResult.php | 67 + .../V2/Services/MutateCustomerRequest.php | 139 + .../V2/Services/MutateCustomerResponse.php | 67 + .../V2/Services/MutateCustomerResult.php | 67 + .../MutateExtensionFeedItemResult.php | 67 + .../MutateExtensionFeedItemsRequest.php | 189 + .../MutateExtensionFeedItemsResponse.php | 113 + .../V2/Services/MutateFeedItemResult.php | 67 + .../Services/MutateFeedItemTargetResult.php | 67 + .../Services/MutateFeedItemTargetsRequest.php | 101 + .../MutateFeedItemTargetsResponse.php | 67 + .../V2/Services/MutateFeedItemsRequest.php | 185 + .../V2/Services/MutateFeedItemsResponse.php | 113 + .../V2/Services/MutateFeedMappingResult.php | 67 + .../V2/Services/MutateFeedMappingsRequest.php | 185 + .../Services/MutateFeedMappingsResponse.php | 113 + .../V2/Services/MutateFeedResult.php | 67 + .../V2/Services/MutateFeedsRequest.php | 185 + .../V2/Services/MutateFeedsResponse.php | 113 + .../V2/Services/MutateGoogleAdsRequest.php | 185 + .../V2/Services/MutateGoogleAdsResponse.php | 113 + .../GoogleAds/V2/Services/MutateJobResult.php | 139 + .../V2/Services/MutateJobServiceClient.php | 38 + .../Services/MutateJobServiceGrpcClient.php | 113 + .../MutateKeywordPlanAdGroupResult.php | 67 + .../MutateKeywordPlanAdGroupsRequest.php | 185 + .../MutateKeywordPlanAdGroupsResponse.php | 113 + .../MutateKeywordPlanCampaignResult.php | 67 + .../MutateKeywordPlanCampaignsRequest.php | 186 + .../MutateKeywordPlanCampaignsResponse.php | 113 + .../MutateKeywordPlanKeywordResult.php | 67 + .../MutateKeywordPlanKeywordsRequest.php | 185 + .../MutateKeywordPlanKeywordsResponse.php | 113 + ...MutateKeywordPlanNegativeKeywordResult.php | 67 + ...tateKeywordPlanNegativeKeywordsRequest.php | 190 + ...ateKeywordPlanNegativeKeywordsResponse.php | 113 + .../V2/Services/MutateKeywordPlansRequest.php | 185 + .../Services/MutateKeywordPlansResponse.php | 113 + .../V2/Services/MutateKeywordPlansResult.php | 67 + .../V2/Services/MutateLabelResult.php | 67 + .../V2/Services/MutateLabelsRequest.php | 185 + .../V2/Services/MutateLabelsResponse.php | 113 + .../V2/Services/MutateMediaFileResult.php | 67 + .../V2/Services/MutateMediaFilesRequest.php | 185 + .../V2/Services/MutateMediaFilesResponse.php | 113 + .../MutateMerchantCenterLinkRequest.php | 101 + .../MutateMerchantCenterLinkResponse.php | 67 + .../MutateMerchantCenterLinkResult.php | 67 + .../GoogleAds/V2/Services/MutateOperation.php | 1134 +++ .../V2/Services/MutateOperationResponse.php | 1134 +++ .../MutateRemarketingActionResult.php | 67 + .../MutateRemarketingActionsRequest.php | 185 + .../MutateRemarketingActionsResponse.php | 113 + .../Services/MutateSharedCriteriaRequest.php | 185 + .../Services/MutateSharedCriteriaResponse.php | 113 + .../Services/MutateSharedCriterionResult.php | 67 + .../V2/Services/MutateSharedSetResult.php | 67 + .../V2/Services/MutateSharedSetsRequest.php | 185 + .../V2/Services/MutateSharedSetsResponse.php | 113 + .../V2/Services/MutateUserListResult.php | 67 + .../V2/Services/MutateUserListsRequest.php | 185 + .../V2/Services/MutateUserListsResponse.php | 113 + ...tingSystemVersionConstantServiceClient.php | 38 + ...SystemVersionConstantServiceGrpcClient.php | 52 + ...PaidOrganicSearchTermViewServiceClient.php | 38 + ...OrganicSearchTermViewServiceGrpcClient.php | 52 + .../ParentalStatusViewServiceClient.php | 38 + .../ParentalStatusViewServiceGrpcClient.php | 52 + .../Services/PaymentsAccountServiceClient.php | 38 + .../PaymentsAccountServiceGrpcClient.php | 55 + ...ctBiddingCategoryConstantServiceClient.php | 38 + ...ddingCategoryConstantServiceGrpcClient.php | 52 + .../ProductGroupViewServiceClient.php | 38 + .../ProductGroupViewServiceGrpcClient.php | 52 + .../Services/PromoteCampaignDraftRequest.php | 67 + .../PromoteCampaignExperimentRequest.php | 67 + .../Services/RecommendationServiceClient.php | 38 + .../RecommendationServiceGrpcClient.php | 80 + .../Services/RemarketingActionOperation.php | 138 + .../RemarketingActionServiceClient.php | 38 + .../RemarketingActionServiceGrpcClient.php | 66 + .../V2/Services/RestatementValue.php | 189 + .../V2/Services/RunMutateJobRequest.php | 67 + .../Services/SearchGoogleAdsFieldsRequest.php | 151 + .../SearchGoogleAdsFieldsResponse.php | 143 + .../V2/Services/SearchGoogleAdsRequest.php | 261 + .../V2/Services/SearchGoogleAdsResponse.php | 227 + .../Services/SearchTermViewServiceClient.php | 38 + .../SearchTermViewServiceGrpcClient.php | 52 + .../V2/Services/SharedCriterionOperation.php | 107 + .../Services/SharedCriterionServiceClient.php | 38 + .../SharedCriterionServiceGrpcClient.php | 66 + .../V2/Services/SharedSetOperation.php | 169 + .../V2/Services/SharedSetServiceClient.php | 38 + .../Services/SharedSetServiceGrpcClient.php | 66 + .../ShoppingPerformanceViewServiceClient.php | 38 + ...oppingPerformanceViewServiceGrpcClient.php | 52 + .../SuggestGeoTargetConstantsRequest.php | 237 + .../GeoTargets.php | 70 + .../LocationNames.php | 70 + ...stGeoTargetConstantsRequest_GeoTargets.php | 16 + ...eoTargetConstantsRequest_LocationNames.php | 16 + .../SuggestGeoTargetConstantsResponse.php | 67 + .../Services/TopicConstantServiceClient.php | 38 + .../TopicConstantServiceGrpcClient.php | 52 + .../V2/Services/TopicViewServiceClient.php | 38 + .../Services/TopicViewServiceGrpcClient.php | 52 + .../Services/UploadCallConversionsRequest.php | 185 + .../UploadCallConversionsResponse.php | 117 + .../UploadClickConversionsRequest.php | 185 + .../UploadClickConversionsResponse.php | 117 + .../UploadConversionAdjustmentsRequest.php | 186 + .../UploadConversionAdjustmentsResponse.php | 122 + .../Ads/GoogleAds/V2/Services/UrlSeed.php | 96 + .../V2/Services/UserInterestServiceClient.php | 38 + .../UserInterestServiceGrpcClient.php | 52 + .../V2/Services/UserListOperation.php | 169 + .../V2/Services/UserListServiceClient.php | 38 + .../V2/Services/UserListServiceGrpcClient.php | 66 + .../UserLocationViewServiceClient.php | 38 + .../UserLocationViewServiceGrpcClient.php | 52 + .../V2/Services/VideoServiceClient.php | 38 + .../V2/Services/VideoServiceGrpcClient.php | 52 + ...budget_proposal_service_client_config.json | 36 + ...get_proposal_service_descriptor_config.php | 8 + ...et_proposal_service_rest_client_config.php | 90 + .../account_budget_service_client_config.json | 31 + ...count_budget_service_descriptor_config.php | 8 + ...ount_budget_service_rest_client_config.php | 78 + ...p_ad_asset_view_service_client_config.json | 31 + ...d_asset_view_service_descriptor_config.php | 8 + ..._asset_view_service_rest_client_config.php | 78 + ..._group_ad_label_service_client_config.json | 36 + ...oup_ad_label_service_descriptor_config.php | 8 + ...up_ad_label_service_rest_client_config.php | 90 + .../ad_group_ad_service_client_config.json | 36 + .../ad_group_ad_service_descriptor_config.php | 8 + ...ad_group_ad_service_rest_client_config.php | 90 + ...p_audience_view_service_client_config.json | 31 + ...udience_view_service_descriptor_config.php | 8 + ...dience_view_service_rest_client_config.php | 78 + ...up_bid_modifier_service_client_config.json | 36 + ...bid_modifier_service_descriptor_config.php | 8 + ...id_modifier_service_rest_client_config.php | 90 + ...criterion_label_service_client_config.json | 36 + ...terion_label_service_descriptor_config.php | 8 + ...erion_label_service_rest_client_config.php | 90 + ...group_criterion_service_client_config.json | 36 + ...up_criterion_service_descriptor_config.php | 8 + ...p_criterion_service_rest_client_config.php | 90 + ...rion_simulation_service_client_config.json | 31 + ...n_simulation_service_descriptor_config.php | 8 + ..._simulation_service_rest_client_config.php | 78 + ...tension_setting_service_client_config.json | 36 + ...sion_setting_service_descriptor_config.php | 8 + ...ion_setting_service_rest_client_config.php | 90 + .../ad_group_feed_service_client_config.json | 36 + ...d_group_feed_service_descriptor_config.php | 8 + ..._group_feed_service_rest_client_config.php | 90 + .../ad_group_label_service_client_config.json | 36 + ..._group_label_service_descriptor_config.php | 8 + ...group_label_service_rest_client_config.php | 90 + .../ad_group_service_client_config.json | 36 + .../ad_group_service_descriptor_config.php | 8 + .../ad_group_service_rest_client_config.php | 90 + ...roup_simulation_service_client_config.json | 31 + ...p_simulation_service_descriptor_config.php | 8 + ..._simulation_service_rest_client_config.php | 78 + .../ad_parameter_service_client_config.json | 36 + ...ad_parameter_service_descriptor_config.php | 8 + ...d_parameter_service_rest_client_config.php | 90 + ...d_schedule_view_service_client_config.json | 31 + ...chedule_view_service_descriptor_config.php | 8 + ...hedule_view_service_rest_client_config.php | 78 + .../resources/ad_service_client_config.json | 36 + .../ad_service_descriptor_config.php | 8 + .../ad_service_rest_client_config.php | 90 + .../age_range_view_service_client_config.json | 31 + ...e_range_view_service_descriptor_config.php | 8 + ..._range_view_service_rest_client_config.php | 78 + .../asset_service_client_config.json | 36 + .../asset_service_descriptor_config.php | 8 + .../asset_service_rest_client_config.php | 90 + ...idding_strategy_service_client_config.json | 36 + ...ing_strategy_service_descriptor_config.php | 8 + ...ng_strategy_service_rest_client_config.php | 90 + .../billing_setup_service_client_config.json | 36 + ...illing_setup_service_descriptor_config.php | 8 + ...lling_setup_service_rest_client_config.php | 90 + ...n_audience_view_service_client_config.json | 31 + ...udience_view_service_descriptor_config.php | 8 + ...dience_view_service_rest_client_config.php | 78 + ...gn_bid_modifier_service_client_config.json | 36 + ...bid_modifier_service_descriptor_config.php | 8 + ...id_modifier_service_rest_client_config.php | 90 + ...campaign_budget_service_client_config.json | 36 + ...paign_budget_service_descriptor_config.php | 8 + ...aign_budget_service_rest_client_config.php | 90 + ...paign_criterion_service_client_config.json | 36 + ...gn_criterion_service_descriptor_config.php | 8 + ...n_criterion_service_rest_client_config.php | 90 + ...rion_simulation_service_client_config.json | 31 + ...n_simulation_service_descriptor_config.php | 8 + ..._simulation_service_rest_client_config.php | 78 + .../campaign_draft_service_client_config.json | 46 + ...mpaign_draft_service_descriptor_config.php | 28 + ...paign_draft_service_rest_client_config.php | 113 + ...aign_experiment_service_client_config.json | 61 + ...n_experiment_service_descriptor_config.php | 38 + ..._experiment_service_rest_client_config.php | 149 + ...tension_setting_service_client_config.json | 36 + ...sion_setting_service_descriptor_config.php | 8 + ...ion_setting_service_rest_client_config.php | 90 + .../campaign_feed_service_client_config.json | 36 + ...ampaign_feed_service_descriptor_config.php | 8 + ...mpaign_feed_service_rest_client_config.php | 90 + .../campaign_label_service_client_config.json | 36 + ...mpaign_label_service_descriptor_config.php | 8 + ...paign_label_service_rest_client_config.php | 90 + .../campaign_service_client_config.json | 36 + .../campaign_service_descriptor_config.php | 8 + .../campaign_service_rest_client_config.php | 90 + ...aign_shared_set_service_client_config.json | 36 + ...n_shared_set_service_descriptor_config.php | 8 + ..._shared_set_service_rest_client_config.php | 90 + ...arrier_constant_service_client_config.json | 31 + ...ier_constant_service_descriptor_config.php | 8 + ...er_constant_service_rest_client_config.php | 78 + .../change_status_service_client_config.json | 31 + ...hange_status_service_descriptor_config.php | 8 + ...ange_status_service_rest_client_config.php | 78 + .../click_view_service_client_config.json | 31 + .../click_view_service_descriptor_config.php | 8 + .../click_view_service_rest_client_config.php | 78 + ...nversion_action_service_client_config.json | 36 + ...rsion_action_service_descriptor_config.php | 8 + ...sion_action_service_rest_client_config.php | 90 + ...justment_upload_service_client_config.json | 31 + ...tment_upload_service_descriptor_config.php | 8 + ...ment_upload_service_rest_client_config.php | 79 + ...nversion_upload_service_client_config.json | 36 + ...rsion_upload_service_descriptor_config.php | 8 + ...sion_upload_service_rest_client_config.php | 91 + ...custom_interest_service_client_config.json | 36 + ...tom_interest_service_descriptor_config.php | 8 + ...om_interest_service_rest_client_config.php | 90 + ...mer_client_link_service_client_config.json | 36 + ..._client_link_service_descriptor_config.php | 8 + ...client_link_service_rest_client_config.php | 90 + ...customer_client_service_client_config.json | 31 + ...tomer_client_service_descriptor_config.php | 8 + ...omer_client_service_rest_client_config.php | 78 + ...tension_setting_service_client_config.json | 36 + ...sion_setting_service_descriptor_config.php | 8 + ...ion_setting_service_rest_client_config.php | 90 + .../customer_feed_service_client_config.json | 36 + ...ustomer_feed_service_descriptor_config.php | 8 + ...stomer_feed_service_rest_client_config.php | 90 + .../customer_label_service_client_config.json | 36 + ...stomer_label_service_descriptor_config.php | 8 + ...tomer_label_service_rest_client_config.php | 90 + ...er_manager_link_service_client_config.json | 36 + ...manager_link_service_descriptor_config.php | 8 + ...anager_link_service_rest_client_config.php | 90 + ...ative_criterion_service_client_config.json | 36 + ...ve_criterion_service_descriptor_config.php | 8 + ...e_criterion_service_rest_client_config.php | 90 + .../customer_service_client_config.json | 46 + .../customer_service_descriptor_config.php | 8 + .../customer_service_rest_client_config.php | 106 + ..._placement_view_service_client_config.json | 31 + ...acement_view_service_descriptor_config.php | 8 + ...cement_view_service_rest_client_config.php | 78 + ...ay_keyword_view_service_client_config.json | 31 + ...keyword_view_service_descriptor_config.php | 8 + ...eyword_view_service_rest_client_config.php | 78 + .../distance_view_service_client_config.json | 31 + ...istance_view_service_descriptor_config.php | 8 + ...stance_view_service_rest_client_config.php | 78 + ...domain_category_service_client_config.json | 31 + ...ain_category_service_descriptor_config.php | 8 + ...in_category_service_rest_client_config.php | 78 + ...earch_term_view_service_client_config.json | 31 + ...ch_term_view_service_descriptor_config.php | 8 + ...h_term_view_service_rest_client_config.php | 78 + ...nding_page_view_service_client_config.json | 31 + ...ng_page_view_service_descriptor_config.php | 8 + ...g_page_view_service_rest_client_config.php | 78 + ...nsion_feed_item_service_client_config.json | 36 + ...on_feed_item_service_descriptor_config.php | 8 + ...n_feed_item_service_rest_client_config.php | 90 + .../feed_item_service_client_config.json | 36 + .../feed_item_service_descriptor_config.php | 8 + .../feed_item_service_rest_client_config.php | 90 + ...eed_item_target_service_client_config.json | 36 + ..._item_target_service_descriptor_config.php | 8 + ...item_target_service_rest_client_config.php | 90 + .../feed_mapping_service_client_config.json | 36 + ...feed_mapping_service_descriptor_config.php | 8 + ...eed_mapping_service_rest_client_config.php | 90 + ...laceholder_view_service_client_config.json | 31 + ...eholder_view_service_descriptor_config.php | 8 + ...holder_view_service_rest_client_config.php | 78 + .../resources/feed_service_client_config.json | 36 + .../feed_service_descriptor_config.php | 8 + .../feed_service_rest_client_config.php | 90 + .../gender_view_service_client_config.json | 31 + .../gender_view_service_descriptor_config.php | 8 + ...gender_view_service_rest_client_config.php | 78 + ...target_constant_service_client_config.json | 36 + ...get_constant_service_descriptor_config.php | 8 + ...et_constant_service_rest_client_config.php | 83 + ...geographic_view_service_client_config.json | 31 + ...graphic_view_service_descriptor_config.php | 8 + ...raphic_view_service_rest_client_config.php | 78 + ...oogle_ads_field_service_client_config.json | 36 + ...le_ads_field_service_descriptor_config.php | 18 + ...e_ads_field_service_rest_client_config.php | 83 + .../google_ads_service_client_config.json | 36 + .../google_ads_service_descriptor_config.php | 18 + .../google_ads_service_rest_client_config.php | 91 + ..._placement_view_service_client_config.json | 31 + ...acement_view_service_descriptor_config.php | 8 + ...cement_view_service_rest_client_config.php | 78 + ...otel_group_view_service_client_config.json | 31 + ...l_group_view_service_descriptor_config.php | 8 + ..._group_view_service_rest_client_config.php | 78 + ...erformance_view_service_client_config.json | 31 + ...ormance_view_service_descriptor_config.php | 8 + ...rmance_view_service_rest_client_config.php | 78 + ...d_plan_ad_group_service_client_config.json | 36 + ...lan_ad_group_service_descriptor_config.php | 8 + ...an_ad_group_service_rest_client_config.php | 90 + ...d_plan_campaign_service_client_config.json | 36 + ...lan_campaign_service_descriptor_config.php | 8 + ...an_campaign_service_rest_client_config.php | 90 + ...yword_plan_idea_service_client_config.json | 31 + ...rd_plan_idea_service_descriptor_config.php | 8 + ...d_plan_idea_service_rest_client_config.php | 79 + ...rd_plan_keyword_service_client_config.json | 36 + ...plan_keyword_service_descriptor_config.php | 8 + ...lan_keyword_service_rest_client_config.php | 90 + ...egative_keyword_service_client_config.json | 36 + ...tive_keyword_service_descriptor_config.php | 8 + ...ive_keyword_service_rest_client_config.php | 90 + .../keyword_plan_service_client_config.json | 46 + ...keyword_plan_service_descriptor_config.php | 8 + ...eyword_plan_service_rest_client_config.php | 114 + .../keyword_view_service_client_config.json | 31 + ...keyword_view_service_descriptor_config.php | 8 + ...eyword_view_service_rest_client_config.php | 78 + .../label_service_client_config.json | 36 + .../label_service_descriptor_config.php | 8 + .../label_service_rest_client_config.php | 90 + ...nding_page_view_service_client_config.json | 31 + ...ng_page_view_service_descriptor_config.php | 8 + ...g_page_view_service_rest_client_config.php | 78 + ...nguage_constant_service_client_config.json | 31 + ...age_constant_service_descriptor_config.php | 8 + ...ge_constant_service_rest_client_config.php | 78 + .../location_view_service_client_config.json | 31 + ...ocation_view_service_descriptor_config.php | 8 + ...cation_view_service_rest_client_config.php | 78 + ..._placement_view_service_client_config.json | 31 + ...acement_view_service_descriptor_config.php | 8 + ...cement_view_service_rest_client_config.php | 78 + .../media_file_service_client_config.json | 36 + .../media_file_service_descriptor_config.php | 8 + .../media_file_service_rest_client_config.php | 90 + ...ant_center_link_service_client_config.json | 41 + ..._center_link_service_descriptor_config.php | 8 + ...center_link_service_rest_client_config.php | 101 + ...tegory_constant_service_client_config.json | 31 + ...ory_constant_service_descriptor_config.php | 8 + ...ry_constant_service_rest_client_config.php | 78 + ...device_constant_service_client_config.json | 31 + ...ice_constant_service_descriptor_config.php | 8 + ...ce_constant_service_rest_client_config.php | 78 + .../mutate_job_service_client_config.json | 51 + .../mutate_job_service_descriptor_config.php | 28 + .../mutate_job_service_rest_client_config.php | 125 + ...ersion_constant_service_client_config.json | 31 + ...ion_constant_service_descriptor_config.php | 8 + ...on_constant_service_rest_client_config.php | 78 + ...earch_term_view_service_client_config.json | 31 + ...ch_term_view_service_descriptor_config.php | 8 + ...h_term_view_service_rest_client_config.php | 78 + ...tal_status_view_service_client_config.json | 31 + ..._status_view_service_descriptor_config.php | 8 + ...status_view_service_rest_client_config.php | 78 + ...ayments_account_service_client_config.json | 31 + ...ents_account_service_descriptor_config.php | 8 + ...nts_account_service_rest_client_config.php | 78 + ...tegory_constant_service_client_config.json | 31 + ...ory_constant_service_descriptor_config.php | 8 + ...ry_constant_service_rest_client_config.php | 78 + ...duct_group_view_service_client_config.json | 31 + ...t_group_view_service_descriptor_config.php | 8 + ..._group_view_service_rest_client_config.php | 78 + .../recommendation_service_client_config.json | 41 + ...commendation_service_descriptor_config.php | 8 + ...ommendation_service_rest_client_config.php | 102 + ...arketing_action_service_client_config.json | 36 + ...eting_action_service_descriptor_config.php | 8 + ...ting_action_service_rest_client_config.php | 90 + ...earch_term_view_service_client_config.json | 31 + ...ch_term_view_service_descriptor_config.php | 8 + ...h_term_view_service_rest_client_config.php | 78 + ...hared_criterion_service_client_config.json | 36 + ...ed_criterion_service_descriptor_config.php | 8 + ...d_criterion_service_rest_client_config.php | 90 + .../shared_set_service_client_config.json | 36 + .../shared_set_service_descriptor_config.php | 8 + .../shared_set_service_rest_client_config.php | 90 + ...erformance_view_service_client_config.json | 31 + ...ormance_view_service_descriptor_config.php | 8 + ...rmance_view_service_rest_client_config.php | 78 + .../topic_constant_service_client_config.json | 31 + ...pic_constant_service_descriptor_config.php | 8 + ...ic_constant_service_rest_client_config.php | 78 + .../topic_view_service_client_config.json | 31 + .../topic_view_service_descriptor_config.php | 8 + .../topic_view_service_rest_client_config.php | 78 + .../user_interest_service_client_config.json | 31 + ...ser_interest_service_descriptor_config.php | 8 + ...er_interest_service_rest_client_config.php | 78 + .../user_list_service_client_config.json | 36 + .../user_list_service_descriptor_config.php | 8 + .../user_list_service_rest_client_config.php | 90 + ...r_location_view_service_client_config.json | 31 + ...ocation_view_service_descriptor_config.php | 8 + ...cation_view_service_rest_client_config.php | 78 + .../video_service_client_config.json | 31 + .../video_service_descriptor_config.php | 8 + .../video_service_rest_client_config.php | 78 + .../Lib/V2/GoogleAdsClientBuilderTest.php | 309 + .../GoogleAds/Lib/V2/GoogleAdsClientTest.php | 114 + .../Lib/V2/LogMessageFormatterTest.php | 322 + .../Util/V1/GoogleAdsFailuresTest.php | 4 +- .../GoogleAds/Util/V2/GoogleAdsErrorsTest.php | 108 + .../Util/V2/GoogleAdsFailuresTest.php | 60 + .../GoogleAds/Util/V2/PartialFailuresTest.php | 45 + .../GoogleAds/Util/V2/ResourceNamesTest.php | 2163 +++++ ...AccountBudgetProposalServiceClientTest.php | 221 + .../AccountBudgetServiceClientTest.php | 143 + .../AdGroupAdAssetViewServiceClientTest.php | 143 + .../AdGroupAdLabelServiceClientTest.php | 220 + .../Services/AdGroupAdServiceClientTest.php | 220 + .../AdGroupAudienceViewServiceClientTest.php | 143 + .../AdGroupBidModifierServiceClientTest.php | 220 + ...AdGroupCriterionLabelServiceClientTest.php | 220 + .../AdGroupCriterionServiceClientTest.php | 220 + ...upCriterionSimulationServiceClientTest.php | 143 + ...GroupExtensionSettingServiceClientTest.php | 220 + .../Services/AdGroupFeedServiceClientTest.php | 220 + .../AdGroupLabelServiceClientTest.php | 220 + .../V2/Services/AdGroupServiceClientTest.php | 220 + .../AdGroupSimulationServiceClientTest.php | 143 + .../Services/AdParameterServiceClientTest.php | 220 + .../AdScheduleViewServiceClientTest.php | 143 + .../V2/Services/AdServiceClientTest.php | 220 + .../AgeRangeViewServiceClientTest.php | 143 + .../V2/Services/AssetServiceClientTest.php | 220 + .../BiddingStrategyServiceClientTest.php | 220 + .../BillingSetupServiceClientTest.php | 221 + .../CampaignAudienceViewServiceClientTest.php | 143 + .../CampaignBidModifierServiceClientTest.php | 220 + .../CampaignBudgetServiceClientTest.php | 220 + .../CampaignCriterionServiceClientTest.php | 220 + ...gnCriterionSimulationServiceClientTest.php | 143 + .../CampaignDraftServiceClientTest.php | 445 + .../CampaignExperimentServiceClientTest.php | 739 ++ ...paignExtensionSettingServiceClientTest.php | 220 + .../CampaignFeedServiceClientTest.php | 220 + .../CampaignLabelServiceClientTest.php | 220 + .../V2/Services/CampaignServiceClientTest.php | 220 + .../CampaignSharedSetServiceClientTest.php | 220 + .../CarrierConstantServiceClientTest.php | 143 + .../ChangeStatusServiceClientTest.php | 143 + .../Services/ClickViewServiceClientTest.php | 143 + .../ConversionActionServiceClientTest.php | 220 + ...rsionAdjustmentUploadServiceClientTest.php | 146 + .../ConversionUploadServiceClientTest.php | 223 + .../CustomInterestServiceClientTest.php | 220 + .../CustomerClientLinkServiceClientTest.php | 221 + .../CustomerClientServiceClientTest.php | 143 + ...tomerExtensionSettingServiceClientTest.php | 220 + .../CustomerFeedServiceClientTest.php | 220 + .../CustomerLabelServiceClientTest.php | 220 + .../CustomerManagerLinkServiceClientTest.php | 220 + ...omerNegativeCriterionServiceClientTest.php | 220 + .../V2/Services/CustomerServiceClientTest.php | 362 + .../DetailPlacementViewServiceClientTest.php | 143 + .../DisplayKeywordViewServiceClientTest.php | 143 + .../DistanceViewServiceClientTest.php | 143 + .../DomainCategoryServiceClientTest.php | 143 + ...archAdsSearchTermViewServiceClientTest.php | 143 + ...pandedLandingPageViewServiceClientTest.php | 143 + .../ExtensionFeedItemServiceClientTest.php | 220 + .../V2/Services/FeedItemServiceClientTest.php | 220 + .../FeedItemTargetServiceClientTest.php | 220 + .../Services/FeedMappingServiceClientTest.php | 220 + .../FeedPlaceholderViewServiceClientTest.php | 143 + .../V2/Services/FeedServiceClientTest.php | 220 + .../Services/GenderViewServiceClientTest.php | 143 + .../GeoTargetConstantServiceClientTest.php | 221 + .../GeographicViewServiceClientTest.php | 143 + .../GoogleAdsFieldServiceClientTest.php | 225 + .../Services/GoogleAdsServiceClientTest.php | 234 + .../GroupPlacementViewServiceClientTest.php | 143 + .../HotelGroupViewServiceClientTest.php | 143 + .../HotelPerformanceViewServiceClientTest.php | 143 + .../KeywordPlanAdGroupServiceClientTest.php | 220 + .../KeywordPlanCampaignServiceClientTest.php | 220 + .../KeywordPlanIdeaServiceClientTest.php | 158 + .../KeywordPlanKeywordServiceClientTest.php | 220 + ...rdPlanNegativeKeywordServiceClientTest.php | 220 + .../Services/KeywordPlanServiceClientTest.php | 364 + .../Services/KeywordViewServiceClientTest.php | 143 + .../V2/Services/LabelServiceClientTest.php | 220 + .../LandingPageViewServiceClientTest.php | 143 + .../LanguageConstantServiceClientTest.php | 143 + .../LocationViewServiceClientTest.php | 143 + .../ManagedPlacementViewServiceClientTest.php | 143 + .../Services/MediaFileServiceClientTest.php | 220 + .../MerchantCenterLinkServiceClientTest.php | 293 + ...leAppCategoryConstantServiceClientTest.php | 143 + .../MobileDeviceConstantServiceClientTest.php | 143 + .../Services/MutateJobServiceClientTest.php | 528 ++ ...SystemVersionConstantServiceClientTest.php | 143 + ...OrganicSearchTermViewServiceClientTest.php | 143 + .../ParentalStatusViewServiceClientTest.php | 143 + .../PaymentsAccountServiceClientTest.php | 141 + ...ddingCategoryConstantServiceClientTest.php | 143 + .../ProductGroupViewServiceClientTest.php | 143 + .../RecommendationServiceClientTest.php | 297 + .../RemarketingActionServiceClientTest.php | 220 + .../SearchTermViewServiceClientTest.php | 143 + .../SharedCriterionServiceClientTest.php | 220 + .../Services/SharedSetServiceClientTest.php | 220 + ...oppingPerformanceViewServiceClientTest.php | 143 + .../TopicConstantServiceClientTest.php | 143 + .../Services/TopicViewServiceClientTest.php | 143 + .../UserInterestServiceClientTest.php | 143 + .../V2/Services/UserListServiceClientTest.php | 220 + .../UserLocationViewServiceClientTest.php | 143 + .../V2/Services/VideoServiceClientTest.php | 143 + 3102 files changed, 328480 insertions(+), 828 deletions(-) create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/AdAsset.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/AdTypeInfos.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/AssetTypes.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Bidding.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/ClickLocation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Criteria.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/CustomParameter.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Dates.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Extensions.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/FeedCommon.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/FrequencyCap.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/KeywordPlanCommon.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Metrics.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Policy.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Segments.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Simulation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/TagSnippet.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/TextLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/UrlCollection.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/UserLists.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Common/Value.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AccessReason.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AccessRole.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationMode.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdNetworkType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdStrength.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AgeRangeType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStore.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AppStore.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AssetFieldType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AssetType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/AttributionModel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BidModifierSource.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BiddingSource.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitability.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethod.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BudgetPeriod.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BudgetStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/BudgetType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingState.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CampaignStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ClickType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ContentLabelType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategory.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucket.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucket.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityMode.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityMode.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CriterionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReason.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/DayOfWeek.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/Device.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/DistanceBucket.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDevice.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSource.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedAttributeType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReason.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDevice.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedOrigin.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FeedStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnit.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/GenderType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestriction.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategory.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/HotelRateType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/IncomeRangeType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/InteractionEventType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/InteractionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/KeywordMatchType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastInterval.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetwork.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/LabelStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStore.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndex.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ListingGroupType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnits.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MediaType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MimeType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MinuteOfHour.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MobileDeviceType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MonthOfYear.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/MutateJobStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoal.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ParentalStatusType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PaymentMode.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PlaceholderType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PlacementType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDevice.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PreferredContentType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifier.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnit.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivity.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProductCondition.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifier.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasion.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnits.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucket.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/RecommendationType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethod.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SimulationType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/Slot.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SpendingLimitType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/SystemManagedEntitySource.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoal.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TargetingDimension.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TimeType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormat.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodeType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListClosingReason.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListRuleType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListSizeRange.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/UserListType.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlMode.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaText.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperand.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperator.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AccessInvitationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdCustomizerError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupAdError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdParameterError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdSharingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AdxError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AssetError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AuthenticationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/AuthorizationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/BiddingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/BillingSetupError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignDraftError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignFeedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ChangeStatusError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CollectionSizeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ContextError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ConversionActionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ConversionUploadError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CountryCodeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CriterionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CustomInterestError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CustomerError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CustomerFeedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/DatabaseError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/DateError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/DateRangeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/DistinctError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/EnumError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/Errors.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FeedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FeedMappingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FieldError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FieldMaskError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FunctionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/FunctionParsingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/HeaderError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/IdError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ImageError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/InternalError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/LabelError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/LanguageCodeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ListOperationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ManagerLinkError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/MediaBundleError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/MediaFileError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/MediaUploadError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/MultiplierError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/MutateError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/MutateJobError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/NotEmptyError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/NullError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/OperatorError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/PartialFailureError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/PolicyFindingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/PolicyViolationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/QueryError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/QuotaError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/RangeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/RecommendationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/RegionCodeError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/RequestError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/SettingError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/SharedCriterionError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/SharedSetError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/SizeLimitError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/StringFormatError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/StringLengthError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/UrlFieldError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/UserListError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationError.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudget.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Ad.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroup.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupExtensionSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdParameter.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Asset.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Campaign.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CarrierConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ClickView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Customer.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/DistanceView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Feed.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/FeedItem.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/GenderView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/GeographicView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/KeywordView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Label.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/LocationView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/MediaFile.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/MutateJob.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/OperatingSystemVersionConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Recommendation.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/RemarketingAction.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/SharedSet.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/TopicView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/UserInterest.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/UserList.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Resources/Video.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupFeedService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupLabelService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdParameterService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdScheduleViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AdService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AgeRangeViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/AssetService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/BiddingStrategyService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/BillingSetupService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignBudgetService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignDraftService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignExperimentService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignFeedService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignLabelService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CarrierConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ChangeStatusService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ClickViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ConversionActionService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ConversionUploadService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomInterestService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerFeedService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerLabelService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/CustomerService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/DistanceViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/DomainCategoryService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/FeedItemService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/FeedItemTargetService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/FeedMappingService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/FeedService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/GenderViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/GeographicViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/HotelGroupViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/KeywordViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/LabelService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/LandingPageViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/LanguageConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/LocationViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/MediaFileService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/MutateJobService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/PaymentsAccountService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ProductGroupViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/RecommendationService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/RemarketingActionService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/SearchTermViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/SharedCriterionService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/SharedSetService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/TopicConstantService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/TopicViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/UserInterestService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/UserListService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/UserLocationViewService.php create mode 100644 metadata/Google/Ads/GoogleAds/V2/Services/VideoService.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClient.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilder.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsException.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsExceptionMiddleware.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsGapicClientTrait.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingInterceptor.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingUnaryCall.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsMetadataTrait.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsOperationClient.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsResponseMetadata.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsResponseMetadataCallable.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsUnaryCallLogger.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatter.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/LoggerFactory.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/ServiceClientFactoryTrait.php create mode 100644 src/Google/Ads/GoogleAds/Lib/V2/StatusMetadataExtractor.php create mode 100644 src/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrors.php create mode 100644 src/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailures.php create mode 100644 src/Google/Ads/GoogleAds/Util/V2/PartialFailures.php create mode 100644 src/Google/Ads/GoogleAds/Util/V2/ResourceNames.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AdImageAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AdMediaBundleAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AdScheduleInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AdTextAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AdVideoAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AddressInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AffiliateLocationFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AgeRangeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AppAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AppEngagementAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AppFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/AppPaymentModelInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/BasicUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPoint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPointList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CallFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CallOnlyAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CalloutFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CarrierInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ClickLocation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CombinedRuleUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Commission.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ContentLabelInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPoint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPointList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPoint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPointList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryChannelAvailability.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryLocaleAvailability.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CrmBasedUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CustomAffinityInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CustomIntentInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/CustomParameter.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/DateRange.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/DateSpecificRuleUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/DeviceInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/DisplayCallToAction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/DisplayUploadAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/EnhancedCpc.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ExpandedDynamicSearchAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ExpandedTextAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ExpressionRuleUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/FrequencyCapEntry.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/FrequencyCapKey.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/GenderInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/GeoPointInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/GmailAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/GmailTeaser.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelAdvanceBookingWindowInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelCheckInDayInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelCityInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelClassInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelCountryRegionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelDateSelectionTypeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelIdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelLengthOfStayInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/HotelStateInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ImageAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ImageAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ImageDimension.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/IncomeRangeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/InteractionTypeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/IpBlockInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Keyword.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/KeywordInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/KeywordPlanHistoricalMetrics.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LanguageInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LegacyAppInstallAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LegacyResponsiveDisplayAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ListingBrandInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ListingCustomAttributeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ListingDimensionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ListingGroupInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ListingScopeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LocationFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LocationGroupInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LocationInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LogicalUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/LogicalUserListOperandInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ManualCpc.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ManualCpm.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ManualCpv.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MaximizeConversionValue.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MaximizeConversions.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MediaBundleAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Metrics.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MobileAppCategoryInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MobileApplicationInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/MobileDeviceInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Money.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand/ConstantOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand/FeedAttributeOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand/FunctionOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand/RequestContextOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand_ConstantOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand_FeedAttributeOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand_FunctionOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Operand_RequestContextOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/OperatingSystemVersionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PageOnePromoted.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ParentalStatusInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PercentCpc.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PlacementInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraintList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/ResellerConstraint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint_CountryConstraint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint_CountryConstraintList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint_ResellerConstraint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEntry.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationMismatch.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationNotWorking.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationTextList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/TextList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/WebsiteList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_DestinationMismatch.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_DestinationNotWorking.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_DestinationTextList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_TextList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_WebsiteList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyValidationParameter.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PolicyViolationKey.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PreferredContentInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PriceFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PriceOffer.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductBiddingCategoryInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductChannelExclusivityInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductChannelInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductConditionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductImage.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductItemIdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductTypeInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProductVideo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/PromotionFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ProximityInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ResponsiveDisplayAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ResponsiveSearchAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/RuleBasedUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Segments.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ShoppingComparisonListingAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ShoppingProductAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/ShoppingSmartAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/SimilarUserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/SitelinkFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/StructuredSnippetFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TagSnippet.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetCpa.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPoint.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPointList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetCpm.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetImpressionShare.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetOutrankShare.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetRestriction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetRoas.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetSpend.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TextAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TextAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TextLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TextMessageFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/TopicInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UnknownListingDimensionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UrlCollection.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserInterestInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListActionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListDateRuleItemInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListLogicalRuleInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListNumberRuleItemInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListRuleInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemGroupInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/UserListStringRuleItemInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/Value.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/VideoAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/VideoBumperInStreamAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/VideoNonSkippableInStreamAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/VideoOutstreamAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/VideoTrueViewInStreamAdInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/WebpageConditionInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/WebpageInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/YouTubeChannelInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/YouTubeVideoInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Common/YoutubeVideoAsset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum/AccessReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum_AccessReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum/AccessRole.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum_AccessRole.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum/AccountBudgetProposalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum/AccountBudgetProposalType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum_AccountBudgetProposalType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum/AccountBudgetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum_AccountBudgetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum/AdCustomizerPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum_AdCustomizerPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum/AdGroupAdRotationMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum_AdGroupAdRotationMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum/AdGroupAdStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum_AdGroupAdStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum/AdGroupCriterionApprovalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum/AdGroupCriterionStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum_AdGroupCriterionStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum/AdGroupStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum_AdGroupStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum/AdGroupType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum_AdGroupType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum/AdNetworkType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum_AdNetworkType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum/AdServingOptimizationStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum_AdServingOptimizationStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum/AdStrength.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum_AdStrength.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum/AdType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum_AdType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum/AdvertisingChannelSubType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum/AdvertisingChannelType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum_AdvertisingChannelType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum/AffiliateLocationFeedRelationshipType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum_AffiliateLocationFeedRelationshipType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum/AffiliateLocationPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum_AffiliateLocationPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum/AgeRangeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum_AgeRangeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum/AppCampaignAppStore.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum_AppCampaignAppStore.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum/AppCampaignBiddingStrategyGoalType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum/AppPaymentModelType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum_AppPaymentModelType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum/AppPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum_AppPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum/AppStore.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum_AppStore.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum/AppUrlOperatingSystemType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum_AppUrlOperatingSystemType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum/AssetFieldType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum_AssetFieldType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum/AssetPerformanceLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum_AssetPerformanceLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum/AssetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum_AssetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum/AttributionModel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum_AttributionModel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum/BidModifierSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum_BidModifierSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum/BiddingSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum_BiddingSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum/BiddingStrategyStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum_BiddingStrategyStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum/BiddingStrategyType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum_BiddingStrategyType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum/BillingSetupStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum_BillingSetupStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum/BrandSafetySuitability.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum_BrandSafetySuitability.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum/BudgetDeliveryMethod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum_BudgetDeliveryMethod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum/BudgetPeriod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum_BudgetPeriod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum/BudgetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum_BudgetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum/BudgetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum_BudgetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum/CallConversionReportingState.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum_CallConversionReportingState.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum/CallPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum_CallPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum/CalloutPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum_CalloutPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum/CampaignCriterionStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum_CampaignCriterionStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum/CampaignDraftStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum_CampaignDraftStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum/CampaignExperimentStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum_CampaignExperimentStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum/CampaignExperimentTrafficSplitType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum/CampaignExperimentType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum_CampaignExperimentType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum/CampaignServingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum_CampaignServingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum/CampaignSharedSetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum_CampaignSharedSetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum/CampaignStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum_CampaignStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum/ChangeStatusOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum_ChangeStatusOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum/ChangeStatusResourceType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum_ChangeStatusResourceType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum/ClickType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum_ClickType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum/ContentLabelType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum_ContentLabelType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum/ConversionActionCategory.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum_ConversionActionCategory.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum/ConversionActionCountingType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum_ConversionActionCountingType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum/ConversionActionStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum_ConversionActionStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum/ConversionActionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum_ConversionActionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum/ConversionAdjustmentType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum_ConversionAdjustmentType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum/ConversionAttributionEventType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum_ConversionAttributionEventType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum/ConversionLagBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum_ConversionLagBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum/ConversionOrAdjustmentLagBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum_ConversionOrAdjustmentLagBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum/CriterionCategoryChannelAvailabilityMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum_CriterionCategoryChannelAvailabilityMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum/CriterionCategoryLocaleAvailabilityMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum_CriterionCategoryLocaleAvailabilityMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum/CriterionSystemServingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum_CriterionSystemServingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum/CriterionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum_CriterionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum/CustomInterestMemberType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum_CustomInterestMemberType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum/CustomInterestStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum_CustomInterestStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum/CustomInterestType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum_CustomInterestType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum/CustomPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum_CustomPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum/CustomerMatchUploadKeyType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum_CustomerMatchUploadKeyType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum/CustomerPayPerConversionEligibilityFailureReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum_CustomerPayPerConversionEligibilityFailureReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum/DataDrivenModelStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum_DataDrivenModelStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum/DayOfWeek.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum_DayOfWeek.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum/Device.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum_Device.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum/DisplayAdFormatSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum_DisplayAdFormatSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum/DisplayUploadProductType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum_DisplayUploadProductType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum/DistanceBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum_DistanceBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum/DsaPageFeedCriterionField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum_DsaPageFeedCriterionField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum/EducationPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum_EducationPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum/ExtensionSettingDevice.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum_ExtensionSettingDevice.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum/ExtensionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum_ExtensionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum/ExternalConversionSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum_ExternalConversionSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum/FeedAttributeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum_FeedAttributeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum/FeedItemQualityApprovalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum/FeedItemQualityDisapprovalReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum/FeedItemStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum_FeedItemStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum/FeedItemTargetDevice.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum_FeedItemTargetDevice.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum/FeedItemTargetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum_FeedItemTargetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum/FeedItemValidationStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum_FeedItemValidationStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum/FeedLinkStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum_FeedLinkStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum/FeedMappingCriterionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum_FeedMappingCriterionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum/FeedMappingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum_FeedMappingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum/FeedOrigin.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum_FeedOrigin.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum/FeedStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum_FeedStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum/FlightPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum_FlightPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum/FrequencyCapEventType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum_FrequencyCapEventType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum/FrequencyCapLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum_FrequencyCapLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum/FrequencyCapTimeUnit.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum_FrequencyCapTimeUnit.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum/GenderType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum_GenderType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum/GeoTargetConstantStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum_GeoTargetConstantStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum/GeoTargetingRestriction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum_GeoTargetingRestriction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum/GeoTargetingType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum_GeoTargetingType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum/GoogleAdsFieldCategory.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum_GoogleAdsFieldCategory.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum/GoogleAdsFieldDataType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum_GoogleAdsFieldDataType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum/HotelDateSelectionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum_HotelDateSelectionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum/HotelPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum_HotelPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum/HotelRateType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum_HotelRateType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum/IncomeRangeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum_IncomeRangeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum/InteractionEventType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum_InteractionEventType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum/InteractionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum_InteractionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum/JobPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum_JobPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum/KeywordMatchType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum_KeywordMatchType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum/KeywordPlanCompetitionLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum/KeywordPlanForecastInterval.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum_KeywordPlanForecastInterval.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum/KeywordPlanNetwork.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum_KeywordPlanNetwork.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum/LabelStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum_LabelStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum/LegacyAppInstallAdAppStore.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum/ListingCustomAttributeIndex.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum/ListingGroupType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum_ListingGroupType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum/LocalPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum_LocalPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum/LocationExtensionTargetingCriterionField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum_LocationExtensionTargetingCriterionField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum/LocationGroupRadiusUnits.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum/LocationPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum_LocationPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum/ManagerLinkStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum_ManagerLinkStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum/MatchingFunctionContextType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum_MatchingFunctionContextType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum/MatchingFunctionOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum_MatchingFunctionOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum/MediaType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum_MediaType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum/MerchantCenterLinkStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum_MerchantCenterLinkStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum/MessagePlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum_MessagePlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum/MimeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum_MimeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum/MinuteOfHour.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum_MinuteOfHour.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum/MobileDeviceType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum_MobileDeviceType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum/MonthOfYear.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum_MonthOfYear.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum/MutateJobStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum_MutateJobStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum/NegativeGeoTargetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum_NegativeGeoTargetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum/OperatingSystemVersionOperatorType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum_OperatingSystemVersionOperatorType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum/PageOnePromotedStrategyGoal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum/ParentalStatusType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum_ParentalStatusType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum/PaymentMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum_PaymentMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum/PlaceholderType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum_PlaceholderType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum/PlacementType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum_PlacementType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum/PolicyApprovalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum_PolicyApprovalStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum/PolicyReviewStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum_PolicyReviewStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum/PolicyTopicEntryType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum_PolicyTopicEntryType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum/PolicyTopicEvidenceDestinationMismatchUrlType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum_PolicyTopicEvidenceDestinationMismatchUrlType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum/PolicyTopicEvidenceDestinationNotWorkingDevice.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum_PolicyTopicEvidenceDestinationNotWorkingDevice.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum_PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum/PositiveGeoTargetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum_PositiveGeoTargetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum/PreferredContentType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum_PreferredContentType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum/PriceExtensionPriceQualifier.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum_PriceExtensionPriceQualifier.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum/PriceExtensionPriceUnit.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum_PriceExtensionPriceUnit.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum/PriceExtensionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum_PriceExtensionType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum/PricePlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum_PricePlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum/ProductBiddingCategoryLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum/ProductBiddingCategoryStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum_ProductBiddingCategoryStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum/ProductChannel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum_ProductChannel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum/ProductChannelExclusivity.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum_ProductChannelExclusivity.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum/ProductCondition.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum_ProductCondition.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum/ProductTypeLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum_ProductTypeLevel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum/PromotionExtensionDiscountModifier.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum_PromotionExtensionDiscountModifier.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum/PromotionExtensionOccasion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum_PromotionExtensionOccasion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum/PromotionPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum_PromotionPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum/ProximityRadiusUnits.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum_ProximityRadiusUnits.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum/QualityScoreBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum_QualityScoreBucket.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum/RealEstatePlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum_RealEstatePlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum/RecommendationType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum_RecommendationType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum/SearchEngineResultsPageType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum_SearchEngineResultsPageType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum/SearchTermMatchType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum_SearchTermMatchType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum/SearchTermTargetingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum_SearchTermTargetingStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum/ServedAssetFieldType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum_ServedAssetFieldType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum/SharedSetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum_SharedSetStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum/SharedSetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum_SharedSetType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum/SimulationModificationMethod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum_SimulationModificationMethod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum/SimulationType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum_SimulationType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum/SitelinkPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum_SitelinkPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SlotEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SlotEnum/Slot.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SlotEnum_Slot.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum/SpendingLimitType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum_SpendingLimitType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum/StructuredSnippetPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum_StructuredSnippetPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum/SystemManagedResourceSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum_SystemManagedResourceSource.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum/TargetCpaOptInRecommendationGoal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum_TargetCpaOptInRecommendationGoal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum/TargetImpressionShareLocation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum_TargetImpressionShareLocation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum/TargetingDimension.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum_TargetingDimension.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum/TimeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum_TimeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum/TrackingCodePageFormat.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum_TrackingCodePageFormat.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum/TrackingCodeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum_TrackingCodeType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum/TravelPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum_TravelPlaceholderField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum/UserInterestTaxonomyType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum/UserListAccessStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum_UserListAccessStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum/UserListClosingReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum_UserListClosingReason.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum/UserListCombinedRuleOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum_UserListCombinedRuleOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum/UserListCrmDataSourceType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum_UserListCrmDataSourceType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum/UserListDateRuleItemOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum_UserListDateRuleItemOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum/UserListLogicalRuleOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum_UserListLogicalRuleOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum/UserListMembershipStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum_UserListMembershipStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum/UserListNumberRuleItemOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum_UserListNumberRuleItemOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum/UserListPrepopulationStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum_UserListPrepopulationStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum/UserListRuleType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum_UserListRuleType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum/UserListSizeRange.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum_UserListSizeRange.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum/UserListStringRuleItemOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum_UserListStringRuleItemOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum/UserListType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum_UserListType.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum/VanityPharmaDisplayUrlMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum/VanityPharmaText.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum_VanityPharmaText.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum/WebpageConditionOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum_WebpageConditionOperand.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum/WebpageConditionOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum_WebpageConditionOperator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum/AccessInvitationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum_AccessInvitationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum/AccountBudgetProposalError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum_AccountBudgetProposalError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum/AdCustomizerError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum_AdCustomizerError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum/AdError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum_AdError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum/AdGroupAdError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum_AdGroupAdError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum/AdGroupBidModifierError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum_AdGroupBidModifierError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum/AdGroupCriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum_AdGroupCriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum/AdGroupError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum_AdGroupError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum/AdGroupFeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum_AdGroupFeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum/AdParameterError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum_AdParameterError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum/AdSharingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum_AdSharingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum/AdxError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum_AdxError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum/AssetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum_AssetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum/AuthenticationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum_AuthenticationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum/AuthorizationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum_AuthorizationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum/BiddingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum_BiddingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum/BiddingStrategyError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum_BiddingStrategyError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum/BillingSetupError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum_BillingSetupError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum/CampaignBudgetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum_CampaignBudgetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum/CampaignCriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum_CampaignCriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum/CampaignDraftError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum_CampaignDraftError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum/CampaignError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum_CampaignError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum/CampaignExperimentError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum_CampaignExperimentError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum/CampaignFeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum_CampaignFeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum/CampaignSharedSetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum_CampaignSharedSetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum/ChangeStatusError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum_ChangeStatusError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum/CollectionSizeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum_CollectionSizeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum/ContextError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum_ContextError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum/ConversionActionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum_ConversionActionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum/ConversionAdjustmentUploadError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum_ConversionAdjustmentUploadError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum/ConversionUploadError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum_ConversionUploadError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum/CountryCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum_CountryCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum/CriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum_CriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum/CurrencyCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum_CurrencyCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum/CustomInterestError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum_CustomInterestError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum/CustomerClientLinkError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum_CustomerClientLinkError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum/CustomerError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum_CustomerError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum/CustomerFeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum_CustomerFeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum/CustomerManagerLinkError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum_CustomerManagerLinkError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum/DatabaseError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum_DatabaseError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum/DateError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum_DateError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum/DateRangeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum_DateRangeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum/DistinctError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum_DistinctError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum/EnumError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum_EnumError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ErrorCode.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ErrorDetails.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation/FieldPathElement.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation_FieldPathElement.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum/ExtensionFeedItemError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum_ExtensionFeedItemError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum/ExtensionSettingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum_ExtensionSettingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum/FeedAttributeReferenceError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum_FeedAttributeReferenceError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum/FeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum_FeedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum/FeedItemError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum_FeedItemError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum/FeedItemTargetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum_FeedItemTargetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum/FeedItemValidationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum_FeedItemValidationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum/FeedMappingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum_FeedMappingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum/FieldError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum_FieldError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum/FieldMaskError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum_FieldMaskError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum/FunctionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum_FunctionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum/FunctionParsingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum_FunctionParsingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum/GeoTargetConstantSuggestionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum_GeoTargetConstantSuggestionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/GoogleAdsError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/GoogleAdsFailure.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum/HeaderError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum_HeaderError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum/IdError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum_IdError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum/ImageError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum_ImageError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum/InternalError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum_InternalError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum/KeywordPlanAdGroupError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum_KeywordPlanAdGroupError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum/KeywordPlanCampaignError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum_KeywordPlanCampaignError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum/KeywordPlanError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum_KeywordPlanError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum/KeywordPlanIdeaError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum_KeywordPlanIdeaError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum/KeywordPlanKeywordError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum_KeywordPlanKeywordError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum/KeywordPlanNegativeKeywordError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum_KeywordPlanNegativeKeywordError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum/LabelError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum_LabelError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum/LanguageCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum_LanguageCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum/ListOperationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum_ListOperationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum/ManagerLinkError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum_ManagerLinkError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum/MediaBundleError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum_MediaBundleError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum/MediaFileError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum_MediaFileError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum/MediaUploadError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum_MediaUploadError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum/MultiplierError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum_MultiplierError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum/MutateError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum_MutateError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum/MutateJobError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum_MutateJobError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum/NewResourceCreationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum_NewResourceCreationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum/NotEmptyError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum_NotEmptyError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum/NotWhitelistedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum_NotWhitelistedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum/NullError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum_NullError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum/OperationAccessDeniedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum_OperationAccessDeniedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum/OperatorError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum_OperatorError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum/PartialFailureError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum_PartialFailureError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingDetails.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum/PolicyFindingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum_PolicyFindingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum/PolicyValidationParameterError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum_PolicyValidationParameterError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationDetails.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum/PolicyViolationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum_PolicyViolationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum/QueryError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum_QueryError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum/QuotaError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum_QuotaError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum/RangeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum_RangeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum/RecommendationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum_RecommendationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum/RegionCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum_RegionCodeError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum/RequestError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum_RequestError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum/ResourceAccessDeniedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum_ResourceAccessDeniedError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum/ResourceCountLimitExceededError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum_ResourceCountLimitExceededError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum/SettingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum_SettingError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum/SharedCriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum_SharedCriterionError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum/SharedSetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum_SharedSetError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum/SizeLimitError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum_SizeLimitError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum/StringFormatError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum_StringFormatError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum/StringLengthError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum_StringLengthError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum/UrlFieldError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum_UrlFieldError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum/UserListError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum_UserListError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum/YoutubeVideoRegistrationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum_YoutubeVideoRegistrationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AccountBudget.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AccountBudget/PendingAccountBudgetProposal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AccountBudget_PendingAccountBudgetProposal.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Ad.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroup.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetPolicySummary.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdPolicySummary.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/PositionEstimates.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/QualityInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion_PositionEstimates.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion_QualityInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupExtensionSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdParameter.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Asset.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/AttributeFieldMapping.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/BillingSetup/PaymentsAccountInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/BillingSetup_PaymentsAccountInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CallReportingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/AppCampaignSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/DynamicSearchAdsSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/GeoTargetTypeSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/HotelSettingInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/NetworkSettings.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/SelectiveOptimization.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/ShoppingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/TrackingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign/VanityPharma.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_AppCampaignSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_DynamicSearchAdsSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_GeoTargetTypeSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_HotelSettingInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_NetworkSettings.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_SelectiveOptimization.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_ShoppingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_TrackingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Campaign_VanityPharma.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CarrierConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ClickView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/AttributionModelSettings.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/ValueSettings.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ConversionAction_AttributionModelSettings.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ConversionAction_ValueSettings.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ConversionTrackingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomInterestMember.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Customer.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/DistanceView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed/AffiliateLocationFeedData.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData/OAuthInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedAttribute.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation/Operator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation_Operator.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedItem.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedItemAttributeValue.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedItemPlaceholderPolicyInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedItemValidationError.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed_AffiliateLocationFeedData.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed_PlacesLocationFeedData.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Feed_PlacesLocationFeedData_OAuthInfo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/GenderView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/GeographicView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanForecastPeriod.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanGeoTarget.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/KeywordView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Label.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/LocationView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MediaAudio.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MediaBundle.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MediaFile.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MediaImage.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MediaVideo.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MutateJob.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MutateJob/MutateJobMetadata.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/MutateJob_MutateJobMetadata.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/OperatingSystemVersionConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CallExtensionRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CalloutExtensionRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation/CampaignBudgetRecommendationOption.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/EnhancedCpcOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordMatchTypeRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeClicksOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeConversionsOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MoveUnusedBudgetRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/OptimizeAdRotationRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationImpact.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationMetrics.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SearchPartnersOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SitelinkExtensionRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation/TargetCpaOptInRecommendationOption.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TextAdRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CallExtensionRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CalloutExtensionRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CampaignBudgetRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CampaignBudgetRecommendation_CampaignBudgetRecommendationOption.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_EnhancedCpcOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_KeywordMatchTypeRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_KeywordRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_MaximizeClicksOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_MaximizeConversionsOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_MoveUnusedBudgetRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_OptimizeAdRotationRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_RecommendationImpact.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_RecommendationMetrics.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_SearchPartnersOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_SitelinkExtensionRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_TargetCpaOptInRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_TargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Recommendation_TextAdRecommendation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/RemarketingAction.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/RemarketingSetting.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/SharedSet.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/TopicView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/UserInterest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/UserList.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php create mode 100644 src/Google/Ads/GoogleAds/V2/Resources/Video.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdParameterOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdParameterServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AdServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CallExtensionParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CalloutExtensionParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CampaignBudgetParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/KeywordParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/MoveUnusedBudgetParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/SitelinkExtensionParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TargetCpaOptInParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TextAdParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_CallExtensionParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_CalloutExtensionParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_CampaignBudgetParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_KeywordParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_MoveUnusedBudgetParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_SitelinkExtensionParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_TargetCpaOptInParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_TextAdParameters.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AssetOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AssetServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/AssetServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/BillingSetupOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CallConversion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CallConversionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignDraftOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignFeedOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignLabelOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ClickConversion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ClickConversionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ClickViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionActionOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustment.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentMetadata.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomInterestOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerFeedOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerLabelOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/CustomerServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest/DismissRecommendationOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest_DismissRecommendationOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse/DismissRecommendationResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse_DismissRecommendationResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/EndCampaignExperimentRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ExternalAttributionData.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedItemOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedItemServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedMappingOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/FeedServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ForecastMetrics.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AccountBudgetProposalServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AccountBudgetServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupAdAssetViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupAdLabelServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupAdServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupAudienceViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupBidModifierServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupCriterionLabelServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupCriterionServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupCriterionSimulationServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupExtensionSettingServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupFeedServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupLabelServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdGroupSimulationServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdParameterServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdScheduleViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AdServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AgeRangeViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/AssetServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/BiddingStrategyServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/BillingSetupServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignAudienceViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignBidModifierServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignBudgetServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignCriterionServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignCriterionSimulationServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignDraftServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignExperimentServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignExtensionSettingServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignFeedServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignLabelServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CampaignSharedSetServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CarrierConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ChangeStatusServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ClickViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ConversionActionServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ConversionAdjustmentUploadServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ConversionUploadServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomInterestServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerClientLinkServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerClientServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerExtensionSettingServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerFeedServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerLabelServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerManagerLinkServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerNegativeCriterionServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/CustomerServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/DetailPlacementViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/DisplayKeywordViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/DistanceViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/DomainCategoryServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/DynamicSearchAdsSearchTermViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ExpandedLandingPageViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ExtensionFeedItemServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/FeedItemServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/FeedItemTargetServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/FeedMappingServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/FeedPlaceholderViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/FeedServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/GenderViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/GeoTargetConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/GeographicViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/GoogleAdsFieldServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/GoogleAdsServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/GroupPlacementViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/HotelGroupViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/HotelPerformanceViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordPlanAdGroupServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordPlanCampaignServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordPlanIdeaServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordPlanKeywordServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordPlanNegativeKeywordServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordPlanServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/KeywordViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/LabelServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/LandingPageViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/LanguageConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/LocationViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ManagedPlacementViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/MediaFileServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/MerchantCenterLinkServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/MobileAppCategoryConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/MobileDeviceConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/MutateJobServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/OperatingSystemVersionConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/PaidOrganicSearchTermViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ParentalStatusViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/PaymentsAccountServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ProductBiddingCategoryConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ProductGroupViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/RecommendationServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/RemarketingActionServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/SearchTermViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/SharedCriterionServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/SharedSetServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/ShoppingPerformanceViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/TopicConstantServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/TopicViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/UserInterestServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/UserListServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/UserLocationViewServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/Gapic/VideoServiceGapicClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GclidDateTimePair.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenderViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeasRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantSuggestion.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetProposalRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdAssetViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdLabelRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAudienceViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupBidModifierRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionLabelRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionSimulationRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupExtensionSettingRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupFeedRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupLabelRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdGroupSimulationRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdParameterRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAdScheduleViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAgeRangeViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetAssetRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetBiddingStrategyRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetBillingSetupRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignAudienceViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignBidModifierRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignBudgetRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionSimulationRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignDraftRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignExperimentRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignExtensionSettingRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignFeedRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignLabelRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCampaignSharedSetRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCarrierConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetChangeStatusRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetClickViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetConversionActionRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomInterestRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientLinkRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerExtensionSettingRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerFeedRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerLabelRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerManagerLinkRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerNegativeCriterionRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetCustomerRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetDetailPlacementViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetDisplayKeywordViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetDistanceViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetDomainCategoryRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetDynamicSearchAdsSearchTermViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetExpandedLandingPageViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetExtensionFeedItemRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetFeedItemRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetFeedItemTargetRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetFeedMappingRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetFeedPlaceholderViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetFeedRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetGenderViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetGeoTargetConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetGeographicViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetGoogleAdsFieldRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetGroupPlacementViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetHotelGroupViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetHotelPerformanceViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanAdGroupRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanCampaignRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanKeywordRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanNegativeKeywordRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetKeywordViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetLabelRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetLandingPageViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetLanguageConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetLocationViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetManagedPlacementViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetMediaFileRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetMerchantCenterLinkRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetMobileAppCategoryConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetMobileDeviceConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetMutateJobRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetOperatingSystemVersionConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetPaidOrganicSearchTermViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetParentalStatusViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetProductBiddingCategoryConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetProductGroupViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetRecommendationRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetRemarketingActionRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetSearchTermViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetSharedCriterionRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetSharedSetRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetShoppingPerformanceViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetTopicConstantRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetTopicViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetUserInterestRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetUserListRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetUserLocationViewRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GetVideoRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GoogleAdsRow.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordAndUrlSeed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupForecast.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignForecast.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordForecast.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordHistoricalMetrics.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordSeed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LabelOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LabelServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LabelServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/LocationViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MediaFileOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MediaFileServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifierResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdParameterResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAdsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAssetResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAssetsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateAssetsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategyResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifierResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriterionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateFeedsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateJobResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateJobServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateLabelResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateLabelsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateLabelsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateMediaFileResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateOperationResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriterionResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateUserListResult.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateUserListsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/MutateUserListsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignDraftRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignExperimentRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RecommendationServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RemarketingActionOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RestatementValue.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/RunMutateJobRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SharedCriterionOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SharedSetOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SharedSetServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/GeoTargets.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/LocationNames.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest_GeoTargets.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest_LocationNames.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/TopicViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsRequest.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsResponse.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UrlSeed.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserInterestServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserListOperation.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserListServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserListServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/VideoServiceClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/VideoServiceGrpcClient.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/label_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/label_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/label_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_rest_client_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/video_service_client_config.json create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/video_service_descriptor_config.php create mode 100644 src/Google/Ads/GoogleAds/V2/Services/resources/video_service_rest_client_config.php create mode 100644 tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilderTest.php create mode 100644 tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatterTest.php create mode 100644 tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrorsTest.php create mode 100644 tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailuresTest.php create mode 100644 tests/Google/Ads/GoogleAds/Util/V2/PartialFailuresTest.php create mode 100644 tests/Google/Ads/GoogleAds/Util/V2/ResourceNamesTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AdServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/AssetServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/CustomerServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/FeedServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/LabelServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/UserListServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClientTest.php create mode 100644 tests/Google/Ads/GoogleAds/V2/Services/VideoServiceClientTest.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 76f1321b1..66ba0a741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 2.0.0 +* Added support for v2 of Google Ads API. +* Renamed the getter and setter functions for unwrapped values from getXXXValue/setXXXValue to + getXXXUnwrapped/setXXXUnwrapped to prevent them from clashing with other field names. +* Added a test to instantiate all classes in the codebase to make sure there are no syntax errors. +* Upgraded dependencies. + ## 1.4.1 * Fixed logging level configuration ([#120](https://github.com/googleads/google-ads-php/pull/120)). * Set max response message and metadata size ([#127](https://github.com/googleads/google-ads-php/pull/127)). diff --git a/composer.json b/composer.json index 7bc19c11d..b63d1222b 100644 --- a/composer.json +++ b/composer.json @@ -5,10 +5,7 @@ "description": "Google Ads API client for PHP", "require": { "php": ">=7.1", - "ext-grpc": "*", - "google/gax": "^0.38.0", - "google/protobuf": "^3.4.0", - "google/common-protos": "^0.1.0", + "google/gax": "^1.0.2", "ulrichsg/getopt-php": "^3.2.2", "monolog/monolog": "^1.23.0" }, diff --git a/examples/AccountManagement/CreateCustomer.php b/examples/AccountManagement/CreateCustomer.php index 2658968d5..620f1272c 100644 --- a/examples/AccountManagement/CreateCustomer.php +++ b/examples/AccountManagement/CreateCustomer.php @@ -22,12 +22,12 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Customer; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Customer; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\StringValue; diff --git a/examples/AccountManagement/GetAccountChanges.php b/examples/AccountManagement/GetAccountChanges.php index ddd641121..a02c001cb 100644 --- a/examples/AccountManagement/GetAccountChanges.php +++ b/examples/AccountManagement/GetAccountChanges.php @@ -22,15 +22,15 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\ChangeStatusOperationEnum\ChangeStatusOperation; -use Google\Ads\GoogleAds\V1\Enums\ChangeStatusResourceTypeEnum\ChangeStatusResourceType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\ChangeStatus; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\ChangeStatusOperationEnum\ChangeStatusOperation; +use Google\Ads\GoogleAds\V2\Enums\ChangeStatusResourceTypeEnum\ChangeStatusResourceType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\ChangeStatus; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** @@ -121,7 +121,7 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId) /** @var GoogleAdsRow $googleAdsRow */ printf( "On %s, change status '%s' shows resource '%s' with type '%s' and status '%s'.%s", - $googleAdsRow->getChangeStatus()->getLastChangeDateTimeValue(), + $googleAdsRow->getChangeStatus()->getLastChangeDateTimeUnwrapped(), $googleAdsRow->getChangeStatus()->getResourceName(), self::getResourceNameForResourceType($googleAdsRow->getChangeStatus()), ChangeStatusResourceType::name( @@ -150,19 +150,19 @@ private static function getResourceNameForResourceType( $resourceName = ''; // Default value for UNSPECIFIED or UNKNOWN resource type. switch ($resourceType) { case ChangeStatusResourceType::AD_GROUP: - $resourceName = $changeStatus->getAdGroupValue(); + $resourceName = $changeStatus->getAdGroupUnwrapped(); break; case ChangeStatusResourceType::AD_GROUP_AD: - $resourceName = $changeStatus->getAdGroupAdValue(); + $resourceName = $changeStatus->getAdGroupAdUnwrapped(); break; case ChangeStatusResourceType::AD_GROUP_CRITERION: - $resourceName = $changeStatus->getAdGroupCriterionValue(); + $resourceName = $changeStatus->getAdGroupCriterionUnwrapped(); break; case ChangeStatusResourceType::CAMPAIGN: - $resourceName = $changeStatus->getCampaignValue(); + $resourceName = $changeStatus->getCampaignUnwrapped(); break; case ChangeStatusResourceType::CAMPAIGN_CRITERION: - $resourceName = $changeStatus->getCampaignCriterionValue(); + $resourceName = $changeStatus->getCampaignCriterionUnwrapped(); break; } diff --git a/examples/AccountManagement/GetAccountInformation.php b/examples/AccountManagement/GetAccountInformation.php index 1bab23aaf..5f3c01d1f 100644 --- a/examples/AccountManagement/GetAccountInformation.php +++ b/examples/AccountManagement/GetAccountInformation.php @@ -22,12 +22,12 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; use Google\ApiCore\ApiException; /** diff --git a/examples/AccountManagement/LinkManagerToClient.php b/examples/AccountManagement/LinkManagerToClient.php index 583738d6c..6c5654a67 100644 --- a/examples/AccountManagement/LinkManagerToClient.php +++ b/examples/AccountManagement/LinkManagerToClient.php @@ -22,18 +22,18 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; use Google\Ads\GoogleAds\Util\FieldMasks; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\ManagerLinkStatusEnum\ManagerLinkStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\CustomerClientLink; -use Google\Ads\GoogleAds\V1\Resources\CustomerManagerLink; -use Google\Ads\GoogleAds\V1\Services\CustomerClientLinkOperation; -use Google\Ads\GoogleAds\V1\Services\CustomerManagerLinkOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\ManagerLinkStatusEnum\ManagerLinkStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\CustomerClientLink; +use Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink; +use Google\Ads\GoogleAds\V2\Services\CustomerClientLinkOperation; +use Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; @@ -196,7 +196,7 @@ private static function getManagerLinkResourceName( // Gets the ID and resource name associated to the manager link found. $managerLinkId = $response->getIterator()->current() ->getCustomerClientLink() - ->getManagerLinkIdValue(); + ->getManagerLinkIdUnwrapped(); $managerLinkResourceName = ResourceNames::forCustomerManagerLink( $clientCustomerId, $managerCustomerId, diff --git a/examples/AccountManagement/ListAccessibleCustomers.php b/examples/AccountManagement/ListAccessibleCustomers.php index 1b6dd9b11..fca200aa2 100644 --- a/examples/AccountManagement/ListAccessibleCustomers.php +++ b/examples/AccountManagement/ListAccessibleCustomers.php @@ -19,11 +19,11 @@ require __DIR__ . '/../../vendor/autoload.php'; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; use Google\ApiCore\ApiException; /** diff --git a/examples/AdvancedOperations/AddAdGroupBidModifier.php b/examples/AdvancedOperations/AddAdGroupBidModifier.php index 52e14791a..87f4538e1 100644 --- a/examples/AdvancedOperations/AddAdGroupBidModifier.php +++ b/examples/AdvancedOperations/AddAdGroupBidModifier.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\DeviceInfo; -use Google\Ads\GoogleAds\V1\Enums\DeviceEnum\Device; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupBidModifier; -use Google\Ads\GoogleAds\V1\Services\AdGroupBidModifierOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\DeviceInfo; +use Google\Ads\GoogleAds\V2\Enums\DeviceEnum\Device; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier; +use Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation; use Google\ApiCore\ApiException; use Google\Protobuf\DoubleValue; use Google\Protobuf\StringValue; diff --git a/examples/AdvancedOperations/AddDynamicPageFeed.php b/examples/AdvancedOperations/AddDynamicPageFeed.php index b7790b393..43947ed24 100644 --- a/examples/AdvancedOperations/AddDynamicPageFeed.php +++ b/examples/AdvancedOperations/AddDynamicPageFeed.php @@ -22,33 +22,33 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\WebpageConditionInfo; -use Google\Ads\GoogleAds\V1\Common\WebpageInfo; -use Google\Ads\GoogleAds\V1\Enums\DsaPageFeedCriterionFieldEnum\DsaPageFeedCriterionField; -use Google\Ads\GoogleAds\V1\Enums\FeedAttributeTypeEnum\FeedAttributeType; -use Google\Ads\GoogleAds\V1\Enums\FeedOriginEnum\FeedOrigin; -use Google\Ads\GoogleAds\V1\Enums\FeedMappingCriterionTypeEnum\FeedMappingCriterionType; -use Google\Ads\GoogleAds\V1\Enums\WebpageConditionOperandEnum\WebpageConditionOperand; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Resources\AttributeFieldMapping; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\DynamicSearchAdsSetting; -use Google\Ads\GoogleAds\V1\Resources\Feed; -use Google\Ads\GoogleAds\V1\Resources\FeedAttribute; -use Google\Ads\GoogleAds\V1\Resources\FeedItem; -use Google\Ads\GoogleAds\V1\Resources\FeedMapping; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\FeedOperation; -use Google\Ads\GoogleAds\V1\Services\FeedItemOperation; -use Google\Ads\GoogleAds\V1\Services\FeedMappingOperation; -use Google\Ads\GoogleAds\V1\Resources\FeedItemAttributeValue; +use Google\Ads\GoogleAds\V2\Common\WebpageConditionInfo; +use Google\Ads\GoogleAds\V2\Common\WebpageInfo; +use Google\Ads\GoogleAds\V2\Enums\DsaPageFeedCriterionFieldEnum\DsaPageFeedCriterionField; +use Google\Ads\GoogleAds\V2\Enums\FeedAttributeTypeEnum\FeedAttributeType; +use Google\Ads\GoogleAds\V2\Enums\FeedOriginEnum\FeedOrigin; +use Google\Ads\GoogleAds\V2\Enums\FeedMappingCriterionTypeEnum\FeedMappingCriterionType; +use Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperandEnum\WebpageConditionOperand; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Resources\AttributeFieldMapping; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\DynamicSearchAdsSetting; +use Google\Ads\GoogleAds\V2\Resources\Feed; +use Google\Ads\GoogleAds\V2\Resources\FeedAttribute; +use Google\Ads\GoogleAds\V2\Resources\FeedItem; +use Google\Ads\GoogleAds\V2\Resources\FeedMapping; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\FeedOperation; +use Google\Ads\GoogleAds\V2\Services\FeedItemOperation; +use Google\Ads\GoogleAds\V2\Services\FeedMappingOperation; +use Google\Ads\GoogleAds\V2\Resources\FeedItemAttributeValue; use Google\Ads\GoogleAds\Util\FieldMasks; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; @@ -214,7 +214,7 @@ private static function getFeed( $feedDetails = ['resource_name' => $feedResourceName]; foreach ($feedAttributes as $feedAttribute) { /** @var FeedAttribute $feedAttribute */ - $feedDetails[$feedAttribute->getNameValue()] = $feedAttribute->getIdValue(); + $feedDetails[$feedAttribute->getNameUnwrapped()] = $feedAttribute->getIdUnwrapped(); } return $feedDetails; } diff --git a/examples/AdvancedOperations/AddDynamicSearchAds.php b/examples/AdvancedOperations/AddDynamicSearchAds.php index 7eabb5966..358f61259 100644 --- a/examples/AdvancedOperations/AddDynamicSearchAds.php +++ b/examples/AdvancedOperations/AddDynamicSearchAds.php @@ -22,39 +22,39 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\ExpandedDynamicSearchAdInfo; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Common\WebpageConditionInfo; -use Google\Ads\GoogleAds\V1\Common\WebpageInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Enums\WebpageConditionOperandEnum\WebpageConditionOperand; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\DynamicSearchAdsSetting; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupAdsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupCriteriaResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignBudgetsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignsResponse; +use Google\Ads\GoogleAds\V2\Common\ExpandedDynamicSearchAdInfo; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Common\WebpageConditionInfo; +use Google\Ads\GoogleAds\V2\Common\WebpageInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperandEnum\WebpageConditionOperand; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\DynamicSearchAdsSetting; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriteriaResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignsResponse; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/AdvancedOperations/AddExpandedTextAdWithUpgradedUrls.php b/examples/AdvancedOperations/AddExpandedTextAdWithUpgradedUrls.php index bbbbf4ede..833ead0a6 100644 --- a/examples/AdvancedOperations/AddExpandedTextAdWithUpgradedUrls.php +++ b/examples/AdvancedOperations/AddExpandedTextAdWithUpgradedUrls.php @@ -22,18 +22,18 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\CustomParameter; -use Google\Ads\GoogleAds\V1\Common\ExpandedTextAdInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupServiceClient; +use Google\Ads\GoogleAds\V2\Common\CustomParameter; +use Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupServiceClient; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/AdvancedOperations/AddGmailAd.php b/examples/AdvancedOperations/AddGmailAd.php index b66dc4918..7f87f1ea4 100644 --- a/examples/AdvancedOperations/AddGmailAd.php +++ b/examples/AdvancedOperations/AddGmailAd.php @@ -22,23 +22,23 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\GmailAdInfo; -use Google\Ads\GoogleAds\V1\Common\GmailTeaser; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\MediaTypeEnum\MediaType; -use Google\Ads\GoogleAds\V1\Enums\MimeTypeEnum\MimeType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\MediaFile; -use Google\Ads\GoogleAds\V1\Resources\MediaImage; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\MediaFileOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\GmailAdInfo; +use Google\Ads\GoogleAds\V2\Common\GmailTeaser; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\MediaTypeEnum\MediaType; +use Google\Ads\GoogleAds\V2\Enums\MimeTypeEnum\MimeType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\MediaFile; +use Google\Ads\GoogleAds\V2\Resources\MediaImage; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\MediaFileOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/AdvancedOperations/CreateAndAttachSharedKeywordSet.php b/examples/AdvancedOperations/CreateAndAttachSharedKeywordSet.php index a58f2f5a6..c17aaebd3 100644 --- a/examples/AdvancedOperations/CreateAndAttachSharedKeywordSet.php +++ b/examples/AdvancedOperations/CreateAndAttachSharedKeywordSet.php @@ -22,21 +22,21 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\KeywordInfo; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Enums\SharedSetTypeEnum\SharedSetType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\CampaignSharedSet; -use Google\Ads\GoogleAds\V1\Resources\SharedCriterion; -use Google\Ads\GoogleAds\V1\Resources\SharedSet; -use Google\Ads\GoogleAds\V1\Services\CampaignSharedSetOperation; -use Google\Ads\GoogleAds\V1\Services\SharedCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\SharedSetOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\KeywordInfo; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Enums\SharedSetTypeEnum\SharedSetType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet; +use Google\Ads\GoogleAds\V2\Resources\SharedCriterion; +use Google\Ads\GoogleAds\V2\Resources\SharedSet; +use Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation; +use Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\SharedSetOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/AdvancedOperations/FindAndRemoveCriteriaFromSharedSet.php b/examples/AdvancedOperations/FindAndRemoveCriteriaFromSharedSet.php index e79973caf..623d7664f 100644 --- a/examples/AdvancedOperations/FindAndRemoveCriteriaFromSharedSet.php +++ b/examples/AdvancedOperations/FindAndRemoveCriteriaFromSharedSet.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\CriterionTypeEnum\CriterionType; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\SharedCriterion; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; -use Google\Ads\GoogleAds\V1\Services\SharedCriterionOperation; +use Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum\CriterionType; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\SharedCriterion; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation; use Google\ApiCore\ApiException; /** @@ -124,11 +124,11 @@ public static function runExample( /** @var GoogleAdsRow $googleAdsRow */ printf( "Campaign shared set with ID %d and name '%s' was found.%s", - $googleAdsRow->getSharedSet()->getIdValue(), - $googleAdsRow->getSharedSet()->getNameValue(), + $googleAdsRow->getSharedSet()->getIdUnwrapped(), + $googleAdsRow->getSharedSet()->getNameUnwrapped(), PHP_EOL ); - $sharedSetIds[] = $googleAdsRow->getSharedSet()->getIdValue(); + $sharedSetIds[] = $googleAdsRow->getSharedSet()->getIdUnwrapped(); } // Next, retrieves shared criteria for all found shared sets. @@ -151,7 +151,7 @@ public static function runExample( "Shared criterion with resource name '%s' for negative keyword with text " . "'%s' and match type '%s' was found.%s", $sharedCriterionResourceName, - $googleAdsRow->getSharedCriterion()->getKeyword()->getTextValue(), + $googleAdsRow->getSharedCriterion()->getKeyword()->getTextUnwrapped(), KeywordMatchType::name( $googleAdsRow->getSharedCriterion()->getKeyword()->getMatchType() ), diff --git a/examples/AdvancedOperations/GetAdGroupBidModifiers.php b/examples/AdvancedOperations/GetAdGroupBidModifiers.php index ade9b2769..a82871980 100644 --- a/examples/AdvancedOperations/GetAdGroupBidModifiers.php +++ b/examples/AdvancedOperations/GetAdGroupBidModifiers.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\DeviceEnum\Device; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\DeviceEnum\Device; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example gets ad group bid modifiers. */ @@ -123,11 +123,11 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, printf( "Ad group bid modifier with criterion ID %d, bid modifier value %f, device " . "type '%s' was found in an ad group ID %d of campaign ID %d.%s", - $googleAdsRow->getAdGroupBidModifier()->getCriterionIdValue(), - $googleAdsRow->getAdGroupBidModifier()->getBidModifierValue(), + $googleAdsRow->getAdGroupBidModifier()->getCriterionIdUnwrapped(), + $googleAdsRow->getAdGroupBidModifier()->getBidModifierUnwrapped(), Device::name($googleAdsRow->getAdGroupBidModifier()->getDevice()->getType()), - $googleAdsRow->getAdGroup()->getIdValue(), - $googleAdsRow->getCampaign()->getIdValue(), + $googleAdsRow->getAdGroup()->getIdUnwrapped(), + $googleAdsRow->getCampaign()->getIdUnwrapped(), PHP_EOL ); } diff --git a/examples/AdvancedOperations/UsePortfolioBiddingStrategy.php b/examples/AdvancedOperations/UsePortfolioBiddingStrategy.php index 3bc165df2..7d99d3f75 100644 --- a/examples/AdvancedOperations/UsePortfolioBiddingStrategy.php +++ b/examples/AdvancedOperations/UsePortfolioBiddingStrategy.php @@ -22,23 +22,23 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\TargetSpend; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\BiddingStrategy; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\BiddingStrategyOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\TargetSpend; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\BiddingStrategy; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\Int64Value; diff --git a/examples/BasicOperations/AddAdGroups.php b/examples/BasicOperations/AddAdGroups.php index edc4aca66..15127d072 100644 --- a/examples/BasicOperations/AddAdGroups.php +++ b/examples/BasicOperations/AddAdGroups.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; use Google\ApiCore\ApiException; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/BasicOperations/AddCampaigns.php b/examples/BasicOperations/AddCampaigns.php index a2ba2e271..987e23d48 100644 --- a/examples/BasicOperations/AddCampaigns.php +++ b/examples/BasicOperations/AddCampaigns.php @@ -22,20 +22,20 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\Int64Value; diff --git a/examples/BasicOperations/AddExpandedTextAds.php b/examples/BasicOperations/AddExpandedTextAds.php index ebf7f4a75..8b71d2457 100644 --- a/examples/BasicOperations/AddExpandedTextAds.php +++ b/examples/BasicOperations/AddExpandedTextAds.php @@ -22,17 +22,17 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\ExpandedTextAdInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/BasicOperations/AddKeywords.php b/examples/BasicOperations/AddKeywords.php index a672ac8c6..e12a3d310 100644 --- a/examples/BasicOperations/AddKeywords.php +++ b/examples/BasicOperations/AddKeywords.php @@ -22,17 +22,17 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\KeywordInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\KeywordInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/BasicOperations/GetAdGroups.php b/examples/BasicOperations/GetAdGroups.php index e4191f249..0132b47aa 100644 --- a/examples/BasicOperations/GetAdGroups.php +++ b/examples/BasicOperations/GetAdGroups.php @@ -22,12 +22,12 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example retrieves ad groups. */ diff --git a/examples/BasicOperations/GetArtifactMetadata.php b/examples/BasicOperations/GetArtifactMetadata.php index 9d1bf3556..d59c661f9 100644 --- a/examples/BasicOperations/GetArtifactMetadata.php +++ b/examples/BasicOperations/GetArtifactMetadata.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\GoogleAdsFieldCategoryEnum\GoogleAdsFieldCategory; -use Google\Ads\GoogleAds\V1\Enums\GoogleAdsFieldDataTypeEnum\GoogleAdsFieldDataType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\GoogleAdsField; +use Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldCategoryEnum\GoogleAdsFieldCategory; +use Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldDataTypeEnum\GoogleAdsFieldDataType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\GoogleAdsField; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\StringValue; @@ -112,7 +112,7 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $artifactNam printf( "An artifact named '%s' with category '%s' and data type '%s' %s selectable, %s " . "filterable, %s sortable and %s repeated.%s", - $googleAdsField->getNameValue(), + $googleAdsField->getNameUnwrapped(), GoogleAdsFieldCategory::name($googleAdsField->getCategory()), GoogleAdsFieldDataType::name($googleAdsField->getDataType()), self::getIsOrIsNot($googleAdsField->getSelectable()), diff --git a/examples/BasicOperations/GetCampaigns.php b/examples/BasicOperations/GetCampaigns.php index 8f769bc05..63ac59801 100644 --- a/examples/BasicOperations/GetCampaigns.php +++ b/examples/BasicOperations/GetCampaigns.php @@ -22,12 +22,12 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example gets all campaigns. To add campaigns, run AddCampaigns.php. */ diff --git a/examples/BasicOperations/GetExpandedTextAds.php b/examples/BasicOperations/GetExpandedTextAds.php index 4a16e3ca7..5718ce4c9 100644 --- a/examples/BasicOperations/GetExpandedTextAds.php +++ b/examples/BasicOperations/GetExpandedTextAds.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example gets expanded text ads. */ @@ -125,11 +125,11 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, printf( "Expanded text ad with ID %d, status '%s', and headline '%s - %s' was found in ad " . "group with ID %d.%s", - $ad->getIdValue(), + $ad->getIdUnwrapped(), AdGroupAdStatus::name($googleAdsRow->getAdGroupAd()->getStatus()), - $ad->getExpandedTextAd()->getHeadlinePart1Value(), - $ad->getExpandedTextAd()->getHeadlinePart2Value(), - $googleAdsRow->getAdGroup()->getIdValue(), + $ad->getExpandedTextAd()->getHeadlinePart1Unwrapped(), + $ad->getExpandedTextAd()->getHeadlinePart2Unwrapped(), + $googleAdsRow->getAdGroup()->getIdUnwrapped(), PHP_EOL ); } diff --git a/examples/BasicOperations/GetKeywords.php b/examples/BasicOperations/GetKeywords.php index 6f27b5f72..32ed35ce8 100644 --- a/examples/BasicOperations/GetKeywords.php +++ b/examples/BasicOperations/GetKeywords.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\CriterionTypeEnum\CriterionType; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum\CriterionType; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example gets keywords from ad group criteria. */ @@ -125,13 +125,13 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, printf( "Keyword with text '%s', match type '%s', criterion type '%s', and ID %d " . "was found in ad group with ID %d.%s", - $googleAdsRow->getAdGroupCriterion()->getKeyword()->getTextValue(), + $googleAdsRow->getAdGroupCriterion()->getKeyword()->getTextUnwrapped(), KeywordMatchType::name( $googleAdsRow->getAdGroupCriterion()->getKeyword()->getMatchType() ), CriterionType::name($googleAdsRow->getAdGroupCriterion()->getType()), - $googleAdsRow->getAdGroupCriterion()->getCriterionIdValue(), - $googleAdsRow->getAdGroup()->getIdValue(), + $googleAdsRow->getAdGroupCriterion()->getCriterionIdUnwrapped(), + $googleAdsRow->getAdGroup()->getIdUnwrapped(), PHP_EOL ); } diff --git a/examples/BasicOperations/PauseAd.php b/examples/BasicOperations/PauseAd.php index a95d07fe4..38e425366 100644 --- a/examples/BasicOperations/PauseAd.php +++ b/examples/BasicOperations/PauseAd.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; use Google\Ads\GoogleAds\Util\FieldMasks; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/BasicOperations/RemoveAd.php b/examples/BasicOperations/RemoveAd.php index ba9d9d2f3..708db529d 100644 --- a/examples/BasicOperations/RemoveAd.php +++ b/examples/BasicOperations/RemoveAd.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/BasicOperations/RemoveAdGroup.php b/examples/BasicOperations/RemoveAdGroup.php index 834c52735..17dda8e20 100644 --- a/examples/BasicOperations/RemoveAdGroup.php +++ b/examples/BasicOperations/RemoveAdGroup.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/BasicOperations/RemoveCampaign.php b/examples/BasicOperations/RemoveCampaign.php index b60c39fe6..8500b447b 100644 --- a/examples/BasicOperations/RemoveCampaign.php +++ b/examples/BasicOperations/RemoveCampaign.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; /** This example deletes a campaign using the 'REMOVE' operation. To get campaigns, run diff --git a/examples/BasicOperations/RemoveKeyword.php b/examples/BasicOperations/RemoveKeyword.php index 22f12b207..71a492bb7 100644 --- a/examples/BasicOperations/RemoveKeyword.php +++ b/examples/BasicOperations/RemoveKeyword.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/BasicOperations/UpdateAdGroup.php b/examples/BasicOperations/UpdateAdGroup.php index c9a755690..783fd1574 100644 --- a/examples/BasicOperations/UpdateAdGroup.php +++ b/examples/BasicOperations/UpdateAdGroup.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; use Google\Ads\GoogleAds\Util\FieldMasks; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; use Google\ApiCore\ApiException; use Google\Protobuf\Int64Value; diff --git a/examples/BasicOperations/UpdateCampaign.php b/examples/BasicOperations/UpdateCampaign.php index 35d9ead28..faf322531 100644 --- a/examples/BasicOperations/UpdateCampaign.php +++ b/examples/BasicOperations/UpdateCampaign.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; use Google\Ads\GoogleAds\Util\FieldMasks; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/BasicOperations/UpdateKeyword.php b/examples/BasicOperations/UpdateKeyword.php index 1a864aee8..f54059b78 100644 --- a/examples/BasicOperations/UpdateKeyword.php +++ b/examples/BasicOperations/UpdateKeyword.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; use Google\Ads\GoogleAds\Util\FieldMasks; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/Billing/AddAccountBudgetProposal.php b/examples/Billing/AddAccountBudgetProposal.php index 3fc0ac536..9e0d1b471 100644 --- a/examples/Billing/AddAccountBudgetProposal.php +++ b/examples/Billing/AddAccountBudgetProposal.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\AccountBudgetProposalTypeEnum\AccountBudgetProposalType; -use Google\Ads\GoogleAds\V1\Enums\TimeTypeEnum\TimeType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AccountBudgetProposal; -use Google\Ads\GoogleAds\V1\Services\AccountBudgetProposalOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalTypeEnum\AccountBudgetProposalType; +use Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum\TimeType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal; +use Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalOperation; use Google\ApiCore\ApiException; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/Billing/GetAccountBudgetProposals.php b/examples/Billing/GetAccountBudgetProposals.php index 2c10eb762..28178025c 100644 --- a/examples/Billing/GetAccountBudgetProposals.php +++ b/examples/Billing/GetAccountBudgetProposals.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\AccountBudgetProposalStatusEnum\AccountBudgetProposalStatus; -use Google\Ads\GoogleAds\V1\Enums\AccountBudgetProposalTypeEnum\AccountBudgetProposalType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalStatusEnum\AccountBudgetProposalStatus; +use Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalTypeEnum\AccountBudgetProposalType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** @@ -131,16 +131,16 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId) . ' proposed type \'%8$s\'.%11$s' . ' approval date time \'%9$s\'.%11$s' . ' creation date time \'%10$s\'.%11$s', - $accountBudgetProposal->getIdValue(), + $accountBudgetProposal->getIdUnwrapped(), AccountBudgetProposalStatus::name($accountBudgetProposal->getStatus()), - $accountBudgetProposal->getAccountBudgetValue(), - $accountBudgetProposal->getBillingSetupValue(), - $accountBudgetProposal->getProposedNameValue(), - $accountBudgetProposal->getProposedNotesValue(), - $accountBudgetProposal->getProposedPurchaseOrderNumberValue(), + $accountBudgetProposal->getAccountBudgetUnwrapped(), + $accountBudgetProposal->getBillingSetupUnwrapped(), + $accountBudgetProposal->getProposedNameUnwrapped(), + $accountBudgetProposal->getProposedNotesUnwrapped(), + $accountBudgetProposal->getProposedPurchaseOrderNumberUnwrapped(), AccountBudgetProposalType::name($accountBudgetProposal->getProposalType()), - $accountBudgetProposal->getApprovalDateTimeValue(), - $accountBudgetProposal->getCreationDateTimeValue(), + $accountBudgetProposal->getApprovalDateTimeUnwrapped(), + $accountBudgetProposal->getCreationDateTimeUnwrapped(), PHP_EOL ); } diff --git a/examples/Billing/GetAccountBudgets.php b/examples/Billing/GetAccountBudgets.php index a448a929a..146543f6c 100644 --- a/examples/Billing/GetAccountBudgets.php +++ b/examples/Billing/GetAccountBudgets.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\AccountBudgetStatusEnum\AccountBudgetStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\AccountBudgetStatusEnum\AccountBudgetStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example retrieves all account budgets for a Google Ads customer. */ @@ -127,37 +127,37 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId) $accountBudget->getResourceName(), AccountBudgetStatus::name($accountBudget->getStatus()), $accountBudget->getBillingSetup() - ? $accountBudget->getBillingSetupValue() : 'none', + ? $accountBudget->getBillingSetupUnwrapped() : 'none', $accountBudget->getAmountServedMicros() - ? $accountBudget->getAmountServedMicrosValue() / 1000000.0 + ? $accountBudget->getAmountServedMicrosUnwrapped() / 1000000.0 : 0.0, $accountBudget->getTotalAdjustmentsMicros() - ? $accountBudget->getTotalAdjustmentsMicrosValue() / 1000000.0 + ? $accountBudget->getTotalAdjustmentsMicrosUnwrapped() / 1000000.0 : 0.0, PHP_EOL, $accountBudget->getApprovedSpendingLimitMicros() ? sprintf( '%.2f', - $accountBudget->getApprovedSpendingLimitMicrosValue() / 1000000.0 + $accountBudget->getApprovedSpendingLimitMicrosUnwrapped() / 1000000.0 ) : $accountBudget->getApprovedSpendingLimitType(), $accountBudget->getProposedSpendingLimitMicros() ? sprintf( '%.2f', - $accountBudget->getProposedSpendingLimitMicrosValue() / 1000000.0 + $accountBudget->getProposedSpendingLimitMicrosUnwrapped() / 1000000.0 ) : $accountBudget->getProposedSpendingLimitType(), PHP_EOL, $accountBudget->getApprovedStartDateTime() - ? $accountBudget->getApprovedStartDateTimeValue() + ? $accountBudget->getApprovedStartDateTimeUnwrapped() : 'none', $accountBudget->getProposedStartDateTime() - ? $accountBudget->getProposedStartDateTimeValue() + ? $accountBudget->getProposedStartDateTimeUnwrapped() : 'none', PHP_EOL, $accountBudget->getApprovedEndDateTime() - ? $accountBudget->getApprovedEndDateTimeValue() + ? $accountBudget->getApprovedEndDateTimeUnwrapped() : $accountBudget->getApprovedEndTimeType(), $accountBudget->getProposedEndDateTime() - ? $accountBudget->getProposedEndDateTimeValue() + ? $accountBudget->getProposedEndDateTimeUnwrapped() : $accountBudget->getProposedEndTimeType(), PHP_EOL ); diff --git a/examples/Billing/GetBillingSetup.php b/examples/Billing/GetBillingSetup.php index 9c21eff6f..2a0c13f7e 100644 --- a/examples/Billing/GetBillingSetup.php +++ b/examples/Billing/GetBillingSetup.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\BillingSetupStatusEnum\BillingSetupStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\BillingSetupStatusEnum\BillingSetupStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This sample gets all BillingSetup objects available for the specified customer ID. */ @@ -131,14 +131,14 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId) . ' payments profile ID \'%5$s\', %8$s' . ' payments profile name \'%6$s\', %8$s' . ' secondary payments profile ID \'%7$s\'.%8$s', - $googleAdsRow->getBillingSetup()->getIdValue(), + $googleAdsRow->getBillingSetup()->getIdUnwrapped(), BillingSetupStatus::name($googleAdsRow->getBillingSetup()->getStatus()), - $paymentAccountInfo->getPaymentsAccountIdValue(), - $paymentAccountInfo->getPaymentsAccountNameValue(), - $paymentAccountInfo->getPaymentsProfileIdValue(), - $paymentAccountInfo->getPaymentsProfileNameValue(), + $paymentAccountInfo->getPaymentsAccountIdUnwrapped(), + $paymentAccountInfo->getPaymentsAccountNameUnwrapped(), + $paymentAccountInfo->getPaymentsProfileIdUnwrapped(), + $paymentAccountInfo->getPaymentsProfileNameUnwrapped(), $paymentAccountInfo->getSecondaryPaymentsProfileId() - ? $paymentAccountInfo->getSecondaryPaymentsProfileIdValue() + ? $paymentAccountInfo->getSecondaryPaymentsProfileIdUnwrapped() : 'None', PHP_EOL ); diff --git a/examples/Billing/RemoveBillingSetup.php b/examples/Billing/RemoveBillingSetup.php index 288336560..999ff9655 100644 --- a/examples/Billing/RemoveBillingSetup.php +++ b/examples/Billing/RemoveBillingSetup.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\BillingSetup; -use Google\Ads\GoogleAds\V1\Services\BillingSetupOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\BillingSetup; +use Google\Ads\GoogleAds\V2\Services\BillingSetupOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/CampaignManagement/AddCampaignBidModifier.php b/examples/CampaignManagement/AddCampaignBidModifier.php index ed93f138b..6fda784f2 100644 --- a/examples/CampaignManagement/AddCampaignBidModifier.php +++ b/examples/CampaignManagement/AddCampaignBidModifier.php @@ -22,16 +22,16 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\InteractionTypeInfo; -use Google\Ads\GoogleAds\V1\Enums\InteractionTypeEnum; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\CampaignBidModifier; -use Google\Ads\GoogleAds\V1\Services\CampaignBidModifierOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\InteractionTypeInfo; +use Google\Ads\GoogleAds\V2\Enums\InteractionTypeEnum; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier; +use Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation; use Google\ApiCore\ApiException; use Google\Protobuf\DoubleValue; use Google\Protobuf\StringValue; diff --git a/examples/CampaignManagement/AddCampaignDraft.php b/examples/CampaignManagement/AddCampaignDraft.php index de8310e64..869e2acea 100644 --- a/examples/CampaignManagement/AddCampaignDraft.php +++ b/examples/CampaignManagement/AddCampaignDraft.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\CampaignDraft; -use Google\Ads\GoogleAds\V1\Services\CampaignDraftOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\CampaignDraft; +use Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/CampaignManagement/AddCampaignLabels.php b/examples/CampaignManagement/AddCampaignLabels.php index 7b4ad76db..257d45444 100644 --- a/examples/CampaignManagement/AddCampaignLabels.php +++ b/examples/CampaignManagement/AddCampaignLabels.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\CampaignLabel; -use Google\Ads\GoogleAds\V1\Services\CampaignLabelOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\CampaignLabel; +use Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation; use Google\ApiCore\ApiException; /** This example adds a campaign label to a list of campaigns. */ diff --git a/examples/CampaignManagement/AddCompleteCampaignsUsingMutateJob.php b/examples/CampaignManagement/AddCompleteCampaignsUsingMutateJob.php index 4d6ae8dca..d32a5bba8 100644 --- a/examples/CampaignManagement/AddCompleteCampaignsUsingMutateJob.php +++ b/examples/CampaignManagement/AddCompleteCampaignsUsingMutateJob.php @@ -23,37 +23,37 @@ use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\ExpandedTextAdInfo; -use Google\Ads\GoogleAds\V1\Common\KeywordInfo; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Resources\CampaignCriterion; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\MutateJobResult; -use Google\Ads\GoogleAds\V1\Services\MutateJobServiceClient; -use Google\Ads\GoogleAds\V1\Services\MutateOperation; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo; +use Google\Ads\GoogleAds\V2\Common\KeywordInfo; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Resources\CampaignCriterion; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\MutateJobResult; +use Google\Ads\GoogleAds\V2\Services\MutateJobServiceClient; +use Google\Ads\GoogleAds\V2\Services\MutateOperation; use Google\ApiCore\ApiException; use Google\ApiCore\OperationResponse; use Google\Protobuf\BoolValue; diff --git a/examples/CampaignManagement/GetAllDisapprovedAds.php b/examples/CampaignManagement/GetAllDisapprovedAds.php index e69d16969..3bff5182c 100644 --- a/examples/CampaignManagement/GetAllDisapprovedAds.php +++ b/examples/CampaignManagement/GetAllDisapprovedAds.php @@ -22,17 +22,17 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\PolicyTopicEntry; -use Google\Ads\GoogleAds\V1\Common\PolicyTopicEvidence; -use Google\Ads\GoogleAds\V1\Enums\AdTypeEnum\AdType; -use Google\Ads\GoogleAds\V1\Enums\PolicyApprovalStatusEnum\PolicyApprovalStatus; -use Google\Ads\GoogleAds\V1\Enums\PolicyTopicEntryTypeEnum\PolicyTopicEntryType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry; +use Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence; +use Google\Ads\GoogleAds\V2\Enums\AdTypeEnum\AdType; +use Google\Ads\GoogleAds\V2\Enums\PolicyApprovalStatusEnum\PolicyApprovalStatus; +use Google\Ads\GoogleAds\V2\Enums\PolicyTopicEntryTypeEnum\PolicyTopicEntryType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example retrieves all the disapproved ads in a given campaign. */ @@ -132,7 +132,7 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, printf( "Ad with ID %d and type '%s' was disapproved with the following policy " . "topic entries:%s", - $ad->getIdValue(), + $ad->getIdUnwrapped(), AdType::name($ad->getType()), PHP_EOL ); @@ -140,7 +140,7 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, /** @var PolicyTopicEntry $policyTopicEntry */ printf( " topic: '%s', type: '%s'%s", - $policyTopicEntry->getTopicValue(), + $policyTopicEntry->getTopicUnwrapped(), PolicyTopicEntryType::name($policyTopicEntry->getType()), PHP_EOL ); diff --git a/examples/CampaignManagement/GetCampaignsByLabel.php b/examples/CampaignManagement/GetCampaignsByLabel.php index 4b9094866..cdc7d45e8 100644 --- a/examples/CampaignManagement/GetCampaignsByLabel.php +++ b/examples/CampaignManagement/GetCampaignsByLabel.php @@ -22,12 +22,12 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example gets all campaigns with a specific label. */ @@ -112,9 +112,9 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, /** @var GoogleAdsRow $googleAdsRow */ printf( "Campaign found with name '%s', ID %d, and label: '%s'.%s", - $googleAdsRow->getCampaign()->getNameValue(), - $googleAdsRow->getCampaign()->getIdValue(), - $googleAdsRow->getLabel()->getNameValue(), + $googleAdsRow->getCampaign()->getNameUnwrapped(), + $googleAdsRow->getCampaign()->getIdUnwrapped(), + $googleAdsRow->getLabel()->getNameUnwrapped(), PHP_EOL ); } diff --git a/examples/CampaignManagement/SetAdParameters.php b/examples/CampaignManagement/SetAdParameters.php index 4be0e7aa4..ad3991f7b 100644 --- a/examples/CampaignManagement/SetAdParameters.php +++ b/examples/CampaignManagement/SetAdParameters.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdParameter; -use Google\Ads\GoogleAds\V1\Services\AdParameterOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdParameter; +use Google\Ads\GoogleAds\V2\Services\AdParameterOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; use Google\Protobuf\Int64Value; diff --git a/examples/ErrorHandling/HandlePartialFailure.php b/examples/ErrorHandling/HandlePartialFailure.php index 29900c7a3..937d66295 100644 --- a/examples/ErrorHandling/HandlePartialFailure.php +++ b/examples/ErrorHandling/HandlePartialFailure.php @@ -22,18 +22,18 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\GoogleAdsErrors; -use Google\Ads\GoogleAds\Util\V1\GoogleAdsFailures; -use Google\Ads\GoogleAds\Util\V1\PartialFailures; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupsResponse; +use Google\Ads\GoogleAds\Util\V2\GoogleAdsErrors; +use Google\Ads\GoogleAds\Util\V2\GoogleAdsFailures; +use Google\Ads\GoogleAds\Util\V2\PartialFailures; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupsResponse; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/HotelAds/AddHotelAd.php b/examples/HotelAds/AddHotelAd.php index 609b165f5..fc9298693 100644 --- a/examples/HotelAds/AddHotelAd.php +++ b/examples/HotelAds/AddHotelAd.php @@ -22,30 +22,30 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\HotelAdInfo; -use Google\Ads\GoogleAds\V1\Common\PercentCpc; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\HotelSettingInfo; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Common\HotelAdInfo; +use Google\Ads\GoogleAds\V2\Common\PercentCpc; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\HotelSettingInfo; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\Int64Value; diff --git a/examples/HotelAds/AddHotelAdGroupBidModifiers.php b/examples/HotelAds/AddHotelAdGroupBidModifiers.php index 2d122c14e..cb3de37cd 100644 --- a/examples/HotelAds/AddHotelAdGroupBidModifiers.php +++ b/examples/HotelAds/AddHotelAdGroupBidModifiers.php @@ -22,17 +22,17 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\HotelCheckInDayInfo; -use Google\Ads\GoogleAds\V1\Common\HotelLengthOfStayInfo; -use Google\Ads\GoogleAds\V1\Enums\DayOfWeekEnum\DayOfWeek; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupBidModifier; -use Google\Ads\GoogleAds\V1\Services\AdGroupBidModifierOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\HotelCheckInDayInfo; +use Google\Ads\GoogleAds\V2\Common\HotelLengthOfStayInfo; +use Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum\DayOfWeek; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier; +use Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation; use Google\ApiCore\ApiException; use Google\Protobuf\DoubleValue; use Google\Protobuf\Int64Value; diff --git a/examples/HotelAds/AddHotelListingGroupTree.php b/examples/HotelAds/AddHotelListingGroupTree.php index 40051f416..b993c2a1e 100644 --- a/examples/HotelAds/AddHotelListingGroupTree.php +++ b/examples/HotelAds/AddHotelListingGroupTree.php @@ -22,20 +22,20 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\HotelClassInfo; -use Google\Ads\GoogleAds\V1\Common\HotelCountryRegionInfo; -use Google\Ads\GoogleAds\V1\Common\ListingDimensionInfo; -use Google\Ads\GoogleAds\V1\Common\ListingGroupInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\ListingGroupTypeEnum\ListingGroupType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\HotelClassInfo; +use Google\Ads\GoogleAds\V2\Common\HotelCountryRegionInfo; +use Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo; +use Google\Ads\GoogleAds\V2\Common\ListingGroupInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\ListingGroupTypeEnum\ListingGroupType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; use Google\ApiCore\ApiException; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase1.php b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase1.php index e276761db..1cfbf290a 100644 --- a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase1.php +++ b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase1.php @@ -19,11 +19,11 @@ require __DIR__ . '/../vendor/autoload.php'; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignBudgetsResponse; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse; use Google\AdsApi\AdWords\AdWordsServices; use Google\AdsApi\AdWords\AdWordsSession; use Google\AdsApi\AdWords\v201809\cm\AdGroup; diff --git a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase2.php b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase2.php index 5659814e7..c6cdd6d30 100644 --- a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase2.php +++ b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase2.php @@ -19,18 +19,18 @@ require __DIR__ . '/../vendor/autoload.php'; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignBudgetsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignsResponse; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignsResponse; use Google\AdsApi\AdWords\AdWordsServices; use Google\AdsApi\AdWords\AdWordsSession; use Google\AdsApi\AdWords\v201809\cm\AdGroup; diff --git a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase3.php b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase3.php index 6711739fe..828b81f17 100644 --- a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase3.php +++ b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase3.php @@ -19,23 +19,23 @@ require __DIR__ . '/../vendor/autoload.php'; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignBudgetsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignsResponse; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignsResponse; use Google\AdsApi\AdWords\AdWordsServices; use Google\AdsApi\AdWords\AdWordsSession; use Google\AdsApi\AdWords\v201809\cm\AdGroupAd; diff --git a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase4.php b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase4.php index f5a914a99..0c27a9b59 100644 --- a/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase4.php +++ b/examples/Migration/CampaignManagement/CreateCompleteCampaignBothApisPhase4.php @@ -19,29 +19,29 @@ require __DIR__ . '/../vendor/autoload.php'; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Common\ExpandedTextAdInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupAdsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignBudgetsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignsResponse; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignsResponse; use Google\AdsApi\AdWords\AdWordsServices; use Google\AdsApi\AdWords\AdWordsSession; use Google\AdsApi\AdWords\v201809\cm\AdGroupCriterionOperation; diff --git a/examples/Migration/CampaignManagement/CreateCompleteCampaignGoogleAdsApiOnly.php b/examples/Migration/CampaignManagement/CreateCompleteCampaignGoogleAdsApiOnly.php index aa28461a6..5db3b2e5e 100644 --- a/examples/Migration/CampaignManagement/CreateCompleteCampaignGoogleAdsApiOnly.php +++ b/examples/Migration/CampaignManagement/CreateCompleteCampaignGoogleAdsApiOnly.php @@ -19,35 +19,35 @@ require __DIR__ . '/../vendor/autoload.php'; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Common\ExpandedTextAdInfo; -use Google\Ads\GoogleAds\V1\Common\KeywordInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\NetworkSettings; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupAdsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateAdGroupCriteriaResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignBudgetsResponse; -use Google\Ads\GoogleAds\V1\Services\MutateCampaignsResponse; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo; +use Google\Ads\GoogleAds\V2\Common\KeywordInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriteriaResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse; +use Google\Ads\GoogleAds\V2\Services\MutateCampaignsResponse; use Google\Protobuf\BoolValue; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/Migration/RunExamples.php b/examples/Migration/RunExamples.php index 55569c218..9d9c3a218 100644 --- a/examples/Migration/RunExamples.php +++ b/examples/Migration/RunExamples.php @@ -25,7 +25,7 @@ use Google\Ads\GoogleAds\Examples\Migration\CampaignManagement\CreateCompleteCampaignBothApisPhase3; use Google\Ads\GoogleAds\Examples\Migration\CampaignManagement\CreateCompleteCampaignBothApisPhase4; use Google\Ads\GoogleAds\Examples\Migration\CampaignManagement\CreateCompleteCampaignGoogleAdsApiOnly; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; use Google\AdsApi\AdWords\AdWordsServices; use Google\AdsApi\AdWords\AdWordsSessionBuilder; diff --git a/examples/Misc/GetAllVideosAndImages.php b/examples/Misc/GetAllVideosAndImages.php index 4f9638b8e..8a3b34d4f 100644 --- a/examples/Misc/GetAllVideosAndImages.php +++ b/examples/Misc/GetAllVideosAndImages.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\MediaTypeEnum\MediaType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\MediaTypeEnum\MediaType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** This example gets information about all video and image files. */ @@ -108,8 +108,8 @@ public static function runExample(GoogleAdsClient $googleAdsClient, int $custome /** @var GoogleAdsRow $googleAdsRow */ printf( "Media file with ID %d, name '%s', and type '%s' was found.%s", - $googleAdsRow->getMediaFile()->getIdValue(), - $googleAdsRow->getMediaFile()->getNameValue(), + $googleAdsRow->getMediaFile()->getIdUnwrapped(), + $googleAdsRow->getMediaFile()->getNameUnwrapped(), MediaType::name($googleAdsRow->getMediaFile()->getType()), PHP_EOL ); diff --git a/examples/Misc/UploadImage.php b/examples/Misc/UploadImage.php index d52359530..c37d9880e 100644 --- a/examples/Misc/UploadImage.php +++ b/examples/Misc/UploadImage.php @@ -22,15 +22,15 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\MediaTypeEnum\MediaType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\MediaFile; -use Google\Ads\GoogleAds\V1\Resources\MediaImage; -use Google\Ads\GoogleAds\V1\Services\MediaFileOperation; +use Google\Ads\GoogleAds\V2\Enums\MediaTypeEnum\MediaType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\MediaFile; +use Google\Ads\GoogleAds\V2\Resources\MediaImage; +use Google\Ads\GoogleAds\V2\Services\MediaFileOperation; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/Planning/AddKeywordPlan.php b/examples/Planning/AddKeywordPlan.php index 8fc4ecd6f..1507d472f 100644 --- a/examples/Planning/AddKeywordPlan.php +++ b/examples/Planning/AddKeywordPlan.php @@ -22,27 +22,27 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Enums\KeywordPlanForecastIntervalEnum\KeywordPlanForecastInterval; -use Google\Ads\GoogleAds\V1\Enums\KeywordPlanNetworkEnum\KeywordPlanNetwork; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlan; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlanAdGroup; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlanCampaign; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlanForecastPeriod; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlanGeoTarget; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlanKeyword; -use Google\Ads\GoogleAds\V1\Resources\KeywordPlanNegativeKeyword; -use Google\Ads\GoogleAds\V1\Services\KeywordPlanAdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\KeywordPlanCampaignOperation; -use Google\Ads\GoogleAds\V1\Services\KeywordPlanKeywordOperation; -use Google\Ads\GoogleAds\V1\Services\KeywordPlanNegativeKeywordOperation; -use Google\Ads\GoogleAds\V1\Services\KeywordPlanOperation; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Enums\KeywordPlanForecastIntervalEnum\KeywordPlanForecastInterval; +use Google\Ads\GoogleAds\V2\Enums\KeywordPlanNetworkEnum\KeywordPlanNetwork; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlan; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlanForecastPeriod; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlanGeoTarget; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword; +use Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword; +use Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignOperation; +use Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordOperation; +use Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordOperation; +use Google\Ads\GoogleAds\V2\Services\KeywordPlanOperation; use Google\ApiCore\ApiException; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/Planning/GenerateForecastMetrics.php b/examples/Planning/GenerateForecastMetrics.php index b0689262a..706aae4ec 100644 --- a/examples/Planning/GenerateForecastMetrics.php +++ b/examples/Planning/GenerateForecastMetrics.php @@ -22,15 +22,15 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Services\ForecastMetrics; -use Google\Ads\GoogleAds\V1\Services\GenerateForecastMetricsResponse; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\KeywordPlanKeywordForecast; +use Google\Ads\GoogleAds\V2\Services\ForecastMetrics; +use Google\Ads\GoogleAds\V2\Services\GenerateForecastMetricsResponse; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordForecast; use Google\ApiCore\ApiException; /** diff --git a/examples/Planning/GenerateKeywordIdeas.php b/examples/Planning/GenerateKeywordIdeas.php index f8bebb9c5..a861e55fd 100644 --- a/examples/Planning/GenerateKeywordIdeas.php +++ b/examples/Planning/GenerateKeywordIdeas.php @@ -22,17 +22,17 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Enums\KeywordPlanNetworkEnum\KeywordPlanNetwork; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GenerateKeywordIdeaResult; -use Google\Ads\GoogleAds\V1\Services\KeywordAndUrlSeed; -use Google\Ads\GoogleAds\V1\Services\KeywordSeed; -use Google\Ads\GoogleAds\V1\Services\UrlSeed; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Enums\KeywordPlanNetworkEnum\KeywordPlanNetwork; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GenerateKeywordIdeaResult; +use Google\Ads\GoogleAds\V2\Services\KeywordAndUrlSeed; +use Google\Ads\GoogleAds\V2\Services\KeywordSeed; +use Google\Ads\GoogleAds\V2\Services\UrlSeed; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/Recommendations/ApplyRecommendation.php b/examples/Recommendations/ApplyRecommendation.php index 48e90872d..1aaa81e3e 100644 --- a/examples/Recommendations/ApplyRecommendation.php +++ b/examples/Recommendations/ApplyRecommendation.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Recommendation; -use Google\Ads\GoogleAds\V1\Services\ApplyRecommendationOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Recommendation; +use Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/Recommendations/DismissRecommendation.php b/examples/Recommendations/DismissRecommendation.php index a143b39dd..8ed8c6d5a 100644 --- a/examples/Recommendations/DismissRecommendation.php +++ b/examples/Recommendations/DismissRecommendation.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Recommendation; -use Google\Ads\GoogleAds\V1\Services\DismissRecommendationRequest\DismissRecommendationOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Recommendation; +use Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest\DismissRecommendationOperation; use Google\ApiCore\ApiException; /** diff --git a/examples/Recommendations/GetTextAdRecommendations.php b/examples/Recommendations/GetTextAdRecommendations.php index 31ae89ef5..f85a18a05 100644 --- a/examples/Recommendations/GetTextAdRecommendations.php +++ b/examples/Recommendations/GetTextAdRecommendations.php @@ -22,12 +22,12 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; diff --git a/examples/Remarketing/AddConversionAction.php b/examples/Remarketing/AddConversionAction.php index 4505587b1..1b8c653c7 100644 --- a/examples/Remarketing/AddConversionAction.php +++ b/examples/Remarketing/AddConversionAction.php @@ -22,17 +22,17 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\ConversionActionCategoryEnum\ConversionActionCategory; -use Google\Ads\GoogleAds\V1\Enums\ConversionActionStatusEnum\ConversionActionStatus; -use Google\Ads\GoogleAds\V1\Enums\ConversionActionTypeEnum\ConversionActionType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\ConversionAction; -use Google\Ads\GoogleAds\V1\Resources\ConversionAction\ValueSettings; -use Google\Ads\GoogleAds\V1\Services\ConversionActionOperation; +use Google\Ads\GoogleAds\V2\Enums\ConversionActionCategoryEnum\ConversionActionCategory; +use Google\Ads\GoogleAds\V2\Enums\ConversionActionStatusEnum\ConversionActionStatus; +use Google\Ads\GoogleAds\V2\Enums\ConversionActionTypeEnum\ConversionActionType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\ConversionAction; +use Google\Ads\GoogleAds\V2\Resources\ConversionAction\ValueSettings; +use Google\Ads\GoogleAds\V2\Services\ConversionActionOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\DoubleValue; diff --git a/examples/Reporting/GetHotelAdsPerformance.php b/examples/Reporting/GetHotelAdsPerformance.php index 3aee66408..f541fd8a1 100644 --- a/examples/Reporting/GetHotelAdsPerformance.php +++ b/examples/Reporting/GetHotelAdsPerformance.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\DayOfWeekEnum\DayOfWeek; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum\DayOfWeek; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** @@ -126,12 +126,12 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId) . "with hotel check-in on %s and %d day(s) of stay " . "had %d impression(s) and %d average lead value (in micros) " . "during the last 7 days.%s", - $googleAdsRow->getAdGroup()->getIdValue(), - $googleAdsRow->getCampaign()->getIdValue(), + $googleAdsRow->getAdGroup()->getIdUnwrapped(), + $googleAdsRow->getCampaign()->getIdUnwrapped(), DayOfWeek::name($googleAdsRow->getSegments()->getHotelCheckInDayOfWeek()), - $googleAdsRow->getSegments()->getHotelLengthOfStayValue(), - $googleAdsRow->getMetrics()->getImpressionsValue(), - $googleAdsRow->getMetrics()->getHotelAverageLeadValueMicrosValue(), + $googleAdsRow->getSegments()->getHotelLengthOfStayUnwrapped(), + $googleAdsRow->getMetrics()->getImpressionsUnwrapped(), + $googleAdsRow->getMetrics()->getHotelAverageLeadValueMicrosUnwrapped(), PHP_EOL ); } diff --git a/examples/Reporting/GetKeywordStats.php b/examples/Reporting/GetKeywordStats.php index c8ae846b0..bce1cdcbe 100644 --- a/examples/Reporting/GetKeywordStats.php +++ b/examples/Reporting/GetKeywordStats.php @@ -22,13 +22,13 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** @@ -141,16 +141,16 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId) . "%d click(s), " . "and %d cost (in micros) " . "during the last 7 days.%s", - $adGroupCriterion->getKeyword()->getTextValue(), + $adGroupCriterion->getKeyword()->getTextUnwrapped(), KeywordMatchType::name($adGroupCriterion->getKeyword()->getMatchType()), - $adGroupCriterion->getCriterionIdValue(), - $adGroup->getNameValue(), - $adGroup->getIdValue(), - $campaign->getNameValue(), - $campaign->getIdValue(), - $metrics->getImpressionsValue(), - $metrics->getClicksValue(), - $metrics->getCostMicrosValue(), + $adGroupCriterion->getCriterionIdUnwrapped(), + $adGroup->getNameUnwrapped(), + $adGroup->getIdUnwrapped(), + $campaign->getNameUnwrapped(), + $campaign->getIdUnwrapped(), + $metrics->getImpressionsUnwrapped(), + $metrics->getClicksUnwrapped(), + $metrics->getCostMicrosUnwrapped(), PHP_EOL ); } diff --git a/examples/ShoppingAds/AddShoppingProductAd.php b/examples/ShoppingAds/AddShoppingProductAd.php index c405e4157..35f35b6c7 100644 --- a/examples/ShoppingAds/AddShoppingProductAd.php +++ b/examples/ShoppingAds/AddShoppingProductAd.php @@ -22,33 +22,33 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\ListingGroupInfo; -use Google\Ads\GoogleAds\V1\Common\ManualCpc; -use Google\Ads\GoogleAds\V1\Common\ShoppingProductAdInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Enums\ListingGroupTypeEnum\ListingGroupType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\ShoppingSetting; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Common\ListingGroupInfo; +use Google\Ads\GoogleAds\V2\Common\ManualCpc; +use Google\Ads\GoogleAds\V2\Common\ShoppingProductAdInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Enums\ListingGroupTypeEnum\ListingGroupType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\ShoppingSetting; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\Int32Value; diff --git a/examples/ShoppingAds/AddShoppingProductListingGroupTree.php b/examples/ShoppingAds/AddShoppingProductListingGroupTree.php index 935a8b475..8d9c847ca 100644 --- a/examples/ShoppingAds/AddShoppingProductListingGroupTree.php +++ b/examples/ShoppingAds/AddShoppingProductListingGroupTree.php @@ -22,22 +22,22 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\ListingBrandInfo; -use Google\Ads\GoogleAds\V1\Common\ListingDimensionInfo; -use Google\Ads\GoogleAds\V1\Common\ListingGroupInfo; -use Google\Ads\GoogleAds\V1\Common\ProductConditionInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; -use Google\Ads\GoogleAds\V1\Enums\ListingGroupTypeEnum\ListingGroupType; -use Google\Ads\GoogleAds\V1\Enums\ProductConditionEnum\ProductCondition; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\ListingBrandInfo; +use Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo; +use Google\Ads\GoogleAds\V2\Common\ListingGroupInfo; +use Google\Ads\GoogleAds\V2\Common\ProductConditionInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum\AdGroupCriterionStatus; +use Google\Ads\GoogleAds\V2\Enums\ListingGroupTypeEnum\ListingGroupType; +use Google\Ads\GoogleAds\V2\Enums\ProductConditionEnum\ProductCondition; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; use Google\Protobuf\Int64Value; use Google\Protobuf\StringValue; diff --git a/examples/ShoppingAds/AddShoppingSmartAd.php b/examples/ShoppingAds/AddShoppingSmartAd.php index 51283746b..d6b21898b 100644 --- a/examples/ShoppingAds/AddShoppingSmartAd.php +++ b/examples/ShoppingAds/AddShoppingSmartAd.php @@ -22,34 +22,34 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Common\ListingGroupInfo; -use Google\Ads\GoogleAds\V1\Common\MaximizeConversionValue; -use Google\Ads\GoogleAds\V1\Common\ShoppingSmartAdInfo; -use Google\Ads\GoogleAds\V1\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupStatusEnum\AdGroupStatus; -use Google\Ads\GoogleAds\V1\Enums\AdGroupTypeEnum\AdGroupType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelSubTypeEnum\AdvertisingChannelSubType; -use Google\Ads\GoogleAds\V1\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; -use Google\Ads\GoogleAds\V1\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; -use Google\Ads\GoogleAds\V1\Enums\CampaignStatusEnum\CampaignStatus; -use Google\Ads\GoogleAds\V1\Enums\ListingGroupTypeEnum\ListingGroupType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\Ad; -use Google\Ads\GoogleAds\V1\Resources\AdGroup; -use Google\Ads\GoogleAds\V1\Resources\AdGroupAd; -use Google\Ads\GoogleAds\V1\Resources\AdGroupCriterion; -use Google\Ads\GoogleAds\V1\Resources\Campaign; -use Google\Ads\GoogleAds\V1\Resources\Campaign\ShoppingSetting; -use Google\Ads\GoogleAds\V1\Resources\CampaignBudget; -use Google\Ads\GoogleAds\V1\Services\AdGroupAdOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupCriterionOperation; -use Google\Ads\GoogleAds\V1\Services\AdGroupOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignBudgetOperation; -use Google\Ads\GoogleAds\V1\Services\CampaignOperation; +use Google\Ads\GoogleAds\V2\Common\ListingGroupInfo; +use Google\Ads\GoogleAds\V2\Common\MaximizeConversionValue; +use Google\Ads\GoogleAds\V2\Common\ShoppingSmartAdInfo; +use Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum\AdGroupAdStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum\AdGroupStatus; +use Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum\AdGroupType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelSubTypeEnum\AdvertisingChannelSubType; +use Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType; +use Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum\BudgetDeliveryMethod; +use Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum\CampaignStatus; +use Google\Ads\GoogleAds\V2\Enums\ListingGroupTypeEnum\ListingGroupType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\Ad; +use Google\Ads\GoogleAds\V2\Resources\AdGroup; +use Google\Ads\GoogleAds\V2\Resources\AdGroupAd; +use Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion; +use Google\Ads\GoogleAds\V2\Resources\Campaign; +use Google\Ads\GoogleAds\V2\Resources\Campaign\ShoppingSetting; +use Google\Ads\GoogleAds\V2\Resources\CampaignBudget; +use Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation; +use Google\Ads\GoogleAds\V2\Services\AdGroupOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation; +use Google\Ads\GoogleAds\V2\Services\CampaignOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\DoubleValue; diff --git a/examples/Targeting/AddCampaignTargetingCriteria.php b/examples/Targeting/AddCampaignTargetingCriteria.php index 140d6fb58..7fc14dd4b 100644 --- a/examples/Targeting/AddCampaignTargetingCriteria.php +++ b/examples/Targeting/AddCampaignTargetingCriteria.php @@ -22,20 +22,20 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\Util\V1\ResourceNames; -use Google\Ads\GoogleAds\V1\Common\AddressInfo; -use Google\Ads\GoogleAds\V1\Common\KeywordInfo; -use Google\Ads\GoogleAds\V1\Common\LocationInfo; -use Google\Ads\GoogleAds\V1\Common\ProximityInfo; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Enums\ProximityRadiusUnitsEnum\ProximityRadiusUnits; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Resources\CampaignCriterion; -use Google\Ads\GoogleAds\V1\Services\CampaignCriterionOperation; +use Google\Ads\GoogleAds\Util\V2\ResourceNames; +use Google\Ads\GoogleAds\V2\Common\AddressInfo; +use Google\Ads\GoogleAds\V2\Common\KeywordInfo; +use Google\Ads\GoogleAds\V2\Common\LocationInfo; +use Google\Ads\GoogleAds\V2\Common\ProximityInfo; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Enums\ProximityRadiusUnitsEnum\ProximityRadiusUnits; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Resources\CampaignCriterion; +use Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation; use Google\ApiCore\ApiException; use Google\Protobuf\BoolValue; use Google\Protobuf\DoubleValue; diff --git a/examples/Targeting/GetCampaignTargetingCriteria.php b/examples/Targeting/GetCampaignTargetingCriteria.php index d1bef313b..943816b3d 100644 --- a/examples/Targeting/GetCampaignTargetingCriteria.php +++ b/examples/Targeting/GetCampaignTargetingCriteria.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\CriterionTypeEnum\CriterionType; -use Google\Ads\GoogleAds\V1\Enums\KeywordMatchTypeEnum\KeywordMatchType; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GoogleAdsRow; +use Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum\CriterionType; +use Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum\KeywordMatchType; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GoogleAdsRow; use Google\ApiCore\ApiException; /** @@ -121,13 +121,13 @@ public static function runExample(GoogleAdsClient $googleAdsClient, $customerId, $campaignCriterion = $googleAdsRow->getCampaignCriterion(); printf( "Campaign criterion with ID %d was found as a %s", - $campaignCriterion->getCriterionIdValue(), - $campaignCriterion->getNegativeValue() ? 'negative ' : '' + $campaignCriterion->getCriterionIdUnwrapped(), + $campaignCriterion->getNegativeUnwrapped() ? 'negative ' : '' ); if ($campaignCriterion->getType() === CriterionType::KEYWORD) { printf( "keyword with text '%s' and match type %s.%s", - $campaignCriterion->getKeyword()->getTextValue(), + $campaignCriterion->getKeyword()->getTextUnwrapped(), KeywordMatchType::name($campaignCriterion->getKeyword()->getMatchType()), PHP_EOL ); diff --git a/examples/Targeting/GetGeoTargetConstantByNames.php b/examples/Targeting/GetGeoTargetConstantByNames.php index 20739293c..d6e0bb36f 100644 --- a/examples/Targeting/GetGeoTargetConstantByNames.php +++ b/examples/Targeting/GetGeoTargetConstantByNames.php @@ -22,14 +22,14 @@ use GetOpt\GetOpt; use Google\Ads\GoogleAds\Examples\Utils\ArgumentNames; use Google\Ads\GoogleAds\Examples\Utils\ArgumentParser; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClient; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsClientBuilder; -use Google\Ads\GoogleAds\Lib\V1\GoogleAdsException; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClient; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsClientBuilder; +use Google\Ads\GoogleAds\Lib\V2\GoogleAdsException; use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder; -use Google\Ads\GoogleAds\V1\Enums\GeoTargetConstantStatusEnum\GeoTargetConstantStatus; -use Google\Ads\GoogleAds\V1\Errors\GoogleAdsError; -use Google\Ads\GoogleAds\V1\Services\GeoTargetConstantSuggestion; -use Google\Ads\GoogleAds\V1\Services\SuggestGeoTargetConstantsRequest\LocationNames; +use Google\Ads\GoogleAds\V2\Enums\GeoTargetConstantStatusEnum\GeoTargetConstantStatus; +use Google\Ads\GoogleAds\V2\Errors\GoogleAdsError; +use Google\Ads\GoogleAds\V2\Services\GeoTargetConstantSuggestion; +use Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\LocationNames; use Google\ApiCore\ApiException; use Google\Protobuf\StringValue; @@ -135,15 +135,15 @@ public static function runExample( "Found '%s' ('%s','%s','%s',%s) in locale '%s' with reach %d" . " for the search term '%s'.%s", $geoTargetConstantSuggestion->getGeoTargetConstant()->getResourceName(), - $geoTargetConstantSuggestion->getGeoTargetConstant()->getNameValue(), - $geoTargetConstantSuggestion->getGeoTargetConstant()->getCountryCodeValue(), - $geoTargetConstantSuggestion->getGeoTargetConstant()->getTargetTypeValue(), + $geoTargetConstantSuggestion->getGeoTargetConstant()->getNameUnwrapped(), + $geoTargetConstantSuggestion->getGeoTargetConstant()->getCountryCodeUnwrapped(), + $geoTargetConstantSuggestion->getGeoTargetConstant()->getTargetTypeUnwrapped(), GeoTargetConstantStatus::name( $geoTargetConstantSuggestion->getGeoTargetConstant()->getStatus() ), - $geoTargetConstantSuggestion->getLocaleValue(), - $geoTargetConstantSuggestion->getReachValue(), - $geoTargetConstantSuggestion->getSearchTermValue(), + $geoTargetConstantSuggestion->getLocaleUnwrapped(), + $geoTargetConstantSuggestion->getReachUnwrapped(), + $geoTargetConstantSuggestion->getSearchTermUnwrapped(), PHP_EOL ); } diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/AdAsset.php b/metadata/Google/Ads/GoogleAds/V2/Common/AdAsset.php new file mode 100644 index 000000000..ae6539575 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/AdAsset.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0adc050a2d676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f61645f61737365742e70726f746f121e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e1a1e676f6f676c65" . + "2f70726f746f6275662f77726170706572732e70726f746f1a1c676f6f67" . + "6c652f6170692f616e6e6f746174696f6e732e70726f746f229d010a0b41" . + "64546578744173736574122a0a047465787418012001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512620a0c7069" . + "6e6e65645f6669656c6418022001280e324c2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e5365727665644173736574" . + "4669656c6454797065456e756d2e53657276656441737365744669656c64" . + "54797065223b0a0c4164496d6167654173736574122b0a05617373657418" . + "012001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565223b0a0c4164566964656f4173736574122b0a056173736574" . + "18012001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756522410a1241644d6564696142756e646c654173736574122b" . + "0a05617373657418012001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756542e7010a22636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e420c416441737365" . + "7450726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e436f6d6d6f6eca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c436f6d6d6f6e" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/AdTypeInfos.php b/metadata/Google/Ads/GoogleAds/V2/Common/AdTypeInfos.php new file mode 100644 index 000000000..11d699184 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/AdTypeInfos.php @@ -0,0 +1,314 @@ +internalAddGeneratedFile(hex2bin( + "0a98420a32676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f61645f747970655f696e666f732e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a4367" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f63" . + "616c6c5f636f6e76657273696f6e5f7265706f7274696e675f7374617465" . + "2e70726f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f646973706c61795f61645f666f726d61745f73657474" . + "696e672e70726f746f1a3f676f6f676c652f6164732f676f6f676c656164" . + "732f76322f656e756d732f646973706c61795f75706c6f61645f70726f64" . + "7563745f747970652e70726f746f1a43676f6f676c652f6164732f676f6f" . + "676c656164732f76322f656e756d732f6c65676163795f6170705f696e73" . + "74616c6c5f61645f6170705f73746f72652e70726f746f1a2d676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f6d696d655f" . + "747970652e70726f746f1a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f22a4010a0a546578744164496e666f122e0a" . + "08686561646c696e6518012001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512320a0c6465736372697074696f6e" . + "3118022001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512320a0c6465736372697074696f6e3218032001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756522" . + "f7020a12457870616e646564546578744164496e666f12340a0e68656164" . + "6c696e655f706172743118012001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512340a0e686561646c696e655f70" . + "6172743218022001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512340a0e686561646c696e655f70617274331806" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512310a0b6465736372697074696f6e18032001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512320a0c64" . + "65736372697074696f6e3218072001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565122b0a05706174683118042001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565122b0a05706174683218052001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756522e7050a0e43616c6c4f6e6c79" . + "4164496e666f12320a0c636f756e7472795f636f646518012001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651232" . + "0a0c70686f6e655f6e756d62657218022001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512330a0d627573696e65" . + "73735f6e616d6518032001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c7565122f0a09686561646c696e6531180b2001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565122f0a09686561646c696e6532180c2001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512320a0c6465736372" . + "697074696f6e3118042001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512320a0c6465736372697074696f6e3218" . + "052001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512300a0c63616c6c5f747261636b656418062001280b321a2e" . + "676f6f676c652e70726f746f6275662e426f6f6c56616c7565123b0a1764" . + "697361626c655f63616c6c5f636f6e76657273696f6e18072001280b321a" . + "2e676f6f676c652e70726f746f6275662e426f6f6c56616c756512430a1d" . + "70686f6e655f6e756d6265725f766572696669636174696f6e5f75726c18" . + "082001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512370a11636f6e76657273696f6e5f616374696f6e18092001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "75651280010a1a636f6e76657273696f6e5f7265706f7274696e675f7374" . + "617465180a2001280e325c2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e43616c6c436f6e76657273696f6e5265706f" . + "7274696e675374617465456e756d2e43616c6c436f6e76657273696f6e52" . + "65706f7274696e67537461746522500a1b457870616e64656444796e616d" . + "69635365617263684164496e666f12310a0b6465736372697074696f6e18" . + "012001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565220d0a0b486f74656c4164496e666f22150a1353686f707069" . + "6e67536d6172744164496e666f22170a1553686f7070696e6750726f6475" . + "63744164496e666f22510a1f53686f7070696e67436f6d70617269736f6e" . + "4c697374696e674164496e666f122e0a08686561646c696e651801200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6522a9040a0b476d61696c4164496e666f123b0a06746561736572180120" . + "01280b322b2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "636f6d6d6f6e2e476d61696c54656173657212320a0c6865616465725f69" . + "6d61676518022001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512350a0f6d61726b6574696e675f696d61676518" . + "032001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565123e0a186d61726b6574696e675f696d6167655f686561646c" . + "696e6518042001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512410a1b6d61726b6574696e675f696d6167655f64" . + "65736372697074696f6e18052001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512630a266d61726b6574696e675f" . + "696d6167655f646973706c61795f63616c6c5f746f5f616374696f6e1806" . + "2001280b32332e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e446973706c617943616c6c546f416374696f6e12440a" . + "0e70726f647563745f696d6167657318072003280b322c2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e50726f6475" . + "6374496d61676512440a0e70726f647563745f766964656f731808200328" . + "0b322c2e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e50726f64756374566964656f22d7010a0b476d61696c546561" . + "736572122e0a08686561646c696e6518012001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512310a0b6465736372" . + "697074696f6e18022001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c756512330a0d627573696e6573735f6e616d6518" . + "032001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512300a0a6c6f676f5f696d61676518042001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756522ac010a13" . + "446973706c617943616c6c546f416374696f6e122a0a0474657874180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512300a0a746578745f636f6c6f7218022001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512370a1175726c" . + "5f636f6c6c656374696f6e5f696418032001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756522cb010a0c50726f6475" . + "6374496d61676512330a0d70726f647563745f696d61676518012001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12310a0b6465736372697074696f6e18022001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512530a16646973706c" . + "61795f63616c6c5f746f5f616374696f6e18032001280b32332e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e446973" . + "706c617943616c6c546f416374696f6e22430a0c50726f64756374566964" . + "656f12330a0d70726f647563745f766964656f18012001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756522f1040a0b" . + "496d6167654164496e666f12300a0b706978656c5f776964746818042001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6512310a0c706978656c5f68656967687418052001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565122f0a09696d6167" . + "655f75726c18062001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512380a13707265766965775f706978656c5f77" . + "6964746818072001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512390a14707265766965775f706978656c5f686569" . + "67687418082001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c756512370a11707265766965775f696d6167655f75726c18" . + "092001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512470a096d696d655f74797065180a2001280e32342e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e4d696d" . + "6554797065456e756d2e4d696d6554797065122a0a046e616d65180b2001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512320a0a6d656469615f66696c6518012001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c75654800122b0a046461" . + "746118022001280b321b2e676f6f676c652e70726f746f6275662e427974" . + "657356616c75654800123f0a1861645f69645f746f5f636f70795f696d61" . + "67655f66726f6d18032001280b321b2e676f6f676c652e70726f746f6275" . + "662e496e74363456616c7565480042070a05696d61676522530a19566964" . + "656f42756d706572496e53747265616d4164496e666f12360a10636f6d70" . + "616e696f6e5f62616e6e657218012001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756522590a1f566964656f4e6f6e" . + "536b69707061626c65496e53747265616d4164496e666f12360a10636f6d" . + "70616e696f6e5f62616e6e657218012001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756522c7010a1b566964656f54" . + "72756556696577496e53747265616d4164496e666f12390a13616374696f" . + "6e5f627574746f6e5f6c6162656c18012001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512350a0f616374696f6e" . + "5f686561646c696e6518022001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512360a10636f6d70616e696f6e5f62" . + "616e6e657218032001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756522790a14566964656f4f757473747265616d41" . + "64496e666f122e0a08686561646c696e6518012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512310a0b646573" . + "6372697074696f6e18022001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565228e030a0b566964656f4164496e666f" . + "12300a0a6d656469615f66696c6518012001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512500a09696e5f737472" . + "65616d18022001280b323b2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e566964656f5472756556696577496e5374" . + "7265616d4164496e666f4800124b0a0662756d70657218032001280b3239" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f" . + "6e2e566964656f42756d706572496e53747265616d4164496e666f480012" . + "4a0a0a6f75745f73747265616d18042001280b32342e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e566964656f4f75" . + "7473747265616d4164496e666f480012580a0d6e6f6e5f736b6970706162" . + "6c6518052001280b323f2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e2e566964656f4e6f6e536b69707061626c6549" . + "6e53747265616d4164496e666f480042080a06666f726d617422f5010a16" . + "526573706f6e736976655365617263684164496e666f123e0a0968656164" . + "6c696e657318012003280b322b2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e416454657874417373657412410a0c" . + "6465736372697074696f6e7318022003280b322b2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e636f6d6d6f6e2e4164546578744173" . + "736574122b0a05706174683118032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565122b0a057061746832180420" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756522fd060a1d4c6567616379526573706f6e73697665446973706c61" . + "794164496e666f12340a0e73686f72745f686561646c696e651801200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512330a0d6c6f6e675f686561646c696e6518022001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512310a0b6465" . + "736372697074696f6e18032001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512330a0d627573696e6573735f6e61" . + "6d6518042001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512380a14616c6c6f775f666c657869626c655f636f6c" . + "6f7218052001280b321a2e676f6f676c652e70726f746f6275662e426f6f" . + "6c56616c756512320a0c616363656e745f636f6c6f7218062001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651230" . + "0a0a6d61696e5f636f6c6f7218072001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512390a1363616c6c5f746f5f" . + "616374696f6e5f7465787418082001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512300a0a6c6f676f5f696d6167" . + "6518092001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512370a117371756172655f6c6f676f5f696d616765180a" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512350a0f6d61726b6574696e675f696d616765180b2001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "3c0a167371756172655f6d61726b6574696e675f696d616765180c200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512680a0e666f726d61745f73657474696e67180d2001280e32502e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e4469" . + "73706c61794164466f726d617453657474696e67456e756d2e446973706c" . + "61794164466f726d617453657474696e6712320a0c70726963655f707265" . + "666978180e2001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512300a0a70726f6d6f5f74657874180f2001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756522" . + "ab030a094170704164496e666f12460a116d616e6461746f72795f61645f" . + "7465787418012001280b322b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e4164546578744173736574123e0a0968" . + "6561646c696e657318022003280b322b2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e416454657874417373657412" . + "410a0c6465736372697074696f6e7318032003280b322b2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4164546578" . + "744173736574123c0a06696d6167657318042003280b322c2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4164496d" . + "616765417373657412440a0e796f75747562655f766964656f7318052003" . + "280b322c2e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e4164566964656f4173736574124f0a1368746d6c355f6d65" . + "6469615f62756e646c657318062003280b32322e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e41644d656469614275" . + "6e646c6541737365742294020a13417070456e676167656d656e74416449" . + "6e666f123e0a09686561646c696e657318012003280b322b2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e41645465" . + "7874417373657412410a0c6465736372697074696f6e7318022003280b32" . + "2b2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e4164546578744173736574123c0a06696d6167657318032003280b" . + "322c2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e4164496d6167654173736574123c0a06766964656f7318042003" . + "280b322c2e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e4164566964656f417373657422cb020a164c656761637941" . + "7070496e7374616c6c4164496e666f122c0a066170705f69641801200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65126b0a096170705f73746f726518022001280e32582e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e4c656761637941" . + "7070496e7374616c6c416441707053746f7265456e756d2e4c6567616379" . + "417070496e7374616c6c416441707053746f7265122e0a08686561646c69" . + "6e6518032001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512320a0c6465736372697074696f6e3118042001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12320a0c6465736372697074696f6e3218052001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756522aa080a17526573" . + "706f6e73697665446973706c61794164496e666f12460a106d61726b6574" . + "696e675f696d6167657318012003280b322c2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e4164496d616765417373" . + "6574124d0a177371756172655f6d61726b6574696e675f696d6167657318" . + "022003280b322c2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e4164496d616765417373657412410a0b6c6f676f5f" . + "696d6167657318032003280b322c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e4164496d61676541737365741248" . + "0a127371756172655f6c6f676f5f696d6167657318042003280b322c2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "4164496d6167654173736574123e0a09686561646c696e65731805200328" . + "0b322b2e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e416454657874417373657412420a0d6c6f6e675f686561646c" . + "696e6518062001280b322b2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e416454657874417373657412410a0c6465" . + "736372697074696f6e7318072003280b322b2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e41645465787441737365" . + "7412440a0e796f75747562655f766964656f7318082003280b322c2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e41" . + "64566964656f417373657412330a0d627573696e6573735f6e616d651809" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512300a0a6d61696e5f636f6c6f72180a2001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512320a0c6163" . + "63656e745f636f6c6f72180b2001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512380a14616c6c6f775f666c6578" . + "69626c655f636f6c6f72180c2001280b321a2e676f6f676c652e70726f74" . + "6f6275662e426f6f6c56616c756512390a1363616c6c5f746f5f61637469" . + "6f6e5f74657874180d2001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512320a0c70726963655f70726566697818" . + "0e2001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512300a0a70726f6d6f5f74657874180f2001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512680a0e66" . + "6f726d61745f73657474696e6718102001280e32502e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e446973706c617941" . + "64466f726d617453657474696e67456e756d2e446973706c61794164466f" . + "726d617453657474696e6722eb010a13446973706c617955706c6f616441" . + "64496e666f12790a1b646973706c61795f75706c6f61645f70726f647563" . + "745f7479706518012001280e32542e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e446973706c617955706c6f61645072" . + "6f6475637454797065456e756d2e446973706c617955706c6f616450726f" . + "6475637454797065124a0a0c6d656469615f62756e646c6518022001280b" . + "32322e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e41644d6564696142756e646c6541737365744800420d0a0b6d65" . + "6469615f617373657442eb010a22636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e4210416454797065496e666f" . + "7350726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e436f6d6d6f6eca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c436f6d6d6f6e" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/AssetTypes.php b/metadata/Google/Ads/GoogleAds/V2/Common/AssetTypes.php new file mode 100644 index 000000000..a5754f350 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/AssetTypes.php @@ -0,0 +1,60 @@ +internalAddGeneratedFile(hex2bin( + "0ae5070a30676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f61737365745f74797065732e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1e676f6f" . + "676c652f70726f746f6275662f77726170706572732e70726f746f1a1c67" . + "6f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f224b0a" . + "11596f7574756265566964656f417373657412360a10796f75747562655f" . + "766964656f5f696418012001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565223d0a104d6564696142756e646c6541" . + "7373657412290a046461746118012001280b321b2e676f6f676c652e7072" . + "6f746f6275662e427974657356616c756522f3010a0a496d616765417373" . + "657412290a046461746118012001280b321b2e676f6f676c652e70726f74" . + "6f6275662e427974657356616c7565122e0a0966696c655f73697a651802" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c756512470a096d696d655f7479706518032001280e32342e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e4d696d6554" . + "797065456e756d2e4d696d655479706512410a0966756c6c5f73697a6518" . + "042001280b322e2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e496d61676544696d656e73696f6e22a2010a0e496d" . + "61676544696d656e73696f6e12320a0d6865696768745f706978656c7318" . + "012001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c756512310a0c77696474685f706978656c7318022001280b321b2e67" . + "6f6f676c652e70726f746f6275662e496e74363456616c756512290a0375" . + "726c18032001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756522370a09546578744173736574122a0a047465787418" . + "012001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756542ea010a22636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e420f4173736574547970657350726f74" . + "6f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e41" . + "64732e476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c" . + "655c4164735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d" . + "6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Bidding.php b/metadata/Google/Ads/GoogleAds/V2/Common/Bidding.php new file mode 100644 index 000000000..f647afb92 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Bidding.php @@ -0,0 +1,110 @@ +internalAddGeneratedFile(hex2bin( + "0a9c130a2c676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f62696464696e672e70726f746f121e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e636f6d6d6f6e1a44676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f7461726765745f" . + "696d7072657373696f6e5f73686172655f6c6f636174696f6e2e70726f74" . + "6f1a1e676f6f676c652f70726f746f6275662f77726170706572732e7072" . + "6f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e7072" . + "6f746f22490a0a436f6d6d697373696f6e123b0a16636f6d6d697373696f" . + "6e5f726174655f6d6963726f7318012001280b321b2e676f6f676c652e70" . + "726f746f6275662e496e74363456616c7565220d0a0b456e68616e636564" . + "43706322450a094d616e75616c43706312380a14656e68616e6365645f63" . + "70635f656e61626c656418012001280b321a2e676f6f676c652e70726f74" . + "6f6275662e426f6f6c56616c7565220b0a094d616e75616c43706d220b0a" . + "094d616e75616c43707622150a134d6178696d697a65436f6e7665727369" . + "6f6e73224c0a174d6178696d697a65436f6e76657273696f6e56616c7565" . + "12310a0b7461726765745f726f617318012001280b321c2e676f6f676c65" . + "2e70726f746f6275662e446f75626c6556616c756522c6030a0f50616765" . + "4f6e6550726f6d6f74656412710a0d73747261746567795f676f616c1801" . + "2001280e325a2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d732e506167654f6e6550726f6d6f7465645374726174656779" . + "476f616c456e756d2e506167654f6e6550726f6d6f746564537472617465" . + "6779476f616c123b0a166370635f6269645f6365696c696e675f6d696372" . + "6f7318022001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c756512320a0c6269645f6d6f64696669657218032001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "370a136f6e6c795f72616973655f6370635f6269647318042001280b321a" . + "2e676f6f676c652e70726f746f6275662e426f6f6c56616c756512490a25" . + "72616973655f6370635f6269645f7768656e5f6275646765745f636f6e73" . + "747261696e656418052001280b321a2e676f6f676c652e70726f746f6275" . + "662e426f6f6c56616c7565124b0a2772616973655f6370635f6269645f77" . + "68656e5f7175616c6974795f73636f72655f69735f6c6f7718062001280b" . + "321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c756522bb" . + "010a0954617267657443706112360a117461726765745f6370615f6d6963" . + "726f7318012001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c7565123b0a166370635f6269645f6365696c696e675f6d69" . + "63726f7318022001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512390a146370635f6269645f666c6f6f725f6d6963" . + "726f7318032001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c7565220b0a0954617267657443706d2285020a1554617267" . + "6574496d7072657373696f6e536861726512700a086c6f636174696f6e18" . + "012001280e325e2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e546172676574496d7072657373696f6e53686172654c" . + "6f636174696f6e456e756d2e546172676574496d7072657373696f6e5368" . + "6172654c6f636174696f6e123d0a186c6f636174696f6e5f667261637469" . + "6f6e5f6d6963726f7318022001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c7565123b0a166370635f6269645f6365696c" . + "696e675f6d6963726f7318032001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c756522d2020a125461726765744f757472" . + "616e6b536861726512400a1b7461726765745f6f757472616e6b5f736861" . + "72655f6d6963726f7318012001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74333256616c756512370a11636f6d70657469746f725f64" . + "6f6d61696e18022001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c7565123b0a166370635f6269645f6365696c696e67" . + "5f6d6963726f7318032001280b321b2e676f6f676c652e70726f746f6275" . + "662e496e74363456616c756512370a136f6e6c795f72616973655f637063" . + "5f6269647318042001280b321a2e676f6f676c652e70726f746f6275662e" . + "426f6f6c56616c7565124b0a2772616973655f6370635f6269645f776865" . + "6e5f7175616c6974795f73636f72655f69735f6c6f7718052001280b321a" . + "2e676f6f676c652e70726f746f6275662e426f6f6c56616c756522b7010a" . + "0a546172676574526f617312310a0b7461726765745f726f617318012001" . + "280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c" . + "7565123b0a166370635f6269645f6365696c696e675f6d6963726f731802" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c756512390a146370635f6269645f666c6f6f725f6d6963726f73180320" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "75652284010a0b5461726765745370656e6412380a137461726765745f73" . + "70656e645f6d6963726f7318012001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c7565123b0a166370635f6269645f6365" . + "696c696e675f6d6963726f7318022001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c75652283010a0a50657263656e7443" . + "7063123b0a166370635f6269645f6365696c696e675f6d6963726f731801" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c756512380a14656e68616e6365645f6370635f656e61626c6564180220" . + "01280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75" . + "6542e7010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e420c42696464696e6750726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f636f6d6d6f6e3b" . + "636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e436f6d6d6f6eca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/ClickLocation.php b/metadata/Google/Ads/GoogleAds/V2/Common/ClickLocation.php new file mode 100644 index 000000000..32164995d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/ClickLocation.php @@ -0,0 +1,46 @@ +internalAddGeneratedFile(hex2bin( + "0ae8040a33676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f636c69636b5f6c6f636174696f6e2e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1c" . + "676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f22fa" . + "010a0d436c69636b4c6f636174696f6e122a0a046369747918012001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "122d0a07636f756e74727918022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565122b0a056d6574726f18032001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512330a0d6d6f73745f737065636966696318042001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565122c0a0672" . + "6567696f6e18052001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756542ed010a22636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e4212436c69636b4c6f63" . + "6174696f6e50726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e436f6d6d6f" . + "6eca021e476f6f676c655c4164735c476f6f676c654164735c56325c436f" . + "6d6d6f6eea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Criteria.php b/metadata/Google/Ads/GoogleAds/V2/Common/Criteria.php new file mode 100644 index 000000000..e815080b3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Criteria.php @@ -0,0 +1,362 @@ +internalAddGeneratedFile(hex2bin( + "0aa3490a2d676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f63726974657269612e70726f746f121e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e1a3a676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f656e756d732f6170705f7061" . + "796d656e745f6d6f64656c5f747970652e70726f746f1a36676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f656e756d732f636f6e74656e" . + "745f6c6162656c5f747970652e70726f746f1a2f676f6f676c652f616473" . + "2f676f6f676c656164732f76322f656e756d732f6461795f6f665f776565" . + "6b2e70726f746f1a2a676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f6465766963652e70726f746f1a2f676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f67656e6465725f" . + "747970652e70726f746f1a3d676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f656e756d732f686f74656c5f646174655f73656c65637469" . + "6f6e5f747970652e70726f746f1a35676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f656e756d732f696e636f6d655f72616e67655f7479" . + "70652e70726f746f1a34676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f656e756d732f696e746572616374696f6e5f747970652e70726f" . + "746f1a36676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f6b6579776f72645f6d617463685f747970652e70726f746f1a42" . + "676f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f" . + "6c697374696e675f637573746f6d5f6174747269627574655f696e646578" . + "2e70726f746f1a36676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f6c697374696e675f67726f75705f747970652e70726f" . + "746f1a3f676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f6c6f636174696f6e5f67726f75705f7261646975735f756e6974" . + "732e70726f746f1a32676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f6d696e7574655f6f665f686f75722e70726f746f1a" . + "38676f6f676c652f6164732f676f6f676c656164732f76322f656e756d73" . + "2f706172656e74616c5f7374617475735f747970652e70726f746f1a3a67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f70" . + "72656665727265645f636f6e74656e745f747970652e70726f746f1a4267" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f70" . + "726f647563745f62696464696e675f63617465676f72795f6c6576656c2e" . + "70726f746f1a33676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f656e756d732f70726f647563745f6368616e6e656c2e70726f746f1a3f" . + "676f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f" . + "70726f647563745f6368616e6e656c5f6578636c757369766974792e7072" . + "6f746f1a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f636f6e646974696f6e2e70726f746f1a36" . + "676f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f" . + "70726f647563745f747970655f6c6576656c2e70726f746f1a3a676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f656e756d732f70726f78" . + "696d6974795f7261646975735f756e6974732e70726f746f1a3d676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f656e756d732f77656270" . + "6167655f636f6e646974696f6e5f6f706572616e642e70726f746f1a3e67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f77" . + "6562706167655f636f6e646974696f6e5f6f70657261746f722e70726f74" . + "6f1a1e676f6f676c652f70726f746f6275662f77726170706572732e7072" . + "6f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e7072" . + "6f746f2293010a0b4b6579776f7264496e666f122a0a0474657874180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512580a0a6d617463685f7479706518022001280e32442e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e4b657977" . + "6f72644d6174636854797065456e756d2e4b6579776f72644d6174636854" . + "797065223a0a0d506c6163656d656e74496e666f12290a0375726c180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565225b0a154d6f62696c6541707043617465676f7279496e666f1242" . + "0a1c6d6f62696c655f6170705f63617465676f72795f636f6e7374616e74" . + "18012001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756522710a154d6f62696c654170706c69636174696f6e496e66" . + "6f122c0a066170705f696418022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565122a0a046e616d651803200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6522490a0c4c6f636174696f6e496e666f12390a1367656f5f7461726765" . + "745f636f6e7374616e7418012001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565224c0a0a446576696365496e666f" . + "123e0a047479706518012001280e32302e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e446576696365456e756d2e4465" . + "7669636522720a14507265666572726564436f6e74656e74496e666f125a" . + "0a047479706518022001280e324c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e507265666572726564436f6e74656e" . + "7454797065456e756d2e507265666572726564436f6e74656e7454797065" . + "22f1010a104c697374696e6747726f7570496e666f12520a047479706518" . + "012001280e32442e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e4c697374696e6747726f757054797065456e756d2e4c" . + "697374696e6747726f75705479706512480a0a636173655f76616c756518" . + "022001280b32342e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e4c697374696e6744696d656e73696f6e496e666f12" . + "3f0a19706172656e745f61645f67726f75705f637269746572696f6e1803" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c7565225c0a104c697374696e6753636f7065496e666f12480a0a6469" . + "6d656e73696f6e7318022003280b32342e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e4c697374696e6744696d656e" . + "73696f6e496e666f229b090a144c697374696e6744696d656e73696f6e49" . + "6e666f12490a0d6c697374696e675f6272616e6418012001280b32302e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "4c697374696e674272616e64496e666f4800123f0a08686f74656c5f6964" . + "18022001280b322b2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e486f74656c4964496e666f480012450a0b686f74" . + "656c5f636c61737318032001280b322e2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e486f74656c436c617373496e" . + "666f480012560a14686f74656c5f636f756e7472795f726567696f6e1804" . + "2001280b32362e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e486f74656c436f756e747279526567696f6e496e666f" . + "480012450a0b686f74656c5f737461746518052001280b322e2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e486f74" . + "656c5374617465496e666f480012430a0a686f74656c5f63697479180620" . + "01280b322d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "636f6d6d6f6e2e486f74656c43697479496e666f4800125e0a186c697374" . + "696e675f637573746f6d5f61747472696275746518072001280b323a2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "4c697374696e67437573746f6d417474726962757465496e666f4800125e" . + "0a1870726f647563745f62696464696e675f63617465676f7279180d2001" . + "280b323a2e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e50726f6475637442696464696e6743617465676f7279496e" . + "666f4800124d0a0f70726f647563745f6368616e6e656c18082001280b32" . + "322e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e50726f647563744368616e6e656c496e666f480012640a1b70726f" . + "647563745f6368616e6e656c5f6578636c7573697669747918092001280b" . + "323d2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e50726f647563744368616e6e656c4578636c7573697669747949" . + "6e666f480012510a1170726f647563745f636f6e646974696f6e180a2001" . + "280b32342e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e50726f64756374436f6e646974696f6e496e666f4800124c" . + "0a0f70726f647563745f6974656d5f6964180b2001280b32312e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e50726f" . + "647563744974656d4964496e666f480012470a0c70726f647563745f7479" . + "7065180c2001280b322f2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e2e50726f6475637454797065496e666f480012" . + "600a19756e6b6e6f776e5f6c697374696e675f64696d656e73696f6e180e" . + "2001280b323b2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e556e6b6e6f776e4c697374696e6744696d656e73696f" . + "6e496e666f4800420b0a0964696d656e73696f6e223f0a104c697374696e" . + "674272616e64496e666f122b0a0576616c756518012001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565223a0a0b48" . + "6f74656c4964496e666f122b0a0576616c756518012001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565223c0a0e48" . + "6f74656c436c617373496e666f122a0a0576616c756518012001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c756522580a" . + "16486f74656c436f756e747279526567696f6e496e666f123e0a18636f75" . + "6e7472795f726567696f6e5f637269746572696f6e18012001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756522470a" . + "0e486f74656c5374617465496e666f12350a0f73746174655f6372697465" . + "72696f6e18012001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756522450a0d486f74656c43697479496e666f12340a" . + "0e636974795f637269746572696f6e18012001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756522b4010a1a4c697374" . + "696e67437573746f6d417474726962757465496e666f122b0a0576616c75" . + "6518012001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512690a05696e64657818022001280e325a2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e4c69737469" . + "6e67437573746f6d417474726962757465496e646578456e756d2e4c6973" . + "74696e67437573746f6d417474726962757465496e64657822e4010a1a50" . + "726f6475637442696464696e6743617465676f7279496e666f12270a0269" . + "6418012001280b321b2e676f6f676c652e70726f746f6275662e496e7436" . + "3456616c756512320a0c636f756e7472795f636f646518022001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651269" . + "0a056c6576656c18032001280e325a2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e50726f6475637442696464696e67" . + "43617465676f72794c6576656c456e756d2e50726f647563744269646469" . + "6e6743617465676f72794c6576656c22670a1250726f647563744368616e" . + "6e656c496e666f12510a076368616e6e656c18012001280e32402e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e50726f" . + "647563744368616e6e656c456e756d2e50726f647563744368616e6e656c" . + "2294010a1d50726f647563744368616e6e656c4578636c75736976697479" . + "496e666f12730a136368616e6e656c5f6578636c75736976697479180120" . + "01280e32562e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e50726f647563744368616e6e656c4578636c757369766974" . + "79456e756d2e50726f647563744368616e6e656c4578636c757369766974" . + "79226f0a1450726f64756374436f6e646974696f6e496e666f12570a0963" . + "6f6e646974696f6e18012001280e32442e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e50726f64756374436f6e646974" . + "696f6e456e756d2e50726f64756374436f6e646974696f6e22400a115072" . + "6f647563744974656d4964496e666f122b0a0576616c756518012001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "2293010a0f50726f6475637454797065496e666f122b0a0576616c756518" . + "012001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512530a056c6576656c18022001280e32442e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e50726f64756374" . + "547970654c6576656c456e756d2e50726f64756374547970654c6576656c" . + "221d0a1b556e6b6e6f776e4c697374696e6744696d656e73696f6e496e66" . + "6f227c0a1a486f74656c4461746553656c656374696f6e54797065496e66" . + "6f125e0a047479706518012001280e32502e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d732e486f74656c4461746553656c" . + "656374696f6e54797065456e756d2e486f74656c4461746553656c656374" . + "696f6e54797065227d0a1d486f74656c416476616e6365426f6f6b696e67" . + "57696e646f77496e666f122d0a086d696e5f6461797318012001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c7565122d0a" . + "086d61785f6461797318022001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c756522790a15486f74656c4c656e6774684f" . + "6653746179496e666f122f0a0a6d696e5f6e696768747318012001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c7565122f" . + "0a0a6d61785f6e696768747318022001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c756522620a13486f74656c43686563" . + "6b496e446179496e666f124b0a0b6461795f6f665f7765656b1801200128" . + "0e32362e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e4461794f665765656b456e756d2e4461794f665765656b22670a" . + "13496e746572616374696f6e54797065496e666f12500a04747970651801" . + "2001280e32422e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d732e496e746572616374696f6e54797065456e756d2e496e74" . + "6572616374696f6e5479706522e3020a0e41645363686564756c65496e66" . + "6f12520a0c73746172745f6d696e75746518012001280e323c2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e4d696e75" . + "74654f66486f7572456e756d2e4d696e7574654f66486f757212500a0a65" . + "6e645f6d696e75746518022001280e323c2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d732e4d696e7574654f66486f7572" . + "456e756d2e4d696e7574654f66486f7572122f0a0a73746172745f686f75" . + "7218032001280b321b2e676f6f676c652e70726f746f6275662e496e7433" . + "3256616c7565122d0a08656e645f686f757218042001280b321b2e676f6f" . + "676c652e70726f746f6275662e496e74333256616c7565124b0a0b646179" . + "5f6f665f7765656b18052001280e32362e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e4461794f665765656b456e756d" . + "2e4461794f665765656b225a0a0c41676552616e6765496e666f124a0a04" . + "7479706518012001280e323c2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e41676552616e676554797065456e756d2e" . + "41676552616e67655479706522540a0a47656e646572496e666f12460a04" . + "7479706518012001280e32382e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e47656e64657254797065456e756d2e4765" . + "6e6465725479706522630a0f496e636f6d6552616e6765496e666f12500a" . + "047479706518012001280e32422e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e496e636f6d6552616e67655479706545" . + "6e756d2e496e636f6d6552616e676554797065226c0a12506172656e7461" . + "6c537461747573496e666f12560a047479706518012001280e32482e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e5061" . + "72656e74616c53746174757354797065456e756d2e506172656e74616c53" . + "74617475735479706522420a10596f7554756265566964656f496e666f12" . + "2e0a08766964656f5f696418012001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756522460a12596f75547562654368" . + "616e6e656c496e666f12300a0a6368616e6e656c5f696418012001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756522" . + "3f0a0c557365724c697374496e666f122f0a09757365725f6c6973741801" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756522a0020a0d50726f78696d697479496e666f123f0a0967656f5f" . + "706f696e7418012001280b322c2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e47656f506f696e74496e666f122c0a" . + "0672616469757318022001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c756512620a0c7261646975735f756e69747318" . + "032001280e324c2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e50726f78696d697479526164697573556e697473456e" . + "756d2e50726f78696d697479526164697573556e697473123c0a07616464" . + "7265737318042001280b322b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e41646472657373496e666f228f010a0c" . + "47656f506f696e74496e666f123f0a1a6c6f6e6769747564655f696e5f6d" . + "6963726f5f6465677265657318012001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74333256616c7565123e0a196c617469747564655f" . + "696e5f6d6963726f5f6465677265657318022001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74333256616c756522fc020a0b41646472" . + "657373496e666f12310a0b706f7374616c5f636f646518012001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651233" . + "0a0d70726f76696e63655f636f646518022001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512320a0c636f756e74" . + "72795f636f646518032001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512330a0d70726f76696e63655f6e616d65" . + "18042001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756512340a0e7374726565745f6164647265737318052001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12350a0f7374726565745f616464726573733218062001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565122f0a0963" . + "6974795f6e616d6518072001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565226d0a09546f706963496e666f12340a" . + "0e746f7069635f636f6e7374616e7418012001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565122a0a047061746818" . + "022003280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756522470a0c4c616e6775616765496e666f12370a116c616e6775" . + "6167655f636f6e7374616e7418012001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565223f0a0b4970426c6f636b49" . + "6e666f12300a0a69705f6164647265737318012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756522660a10436f6e" . + "74656e744c6162656c496e666f12520a047479706518012001280e32442e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "436f6e74656e744c6162656c54797065456e756d2e436f6e74656e744c61" . + "62656c5479706522450a0b43617272696572496e666f12360a1063617272" . + "6965725f636f6e7374616e7418012001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756522500a1055736572496e7465" . + "72657374496e666f123c0a16757365725f696e7465726573745f63617465" . + "676f727918012001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c7565228d010a0b57656270616765496e666f12340a0e" . + "637269746572696f6e5f6e616d6518012001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512480a0a636f6e646974" . + "696f6e7318022003280b32342e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e57656270616765436f6e646974696f6e" . + "496e666f2293020a1457656270616765436f6e646974696f6e496e666f12" . + "630a076f706572616e6418012001280e32522e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e57656270616765436f6e64" . + "6974696f6e4f706572616e64456e756d2e57656270616765436f6e646974" . + "696f6e4f706572616e6412660a086f70657261746f7218022001280e3254" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e57656270616765436f6e646974696f6e4f70657261746f72456e756d2e" . + "57656270616765436f6e646974696f6e4f70657261746f72122e0a086172" . + "67756d656e7418032001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c756522650a1a4f7065726174696e675379737465" . + "6d56657273696f6e496e666f12470a216f7065726174696e675f73797374" . + "656d5f76657273696f6e5f636f6e7374616e7418012001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565226f0a1341" . + "70705061796d656e744d6f64656c496e666f12580a047479706518012001" . + "280e324a2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e4170705061796d656e744d6f64656c54797065456e756d2e41" . + "70705061796d656e744d6f64656c5479706522500a104d6f62696c654465" . + "76696365496e666f123c0a166d6f62696c655f6465766963655f636f6e73" . + "74616e7418012001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c7565224b0a12437573746f6d416666696e697479496e" . + "666f12350a0f637573746f6d5f616666696e69747918012001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756522470a" . + "10437573746f6d496e74656e74496e666f12330a0d637573746f6d5f696e" . + "74656e7418012001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c75652294020a114c6f636174696f6e47726f7570496e" . + "666f122a0a046665656418012001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565123a0a1467656f5f746172676574" . + "5f636f6e7374616e747318022003280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565122b0a0672616469757318032001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "65126a0a0c7261646975735f756e69747318042001280e32542e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e4c6f6361" . + "74696f6e47726f7570526164697573556e697473456e756d2e4c6f636174" . + "696f6e47726f7570526164697573556e69747342e8010a22636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e420d" . + "437269746572696150726f746f50015a44676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f6ea202034741" . + "41aa021e476f6f676c652e4164732e476f6f676c654164732e56322e436f" . + "6d6d6f6eca021e476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php b/metadata/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php new file mode 100644 index 000000000..b1101925b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php @@ -0,0 +1,84 @@ +internalAddGeneratedFile(hex2bin( + "0aef0c0a44676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f637269746572696f6e5f63617465676f72795f617661696c" . + "6162696c6974792e70726f746f121e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e1a3c676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f6164766572746973696e675f63" . + "68616e6e656c5f747970652e70726f746f1a50676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f637269746572696f6e5f63" . + "617465676f72795f6368616e6e656c5f617661696c6162696c6974795f6d" . + "6f64652e70726f746f1a4f676f6f676c652f6164732f676f6f676c656164" . + "732f76322f656e756d732f637269746572696f6e5f63617465676f72795f" . + "6c6f63616c655f617661696c6162696c6974795f6d6f64652e70726f746f" . + "1a1e676f6f676c652f70726f746f6275662f77726170706572732e70726f" . + "746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f" . + "746f22cb010a1d437269746572696f6e43617465676f7279417661696c61" . + "62696c69747912550a076368616e6e656c18012001280b32442e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e437269" . + "746572696f6e43617465676f72794368616e6e656c417661696c6162696c" . + "69747912530a066c6f63616c6518022003280b32432e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e43726974657269" . + "6f6e43617465676f72794c6f63616c65417661696c6162696c69747922f0" . + "030a24437269746572696f6e43617465676f72794368616e6e656c417661" . + "696c6162696c697479128f010a11617661696c6162696c6974795f6d6f64" . + "6518012001280e32742e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e437269746572696f6e43617465676f7279436861" . + "6e6e656c417661696c6162696c6974794d6f6465456e756d2e4372697465" . + "72696f6e43617465676f72794368616e6e656c417661696c6162696c6974" . + "794d6f646512720a186164766572746973696e675f6368616e6e656c5f74" . + "79706518022001280e32502e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e4164766572746973696e674368616e6e656c" . + "54797065456e756d2e4164766572746973696e674368616e6e656c547970" . + "65127c0a1c6164766572746973696e675f6368616e6e656c5f7375625f74" . + "79706518032003280e32562e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e4164766572746973696e674368616e6e656c" . + "53756254797065456e756d2e4164766572746973696e674368616e6e656c" . + "5375625479706512440a20696e636c7564655f64656661756c745f636861" . + "6e6e656c5f7375625f7479706518042001280b321a2e676f6f676c652e70" . + "726f746f6275662e426f6f6c56616c7565229e020a23437269746572696f" . + "6e43617465676f72794c6f63616c65417661696c6162696c697479128d01" . + "0a11617661696c6162696c6974795f6d6f646518012001280e32722e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e4372" . + "69746572696f6e43617465676f72794c6f63616c65417661696c6162696c" . + "6974794d6f6465456e756d2e437269746572696f6e43617465676f72794c" . + "6f63616c65417661696c6162696c6974794d6f646512320a0c636f756e74" . + "72795f636f646518022001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512330a0d6c616e67756167655f636f6465" . + "18032001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756542fd010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e4222437269746572696f6e43617465" . + "676f7279417661696c6162696c69747950726f746f50015a44676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f636f6d6d6f6e3b636f6d" . + "6d6f6ea20203474141aa021e476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e436f6d6d6f6eca021e476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c436f6d6d6f6eea0222476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/CustomParameter.php b/metadata/Google/Ads/GoogleAds/V2/Common/CustomParameter.php new file mode 100644 index 000000000..bbe396de0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/CustomParameter.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ada030a35676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f637573746f6d5f706172616d657465722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "22690a0f437573746f6d506172616d6574657212290a036b657918012001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565122b0a0576616c756518022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756542ef010a22636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e42144375" . + "73746f6d506172616d6574657250726f746f50015a44676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f6e" . + "a20203474141aa021e476f6f676c652e4164732e476f6f676c654164732e" . + "56322e436f6d6d6f6eca021e476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Dates.php b/metadata/Google/Ads/GoogleAds/V2/Common/Dates.php new file mode 100644 index 000000000..9209e6956 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Dates.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ac9030a2a676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f64617465732e70726f746f121e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e1a1c676f6f676c652f6170" . + "692f616e6e6f746174696f6e732e70726f746f226d0a094461746552616e" . + "676512300a0a73746172745f6461746518012001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c7565122e0a08656e645f" . + "6461746518022001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756542e5010a22636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e420a446174657350726f74" . + "6f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e41" . + "64732e476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c" . + "655c4164735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d" . + "6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php b/metadata/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php new file mode 100644 index 000000000..0bc02d9c6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ad7030a44676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f6578706c6f7265725f6175746f5f6f7074696d697a65725f" . + "73657474696e672e70726f746f121e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e1a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f224a0a1c4578706c6f726572417574" . + "6f4f7074696d697a657253657474696e67122a0a066f70745f696e180120" . + "01280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75" . + "6542fc010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e42214578706c6f7265724175746f4f7074696d69" . + "7a657253657474696e6750726f746f50015a44676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203" . + "474141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e" . + "436f6d6d6f6eca021e476f6f676c655c4164735c476f6f676c654164735c" . + "56325c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Extensions.php b/metadata/Google/Ads/GoogleAds/V2/Common/Extensions.php new file mode 100644 index 000000000..817b8368e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Extensions.php @@ -0,0 +1,222 @@ +internalAddGeneratedFile(hex2bin( + "0a822c0a2f676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f657874656e73696f6e732e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a30676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f636f6d6d6f6e2f666565" . + "645f636f6d6d6f6e2e70726f746f1a2d676f6f676c652f6164732f676f6f" . + "676c656164732f76322f656e756d732f6170705f73746f72652e70726f74" . + "6f1a43676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f63616c6c5f636f6e76657273696f6e5f7265706f7274696e675f73" . + "746174652e70726f746f1a43676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f656e756d732f70726963655f657874656e73696f6e5f7072" . + "6963655f7175616c69666965722e70726f746f1a3e676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f70726963655f657874" . + "656e73696f6e5f70726963655f756e69742e70726f746f1a38676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f7072696365" . + "5f657874656e73696f6e5f747970652e70726f746f1a49676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f70726f6d6f7469" . + "6f6e5f657874656e73696f6e5f646973636f756e745f6d6f646966696572" . + "2e70726f746f1a40676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f70726f6d6f74696f6e5f657874656e73696f6e5f6f63" . + "636173696f6e2e70726f746f1a1e676f6f676c652f70726f746f6275662f" . + "77726170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f22e5030a0b417070466565644974656d" . + "122f0a096c696e6b5f7465787418012001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c7565122c0a066170705f696418" . + "022001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512470a096170705f73746f726518032001280e32342e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e417070" . + "53746f7265456e756d2e41707053746f726512300a0a66696e616c5f7572" . + "6c7318042003280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512370a1166696e616c5f6d6f62696c655f75726c7318" . + "052003280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565123b0a15747261636b696e675f75726c5f74656d706c617465" . + "18062001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565124e0a1575726c5f637573746f6d5f706172616d65746572" . + "7318072003280b322f2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e437573746f6d506172616d6574657212360a10" . + "66696e616c5f75726c5f73756666697818082001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756522be030a0c43616c" . + "6c466565644974656d12320a0c70686f6e655f6e756d6265721801200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512320a0c636f756e7472795f636f646518022001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512390a1563616c" . + "6c5f747261636b696e675f656e61626c656418032001280b321a2e676f6f" . + "676c652e70726f746f6275662e426f6f6c56616c7565123c0a1663616c6c" . + "5f636f6e76657273696f6e5f616374696f6e18042001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512450a216361" . + "6c6c5f636f6e76657273696f6e5f747261636b696e675f64697361626c65" . + "6418052001280b321a2e676f6f676c652e70726f746f6275662e426f6f6c" . + "56616c75651285010a1f63616c6c5f636f6e76657273696f6e5f7265706f" . + "7274696e675f737461746518062001280e325c2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e43616c6c436f6e766572" . + "73696f6e5265706f7274696e675374617465456e756d2e43616c6c436f6e" . + "76657273696f6e5265706f7274696e67537461746522450a0f43616c6c6f" . + "7574466565644974656d12320a0c63616c6c6f75745f7465787418012001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756522aa030a104c6f636174696f6e466565644974656d12330a0d627573" . + "696e6573735f6e616d6518012001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512340a0e616464726573735f6c69" . + "6e655f3118022001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512340a0e616464726573735f6c696e655f321803" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c7565122a0a046369747918042001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565122e0a0870726f76696e6365" . + "18052001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756512310a0b706f7374616c5f636f646518062001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756512320a" . + "0c636f756e7472795f636f646518072001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512320a0c70686f6e655f6e" . + "756d62657218082001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c75652294040a19416666696c696174654c6f636174" . + "696f6e466565644974656d12330a0d627573696e6573735f6e616d651801" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512340a0e616464726573735f6c696e655f3118022001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651234" . + "0a0e616464726573735f6c696e655f3218032001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c7565122a0a0463697479" . + "18042001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565122e0a0870726f76696e636518052001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512310a0b706f" . + "7374616c5f636f646518062001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512320a0c636f756e7472795f636f64" . + "6518072001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512320a0c70686f6e655f6e756d62657218082001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "2d0a08636861696e5f696418092001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c756512300a0a636861696e5f6e616d65" . + "180a2001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c75652294020a13546578744d657373616765466565644974656d" . + "12330a0d627573696e6573735f6e616d6518012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512320a0c636f75" . + "6e7472795f636f646518022001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512320a0c70686f6e655f6e756d6265" . + "7218032001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c7565122a0a047465787418042001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512340a0e657874656e" . + "73696f6e5f7465787418052001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756522cd030a0d50726963654665656449" . + "74656d12560a047479706518012001280e32482e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e5072696365457874656e" . + "73696f6e54797065456e756d2e5072696365457874656e73696f6e547970" . + "6512750a0f70726963655f7175616c696669657218022001280e325c2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e50" . + "72696365457874656e73696f6e50726963655175616c6966696572456e75" . + "6d2e5072696365457874656e73696f6e50726963655175616c6966696572" . + "123b0a15747261636b696e675f75726c5f74656d706c6174651803200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512330a0d6c616e67756167655f636f646518042001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512430a0f7072" . + "6963655f6f66666572696e677318052003280b322a2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e50726963654f66" . + "66657212360a1066696e616c5f75726c5f73756666697818062001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756522" . + "f0020a0a50726963654f66666572122c0a0668656164657218012001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12310a0b6465736372697074696f6e18022001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512340a057072696365" . + "18032001280b32252e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e4d6f6e657912600a04756e697418042001280e32" . + "522e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e5072696365457874656e73696f6e5072696365556e6974456e756d2e" . + "5072696365457874656e73696f6e5072696365556e697412300a0a66696e" . + "616c5f75726c7318052003280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512370a1166696e616c5f6d6f62696c655f" . + "75726c7318062003280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756522b2080a1150726f6d6f74696f6e466565644974" . + "656d12360a1070726f6d6f74696f6e5f74617267657418012001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651283" . + "010a11646973636f756e745f6d6f64696669657218022001280e32682e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e50" . + "726f6d6f74696f6e457874656e73696f6e446973636f756e744d6f646966" . + "696572456e756d2e50726f6d6f74696f6e457874656e73696f6e44697363" . + "6f756e744d6f646966696572123a0a1470726f6d6f74696f6e5f73746172" . + "745f6461746518072001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c756512380a1270726f6d6f74696f6e5f656e645f" . + "6461746518082001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c7565126a0a086f63636173696f6e18092001280e3258" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e50726f6d6f74696f6e457874656e73696f6e4f63636173696f6e456e75" . + "6d2e50726f6d6f74696f6e457874656e73696f6e4f63636173696f6e1230" . + "0a0a66696e616c5f75726c73180a2003280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512370a1166696e616c5f6d6f" . + "62696c655f75726c73180b2003280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c7565123b0a15747261636b696e675f7572" . + "6c5f74656d706c617465180c2001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565124e0a1575726c5f637573746f6d" . + "5f706172616d6574657273180d2003280b322f2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e437573746f6d506172" . + "616d6574657212360a1066696e616c5f75726c5f737566666978180e2001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512330a0d6c616e67756167655f636f6465180f2001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512320a0b70" . + "657263656e745f6f666618032001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c7565480012410a106d6f6e65795f616d6f" . + "756e745f6f666618042001280b32252e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e2e4d6f6e6579480012360a0e7072" . + "6f6d6f74696f6e5f636f646518052001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565480112430a126f7264657273" . + "5f6f7665725f616d6f756e7418062001280b32252e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e636f6d6d6f6e2e4d6f6e6579480142" . + "0f0a0d646973636f756e745f7479706542130a1170726f6d6f74696f6e5f" . + "7472696767657222770a1953747275637475726564536e69707065744665" . + "65644974656d122c0a0668656164657218012001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c7565122c0a0676616c75" . + "657318022003280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756522cd030a10536974656c696e6b466565644974656d12" . + "2f0a096c696e6b5f7465787418012001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565122b0a056c696e6531180220" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565122b0a056c696e653218032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512300a0a66696e616c5f7572" . + "6c7318042003280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512370a1166696e616c5f6d6f62696c655f75726c7318" . + "052003280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565123b0a15747261636b696e675f75726c5f74656d706c617465" . + "18062001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565124e0a1575726c5f637573746f6d5f706172616d65746572" . + "7318072003280b322f2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e437573746f6d506172616d6574657212360a10" . + "66696e616c5f75726c5f73756666697818082001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756542ea010a22636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f" . + "6e420f457874656e73696f6e7350726f746f50015a44676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f6e" . + "a20203474141aa021e476f6f676c652e4164732e476f6f676c654164732e" . + "56322e436f6d6d6f6eca021e476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/FeedCommon.php b/metadata/Google/Ads/GoogleAds/V2/Common/FeedCommon.php new file mode 100644 index 000000000..046a17ffa --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/FeedCommon.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ad7030a30676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f666565645f636f6d6d6f6e2e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f22700a054d" . + "6f6e657912330a0d63757272656e63795f636f646518012001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756512320a" . + "0d616d6f756e745f6d6963726f7318022001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c756542ea010a22636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e420f" . + "46656564436f6d6d6f6e50726f746f50015a44676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203" . + "474141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e" . + "436f6d6d6f6eca021e476f6f676c655c4164735c476f6f676c654164735c" . + "56325c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php b/metadata/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php new file mode 100644 index 000000000..67571017a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0aac040a32676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f66696e616c5f6170705f75726c2e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1e67" . + "6f6f676c652f70726f746f6275662f77726170706572732e70726f746f1a" . + "1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f22" . + "a1010a0b46696e616c41707055726c12670a076f735f7479706518012001" . + "280e32562e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e41707055726c4f7065726174696e6753797374656d54797065" . + "456e756d2e41707055726c4f7065726174696e6753797374656d54797065" . + "12290a0375726c18022001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756542eb010a22636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e421046696e616c41" . + "707055726c50726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e436f6d6d6f" . + "6eca021e476f6f676c655c4164735c476f6f676c654164735c56325c436f" . + "6d6d6f6eea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/FrequencyCap.php b/metadata/Google/Ads/GoogleAds/V2/Common/FrequencyCap.php new file mode 100644 index 000000000..cba753e24 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/FrequencyCap.php @@ -0,0 +1,62 @@ +internalAddGeneratedFile(hex2bin( + "0ade070a32676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f6672657175656e63795f6361702e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a3767" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f66" . + "72657175656e63795f6361705f6c6576656c2e70726f746f1a3b676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f656e756d732f66726571" . + "75656e63795f6361705f74696d655f756e69742e70726f746f1a1e676f6f" . + "676c652f70726f746f6275662f77726170706572732e70726f746f1a1c67" . + "6f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f227b0a" . + "114672657175656e6379436170456e747279123c0a036b65791801200128" . + "0b322f2e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e4672657175656e63794361704b657912280a03636170180220" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74333256616c" . + "756522df020a0f4672657175656e63794361704b657912550a056c657665" . + "6c18012001280e32462e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e4672657175656e63794361704c6576656c456e75" . + "6d2e4672657175656e63794361704c6576656c12620a0a6576656e745f74" . + "79706518032001280e324e2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e4672657175656e63794361704576656e7454" . + "797065456e756d2e4672657175656e63794361704576656e745479706512" . + "5f0a0974696d655f756e697418022001280e324c2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d732e4672657175656e6379" . + "43617054696d65556e6974456e756d2e4672657175656e63794361705469" . + "6d65556e697412300a0b74696d655f6c656e67746818042001280b321b2e" . + "676f6f676c652e70726f746f6275662e496e74333256616c756542ec010a" . + "22636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e42114672657175656e637943617050726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f636f6d6d6f6e3b" . + "636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e436f6d6d6f6eca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/KeywordPlanCommon.php b/metadata/Google/Ads/GoogleAds/V2/Common/KeywordPlanCommon.php new file mode 100644 index 000000000..047f694be --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/KeywordPlanCommon.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0ae1040a38676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f6b6579776f72645f706c616e5f636f6d6d6f6e2e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e1a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22ca010a1c4b6579776f7264506c616e486973746f72696361" . + "6c4d65747269637312390a146176675f6d6f6e74686c795f736561726368" . + "657318012001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c7565126f0a0b636f6d7065746974696f6e18022001280e325a" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e4b6579776f7264506c616e436f6d7065746974696f6e4c6576656c456e" . + "756d2e4b6579776f7264506c616e436f6d7065746974696f6e4c6576656c" . + "42f1010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e42164b6579776f7264506c616e436f6d6d6f6e5072" . + "6f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f" . + "676c655c4164735c476f6f676c654164735c56325c436f6d6d6f6eea0222" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a436f" . + "6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php b/metadata/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php new file mode 100644 index 000000000..c0bc3308a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php @@ -0,0 +1,88 @@ +internalAddGeneratedFile(hex2bin( + "0a870e0a36676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f6d61746368696e675f66756e6374696f6e2e70726f746f12" . + "1e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f" . + "6e1a3e676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f6d61746368696e675f66756e6374696f6e5f6f70657261746f722e" . + "70726f746f1a1e676f6f676c652f70726f746f6275662f77726170706572" . + "732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f22b2020a104d61746368696e6746756e6374696f6e1235" . + "0a0f66756e6374696f6e5f737472696e6718012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512660a086f7065" . + "7261746f7218042001280e32542e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e4d61746368696e6746756e6374696f6e" . + "4f70657261746f72456e756d2e4d61746368696e6746756e6374696f6e4f" . + "70657261746f72123e0a0d6c6566745f6f706572616e647318022003280b" . + "32272e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e4f706572616e64123f0a0e72696768745f6f706572616e647318" . + "032003280b32272e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e4f706572616e6422fe070a074f706572616e641253" . + "0a10636f6e7374616e745f6f706572616e6418012001280b32372e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4f70" . + "6572616e642e436f6e7374616e744f706572616e644800125e0a16666565" . + "645f6174747269627574655f6f706572616e6418022001280b323c2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4f" . + "706572616e642e466565644174747269627574654f706572616e64480012" . + "530a1066756e6374696f6e5f6f706572616e6418032001280b32372e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4f" . + "706572616e642e46756e6374696f6e4f706572616e64480012600a177265" . + "71756573745f636f6e746578745f6f706572616e6418042001280b323d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e4f706572616e642e52657175657374436f6e746578744f706572616e64" . + "48001aff010a0f436f6e7374616e744f706572616e6412340a0c73747269" . + "6e675f76616c756518012001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565480012310a0a6c6f6e675f76616c7565" . + "18022001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c7565480012330a0d626f6f6c65616e5f76616c756518032001280b" . + "321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75654800" . + "12340a0c646f75626c655f76616c756518042001280b321c2e676f6f676c" . + "652e70726f746f6275662e446f75626c6556616c7565480042180a16636f" . + "6e7374616e745f6f706572616e645f76616c75651a7c0a14466565644174" . + "747269627574654f706572616e64122c0a07666565645f69641801200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "12360a11666565645f6174747269627574655f696418022001280b321b2e" . + "676f6f676c652e70726f746f6275662e496e74363456616c75651a5e0a0f" . + "46756e6374696f6e4f706572616e64124b0a116d61746368696e675f6675" . + "6e6374696f6e18012001280b32302e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e4d61746368696e6746756e637469" . + "6f6e1a89010a1552657175657374436f6e746578744f706572616e641270" . + "0a0c636f6e746578745f7479706518012001280e325a2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e4d61746368696e" . + "6746756e6374696f6e436f6e7465787454797065456e756d2e4d61746368" . + "696e6746756e6374696f6e436f6e7465787454797065421b0a1966756e63" . + "74696f6e5f617267756d656e745f6f706572616e6442f0010a22636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "42154d61746368696e6746756e6374696f6e50726f746f50015a44676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f636f6d6d6f6e3b63" . + "6f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e476f6f676c" . + "654164732e56322e436f6d6d6f6eca021e476f6f676c655c4164735c476f" . + "6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Metrics.php b/metadata/Google/Ads/GoogleAds/V2/Common/Metrics.php new file mode 100644 index 000000000..6bf32ed1e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Metrics.php @@ -0,0 +1,287 @@ +internalAddGeneratedFile(hex2bin( + "0aee3c0a2c676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f6d6574726963732e70726f746f121e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e636f6d6d6f6e1a38676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f7175616c697479" . + "5f73636f72655f6275636b65742e70726f746f1a1e676f6f676c652f7072" . + "6f746f6275662f77726170706572732e70726f746f1a1c676f6f676c652f" . + "6170692f616e6e6f746174696f6e732e70726f746f22b3390a074d657472" . + "69637312480a226162736f6c7574655f746f705f696d7072657373696f6e" . + "5f70657263656e74616765185f2001280b321c2e676f6f676c652e70726f" . + "746f6275662e446f75626c6556616c756512350a0f6163746976655f7669" . + "65775f63706d18012001280b321c2e676f6f676c652e70726f746f627566" . + "2e446f75626c6556616c756512350a0f6163746976655f766965775f6374" . + "72184f2001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c7565123c0a176163746976655f766965775f696d7072657373" . + "696f6e7318022001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c7565123f0a196163746976655f766965775f6d65617375" . + "726162696c69747918602001280b321c2e676f6f676c652e70726f746f62" . + "75662e446f75626c6556616c756512470a226163746976655f766965775f" . + "6d656173757261626c655f636f73745f6d6963726f7318032001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c756512470a" . + "226163746976655f766965775f6d656173757261626c655f696d70726573" . + "73696f6e7318042001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c7565123d0a176163746976655f766965775f76696577" . + "6162696c69747918612001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c7565124c0a26616c6c5f636f6e76657273696f" . + "6e735f66726f6d5f696e746572616374696f6e735f726174651841200128" . + "0b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c75" . + "65123b0a15616c6c5f636f6e76657273696f6e735f76616c756518422001" . + "280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c" . + "756512350a0f616c6c5f636f6e76657273696f6e7318072001280b321c2e" . + "676f6f676c652e70726f746f6275662e446f75626c6556616c756512440a" . + "1e616c6c5f636f6e76657273696f6e735f76616c75655f7065725f636f73" . + "74183e2001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c756512480a22616c6c5f636f6e76657273696f6e735f66726f" . + "6d5f636c69636b5f746f5f63616c6c18762001280b321c2e676f6f676c65" . + "2e70726f746f6275662e446f75626c6556616c756512450a1f616c6c5f63" . + "6f6e76657273696f6e735f66726f6d5f646972656374696f6e7318772001" . + "280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c" . + "7565125d0a37616c6c5f636f6e76657273696f6e735f66726f6d5f696e74" . + "6572616374696f6e735f76616c75655f7065725f696e746572616374696f" . + "6e18432001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c7565123f0a19616c6c5f636f6e76657273696f6e735f66726f" . + "6d5f6d656e7518782001280b321c2e676f6f676c652e70726f746f627566" . + "2e446f75626c6556616c756512400a1a616c6c5f636f6e76657273696f6e" . + "735f66726f6d5f6f7264657218792001280b321c2e676f6f676c652e7072" . + "6f746f6275662e446f75626c6556616c7565124b0a25616c6c5f636f6e76" . + "657273696f6e735f66726f6d5f6f746865725f656e676167656d656e7418" . + "7a2001280b321c2e676f6f676c652e70726f746f6275662e446f75626c65" . + "56616c756512460a20616c6c5f636f6e76657273696f6e735f66726f6d5f" . + "73746f72655f7669736974187b2001280b321c2e676f6f676c652e70726f" . + "746f6275662e446f75626c6556616c756512480a22616c6c5f636f6e7665" . + "7273696f6e735f66726f6d5f73746f72655f77656273697465187c200128" . + "0b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c75" . + "6512320a0c617665726167655f636f737418082001280b321c2e676f6f67" . + "6c652e70726f746f6275662e446f75626c6556616c756512310a0b617665" . + "726167655f63706318092001280b321c2e676f6f676c652e70726f746f62" . + "75662e446f75626c6556616c756512310a0b617665726167655f63706518" . + "622001280b321c2e676f6f676c652e70726f746f6275662e446f75626c65" . + "56616c756512310a0b617665726167655f63706d180a2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e446f75626c6556616c756512310a0b" . + "617665726167655f637076180b2001280b321c2e676f6f676c652e70726f" . + "746f6275662e446f75626c6556616c756512380a12617665726167655f70" . + "6167655f766965777318632001280b321c2e676f6f676c652e70726f746f" . + "6275662e446f75626c6556616c7565123a0a14617665726167655f74696d" . + "655f6f6e5f7369746518542001280b321c2e676f6f676c652e70726f746f" . + "6275662e446f75626c6556616c7565123f0a1962656e63686d61726b5f61" . + "7665726167655f6d61785f637063180e2001280b321c2e676f6f676c652e" . + "70726f746f6275662e446f75626c6556616c756512330a0d62656e63686d" . + "61726b5f637472184d2001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c756512310a0b626f756e63655f72617465180f" . + "2001280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556" . + "616c7565122b0a06636c69636b7318132001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c756512340a0f636f6d62696e65" . + "645f636c69636b7318732001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c7565123f0a19636f6d62696e65645f636c6963" . + "6b735f7065725f717565727918742001280b321c2e676f6f676c652e7072" . + "6f746f6275662e446f75626c6556616c756512350a10636f6d62696e6564" . + "5f7175657269657318752001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c7565124a0a24636f6e74656e745f6275646765" . + "745f6c6f73745f696d7072657373696f6e5f736861726518142001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "3e0a18636f6e74656e745f696d7072657373696f6e5f7368617265181520" . + "01280b321c2e676f6f676c652e70726f746f6275662e446f75626c655661" . + "6c756512500a2a636f6e76657273696f6e5f6c6173745f72656365697665" . + "645f726571756573745f646174655f74696d6518492001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512450a1f63" . + "6f6e76657273696f6e5f6c6173745f636f6e76657273696f6e5f64617465" . + "184a2001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756512480a22636f6e74656e745f72616e6b5f6c6f73745f696d" . + "7072657373696f6e5f736861726518162001280b321c2e676f6f676c652e" . + "70726f746f6275662e446f75626c6556616c756512480a22636f6e766572" . + "73696f6e735f66726f6d5f696e746572616374696f6e735f726174651845" . + "2001280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556" . + "616c756512370a11636f6e76657273696f6e735f76616c75651846200128" . + "0b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c75" . + "6512400a1a636f6e76657273696f6e735f76616c75655f7065725f636f73" . + "7418472001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c756512590a33636f6e76657273696f6e735f66726f6d5f696e" . + "746572616374696f6e735f76616c75655f7065725f696e74657261637469" . + "6f6e18482001280b321c2e676f6f676c652e70726f746f6275662e446f75" . + "626c6556616c756512310a0b636f6e76657273696f6e7318192001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "300a0b636f73745f6d6963726f73181a2001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c7565123e0a18636f73745f7065" . + "725f616c6c5f636f6e76657273696f6e7318442001280b321c2e676f6f67" . + "6c652e70726f746f6275662e446f75626c6556616c756512390a13636f73" . + "745f7065725f636f6e76657273696f6e181c2001280b321c2e676f6f676c" . + "652e70726f746f6275662e446f75626c6556616c756512520a2c636f7374" . + "5f7065725f63757272656e745f6d6f64656c5f617474726962757465645f" . + "636f6e76657273696f6e186a2001280b321c2e676f6f676c652e70726f74" . + "6f6275662e446f75626c6556616c7565123e0a1863726f73735f64657669" . + "63655f636f6e76657273696f6e73181d2001280b321c2e676f6f676c652e" . + "70726f746f6275662e446f75626c6556616c756512290a03637472181e20" . + "01280b321c2e676f6f676c652e70726f746f6275662e446f75626c655661" . + "6c7565124a0a2463757272656e745f6d6f64656c5f617474726962757465" . + "645f636f6e76657273696f6e7318652001280b321c2e676f6f676c652e70" . + "726f746f6275662e446f75626c6556616c756512610a3b63757272656e74" . + "5f6d6f64656c5f617474726962757465645f636f6e76657273696f6e735f" . + "66726f6d5f696e746572616374696f6e735f7261746518662001280b321c" . + "2e676f6f676c652e70726f746f6275662e446f75626c6556616c75651272" . + "0a4c63757272656e745f6d6f64656c5f617474726962757465645f636f6e" . + "76657273696f6e735f66726f6d5f696e746572616374696f6e735f76616c" . + "75655f7065725f696e746572616374696f6e18672001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c756512500a2a6375" . + "7272656e745f6d6f64656c5f617474726962757465645f636f6e76657273" . + "696f6e735f76616c756518682001280b321c2e676f6f676c652e70726f74" . + "6f6275662e446f75626c6556616c756512590a3363757272656e745f6d6f" . + "64656c5f617474726962757465645f636f6e76657273696f6e735f76616c" . + "75655f7065725f636f737418692001280b321c2e676f6f676c652e70726f" . + "746f6275662e446f75626c6556616c756512350a0f656e676167656d656e" . + "745f72617465181f2001280b321c2e676f6f676c652e70726f746f627566" . + "2e446f75626c6556616c756512300a0b656e676167656d656e7473182020" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "756512450a1f686f74656c5f617665726167655f6c6561645f76616c7565" . + "5f6d6963726f73184b2001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c756512730a21686973746f726963616c5f6372" . + "6561746976655f7175616c6974795f73636f726518502001280e32482e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e51" . + "75616c69747953636f72654275636b6574456e756d2e5175616c69747953" . + "636f72654275636b657412770a25686973746f726963616c5f6c616e6469" . + "6e675f706167655f7175616c6974795f73636f726518512001280e32482e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "5175616c69747953636f72654275636b6574456e756d2e5175616c697479" . + "53636f72654275636b6574123d0a18686973746f726963616c5f7175616c" . + "6974795f73636f726518522001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c756512710a1f686973746f726963616c5f73" . + "65617263685f7072656469637465645f63747218532001280e32482e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e5175" . + "616c69747953636f72654275636b6574456e756d2e5175616c6974795363" . + "6f72654275636b657412330a0e676d61696c5f666f727761726473185520" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "756512300a0b676d61696c5f736176657318562001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565123b0a16676d6169" . + "6c5f7365636f6e646172795f636c69636b7318572001280b321b2e676f6f" . + "676c652e70726f746f6275662e496e74363456616c756512410a1c696d70" . + "72657373696f6e735f66726f6d5f73746f72655f7265616368187d200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "12300a0b696d7072657373696f6e7318252001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512360a10696e74657261" . + "6374696f6e5f7261746518262001280b321c2e676f6f676c652e70726f74" . + "6f6275662e446f75626c6556616c756512310a0c696e746572616374696f" . + "6e7318272001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c7565126d0a17696e746572616374696f6e5f6576656e745f74" . + "7970657318642003280e324c2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e496e746572616374696f6e4576656e7454" . + "797065456e756d2e496e746572616374696f6e4576656e74547970651238" . + "0a12696e76616c69645f636c69636b5f7261746518282001280b321c2e67" . + "6f6f676c652e70726f746f6275662e446f75626c6556616c756512330a0e" . + "696e76616c69645f636c69636b7318292001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c756512320a0d6d657373616765" . + "5f6368617473187e2001280b321b2e676f6f676c652e70726f746f627566" . + "2e496e74363456616c756512380a136d6573736167655f696d7072657373" . + "696f6e73187f2001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512380a116d6573736167655f636861745f72617465" . + "1880012001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c756512470a216d6f62696c655f667269656e646c795f636c69" . + "636b735f70657263656e74616765186d2001280b321c2e676f6f676c652e" . + "70726f746f6275662e446f75626c6556616c756512330a0e6f7267616e69" . + "635f636c69636b73186e2001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c7565123e0a186f7267616e69635f636c69636b" . + "735f7065725f7175657279186f2001280b321c2e676f6f676c652e70726f" . + "746f6275662e446f75626c6556616c756512380a136f7267616e69635f69" . + "6d7072657373696f6e7318702001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c756512430a1d6f7267616e69635f696d70" . + "72657373696f6e735f7065725f717565727918712001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c756512340a0f6f72" . + "67616e69635f7175657269657318722001280b321b2e676f6f676c652e70" . + "726f746f6275662e496e74363456616c7565123a0a1470657263656e745f" . + "6e65775f76697369746f7273182a2001280b321c2e676f6f676c652e7072" . + "6f746f6275662e446f75626c6556616c756512300a0b70686f6e655f6361" . + "6c6c73182b2001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c756512360a1170686f6e655f696d7072657373696f6e7318" . + "2c2001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c756512380a1270686f6e655f7468726f7567685f72617465182d2001" . + "280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c" . + "756512320a0c72656c61746976655f637472182e2001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c7565124a0a247365" . + "617263685f6162736f6c7574655f746f705f696d7072657373696f6e5f73" . + "68617265184e2001280b321c2e676f6f676c652e70726f746f6275662e44" . + "6f75626c6556616c756512560a307365617263685f6275646765745f6c6f" . + "73745f6162736f6c7574655f746f705f696d7072657373696f6e5f736861" . + "726518582001280b321c2e676f6f676c652e70726f746f6275662e446f75" . + "626c6556616c756512490a237365617263685f6275646765745f6c6f7374" . + "5f696d7072657373696f6e5f7368617265182f2001280b321c2e676f6f67" . + "6c652e70726f746f6275662e446f75626c6556616c7565124d0a27736561" . + "7263685f6275646765745f6c6f73745f746f705f696d7072657373696f6e" . + "5f736861726518592001280b321c2e676f6f676c652e70726f746f627566" . + "2e446f75626c6556616c756512380a127365617263685f636c69636b5f73" . + "6861726518302001280b321c2e676f6f676c652e70726f746f6275662e44" . + "6f75626c6556616c756512490a237365617263685f65786163745f6d6174" . + "63685f696d7072657373696f6e5f736861726518312001280b321c2e676f" . + "6f676c652e70726f746f6275662e446f75626c6556616c7565123d0a1773" . + "65617263685f696d7072657373696f6e5f736861726518322001280b321c" . + "2e676f6f676c652e70726f746f6275662e446f75626c6556616c75651254" . + "0a2e7365617263685f72616e6b5f6c6f73745f6162736f6c7574655f746f" . + "705f696d7072657373696f6e5f7368617265185a2001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c756512470a217365" . + "617263685f72616e6b5f6c6f73745f696d7072657373696f6e5f73686172" . + "6518332001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c7565124b0a257365617263685f72616e6b5f6c6f73745f746f" . + "705f696d7072657373696f6e5f7368617265185b2001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c756512410a1b7365" . + "617263685f746f705f696d7072657373696f6e5f7368617265185c200128" . + "0b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c75" . + "6512300a0b73706565645f73636f7265186b2001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c7565123f0a19746f705f69" . + "6d7072657373696f6e5f70657263656e74616765185d2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e446f75626c6556616c756512560a30" . + "76616c69645f616363656c6572617465645f6d6f62696c655f7061676573" . + "5f636c69636b735f70657263656e74616765186c2001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c7565123f0a197661" . + "6c75655f7065725f616c6c5f636f6e76657273696f6e7318342001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "3a0a1476616c75655f7065725f636f6e76657273696f6e18352001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "530a2d76616c75655f7065725f63757272656e745f6d6f64656c5f617474" . + "726962757465645f636f6e76657273696f6e185e2001280b321c2e676f6f" . + "676c652e70726f746f6275662e446f75626c6556616c7565123d0a177669" . + "64656f5f7175617274696c655f3130305f7261746518362001280b321c2e" . + "676f6f676c652e70726f746f6275662e446f75626c6556616c7565123c0a" . + "16766964656f5f7175617274696c655f32355f7261746518372001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "3c0a16766964656f5f7175617274696c655f35305f726174651838200128" . + "0b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c75" . + "65123c0a16766964656f5f7175617274696c655f37355f72617465183920" . + "01280b321c2e676f6f676c652e70726f746f6275662e446f75626c655661" . + "6c756512350a0f766964656f5f766965775f72617465183a2001280b321c" . + "2e676f6f676c652e70726f746f6275662e446f75626c6556616c75651230" . + "0a0b766964656f5f7669657773183b2001280b321b2e676f6f676c652e70" . + "726f746f6275662e496e74363456616c7565123d0a18766965775f746872" . + "6f7567685f636f6e76657273696f6e73183c2001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c756542e7010a22636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "420c4d65747269637350726f746f50015a44676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f6ea2020347" . + "4141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e43" . + "6f6d6d6f6eca021e476f6f676c655c4164735c476f6f676c654164735c56" . + "325c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Policy.php b/metadata/Google/Ads/GoogleAds/V2/Common/Policy.php new file mode 100644 index 000000000..0efebf3c5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Policy.php @@ -0,0 +1,148 @@ +internalAddGeneratedFile(hex2bin( + "0ad41b0a2b676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f706f6c6963792e70726f746f121e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e1a57676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f706f6c6963795f74" . + "6f7069635f65766964656e63655f64657374696e6174696f6e5f6d69736d" . + "617463685f75726c5f747970652e70726f746f1a58676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f706f6c6963795f746f" . + "7069635f65766964656e63655f64657374696e6174696f6e5f6e6f745f77" . + "6f726b696e675f6465766963652e70726f746f1a60676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f706f6c6963795f746f" . + "7069635f65766964656e63655f64657374696e6174696f6e5f6e6f745f77" . + "6f726b696e675f646e735f6572726f725f747970652e70726f746f1a1e67" . + "6f6f676c652f70726f746f6275662f77726170706572732e70726f746f1a" . + "1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f22" . + "7d0a12506f6c69637956696f6c6174696f6e4b657912310a0b706f6c6963" . + "795f6e616d6518012001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c756512340a0e76696f6c6174696e675f74657874" . + "18022001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756522b4010a19506f6c69637956616c69646174696f6e506172" . + "616d65746572123d0a1769676e6f7261626c655f706f6c6963795f746f70" . + "69637318012003280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512580a1c6578656d70745f706f6c6963795f76696f" . + "6c6174696f6e5f6b65797318022003280b32322e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c69637956696f" . + "6c6174696f6e4b657922af020a10506f6c696379546f706963456e747279" . + "122b0a05746f70696318012001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c7565125a0a047479706518022001280e32" . + "4c2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e506f6c696379546f706963456e74727954797065456e756d2e506f6c" . + "696379546f706963456e7472795479706512460a0965766964656e636573" . + "18032003280b32332e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e506f6c696379546f70696345766964656e636512" . + "4a0a0b636f6e73747261696e747318042003280b32352e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c696379" . + "546f706963436f6e73747261696e7422c20b0a13506f6c696379546f7069" . + "6345766964656e636512570a0c776562736974655f6c6973741803200128" . + "0b323f2e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e506f6c696379546f70696345766964656e63652e5765627369" . + "74654c697374480012510a09746578745f6c69737418042001280b323c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e506f6c696379546f70696345766964656e63652e546578744c69737448" . + "0012350a0d6c616e67756167655f636f646518052001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565480012680a15" . + "64657374696e6174696f6e5f746578745f6c69737418062001280b32472e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e506f6c696379546f70696345766964656e63652e44657374696e617469" . + "6f6e546578744c697374480012670a1464657374696e6174696f6e5f6d69" . + "736d6174636818072001280b32472e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e506f6c696379546f706963457669" . + "64656e63652e44657374696e6174696f6e4d69736d617463684800126c0a" . + "1764657374696e6174696f6e5f6e6f745f776f726b696e6718082001280b" . + "32492e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e506f6c696379546f70696345766964656e63652e44657374696e" . + "6174696f6e4e6f74576f726b696e6748001a370a08546578744c69737412" . + "2b0a05746578747318012003280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c75651a3d0a0b576562736974654c69737412" . + "2e0a08776562736974657318012003280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c75651a4e0a1344657374696e617469" . + "6f6e546578744c69737412370a1164657374696e6174696f6e5f74657874" . + "7318012003280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c75651aa9010a1344657374696e6174696f6e4d69736d617463" . + "681291010a0975726c5f747970657318012003280e327e2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e506f6c696379" . + "546f70696345766964656e636544657374696e6174696f6e4d69736d6174" . + "636855726c54797065456e756d2e506f6c696379546f7069634576696465" . + "6e636544657374696e6174696f6e4d69736d6174636855726c547970651a" . + "89040a1544657374696e6174696f6e4e6f74576f726b696e6712320a0c65" . + "7870616e6465645f75726c18032001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c75651291010a066465766963651804" . + "2001280e3280012e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e506f6c696379546f70696345766964656e6365446573" . + "74696e6174696f6e4e6f74576f726b696e67446576696365456e756d2e50" . + "6f6c696379546f70696345766964656e636544657374696e6174696f6e4e" . + "6f74576f726b696e67446576696365123c0a166c6173745f636865636b65" . + "645f646174655f74696d6518052001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512a7010a0e646e735f6572726f" . + "725f7479706518012001280e328c012e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e506f6c696379546f706963457669" . + "64656e636544657374696e6174696f6e4e6f74576f726b696e67446e7345" . + "72726f7254797065456e756d2e506f6c696379546f70696345766964656e" . + "636544657374696e6174696f6e4e6f74576f726b696e67446e734572726f" . + "7254797065480012360a0f687474705f6572726f725f636f646518022001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "65480042080a06726561736f6e42070a0576616c75652293060a15506f6c" . + "696379546f706963436f6e73747261696e74126e0a17636f756e7472795f" . + "636f6e73747261696e745f6c69737418012001280b324b2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c6963" . + "79546f706963436f6e73747261696e742e436f756e747279436f6e737472" . + "61696e744c697374480012670a13726573656c6c65725f636f6e73747261" . + "696e7418022001280b32482e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e506f6c696379546f706963436f6e737472" . + "61696e742e526573656c6c6572436f6e73747261696e744800127a0a2363" . + "657274696669636174655f6d697373696e675f696e5f636f756e7472795f" . + "6c69737418032001280b324b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e506f6c696379546f706963436f6e7374" . + "7261696e742e436f756e747279436f6e73747261696e744c697374480012" . + "82010a2b63657274696669636174655f646f6d61696e5f6d69736d617463" . + "685f696e5f636f756e7472795f6c69737418042001280b324b2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c" . + "696379546f706963436f6e73747261696e742e436f756e747279436f6e73" . + "747261696e744c69737448001ab2010a15436f756e747279436f6e737472" . + "61696e744c697374123d0a18746f74616c5f74617267657465645f636f75" . + "6e747269657318012001280b321b2e676f6f676c652e70726f746f627566" . + "2e496e74333256616c7565125a0a09636f756e747269657318022003280b" . + "32472e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e506f6c696379546f706963436f6e73747261696e742e436f756e" . + "747279436f6e73747261696e741a140a12526573656c6c6572436f6e7374" . + "7261696e741a4c0a11436f756e747279436f6e73747261696e7412370a11" . + "636f756e7472795f637269746572696f6e18012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756542070a0576616c" . + "756542e6010a22636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e420b506f6c69637950726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f636f6d6d6f6e3b" . + "636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e436f6d6d6f6eca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php b/metadata/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php new file mode 100644 index 000000000..b1568fc20 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ac5030a3e676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f7265616c5f74696d655f62696464696e675f73657474696e" . + "672e70726f746f121e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e1a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f22440a165265616c54696d6542696464696e675365" . + "7474696e67122a0a066f70745f696e18012001280b321a2e676f6f676c65" . + "2e70726f746f6275662e426f6f6c56616c756542f6010a22636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e421b" . + "5265616c54696d6542696464696e6753657474696e6750726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f636f6d6d" . + "6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e6206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Segments.php b/metadata/Google/Ads/GoogleAds/V2/Common/Segments.php new file mode 100644 index 000000000..1331dc7ff --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Segments.php @@ -0,0 +1,277 @@ +internalAddGeneratedFile(hex2bin( + "0a94360a2d676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f7365676d656e74732e70726f746f121e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e1a33676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f656e756d732f61645f6e6574" . + "776f726b5f747970652e70726f746f1a2e676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f636c69636b5f747970652e7072" . + "6f746f1a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f616374696f6e5f63617465676f72" . + "792e70726f746f1a45676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f636f6e76657273696f6e5f6174747269627574696f" . + "6e5f6576656e745f747970652e70726f746f1a39676f6f676c652f616473" . + "2f676f6f676c656164732f76322f656e756d732f636f6e76657273696f6e" . + "5f6c61675f6275636b65742e70726f746f1a47676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f636f6e76657273696f6e5f" . + "6f725f61646a7573746d656e745f6c61675f6275636b65742e70726f746f" . + "1a2f676f6f676c652f6164732f676f6f676c656164732f76322f656e756d" . + "732f6461795f6f665f7765656b2e70726f746f1a2a676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f6465766963652e7072" . + "6f746f1a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f65787465726e616c5f636f6e76657273696f6e5f736f757263" . + "652e70726f746f1a3d676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f686f74656c5f646174655f73656c656374696f6e5f" . + "747970652e70726f746f1a33676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f656e756d732f686f74656c5f726174655f747970652e7072" . + "6f746f1a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d6f6e74685f6f665f796561722e70726f746f1a34676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f656e756d732f706c6163" . + "65686f6c6465725f747970652e70726f746f1a33676f6f676c652f616473" . + "2f676f6f676c656164732f76322f656e756d732f70726f647563745f6368" . + "616e6e656c2e70726f746f1a3f676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f656e756d732f70726f647563745f6368616e6e656c5f65" . + "78636c757369766974792e70726f746f1a35676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f70726f647563745f636f6e64" . + "6974696f6e2e70726f746f1a43676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f656e756d732f7365617263685f656e67696e655f726573" . + "756c74735f706167655f747970652e70726f746f1a3a676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f7365617263685f74" . + "65726d5f6d617463685f747970652e70726f746f1a28676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f736c6f742e70726f" . + "746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e70" . + "726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f22cf290a085365676d656e747312570a0f61645f6e6574776f72" . + "6b5f7479706518032001280e323e2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e41644e6574776f726b54797065456e" . + "756d2e41644e6574776f726b54797065124a0a0a636c69636b5f74797065" . + "181a2001280e32362e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e436c69636b54797065456e756d2e436c69636b5479" . + "706512370a11636f6e76657273696f6e5f616374696f6e18342001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "780a1a636f6e76657273696f6e5f616374696f6e5f63617465676f727918" . + "352001280e32542e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e436f6e76657273696f6e416374696f6e43617465676f" . + "7279456e756d2e436f6e76657273696f6e416374696f6e43617465676f72" . + "79123c0a16636f6e76657273696f6e5f616374696f6e5f6e616d65183620" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512390a15636f6e76657273696f6e5f61646a7573746d656e74181b" . + "2001280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c" . + "7565128b010a21636f6e76657273696f6e5f6174747269627574696f6e5f" . + "6576656e745f7479706518022001280e32602e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e436f6e76657273696f6e41" . + "74747269627574696f6e4576656e7454797065456e756d2e436f6e766572" . + "73696f6e4174747269627574696f6e4576656e745479706512690a15636f" . + "6e76657273696f6e5f6c61675f6275636b657418322001280e324a2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e436f" . + "6e76657273696f6e4c61674275636b6574456e756d2e436f6e7665727369" . + "6f6e4c61674275636b6574128f010a23636f6e76657273696f6e5f6f725f" . + "61646a7573746d656e745f6c61675f6275636b657418332001280e32622e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "436f6e76657273696f6e4f7241646a7573746d656e744c61674275636b65" . + "74456e756d2e436f6e76657273696f6e4f7241646a7573746d656e744c61" . + "674275636b6574122a0a046461746518042001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565124b0a0b6461795f6f" . + "665f7765656b18052001280e32362e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e4461794f665765656b456e756d2e44" . + "61794f665765656b12400a0664657669636518012001280e32302e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e446576" . + "696365456e756d2e44657669636512780a1a65787465726e616c5f636f6e" . + "76657273696f6e5f736f7572636518372001280e32542e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e45787465726e61" . + "6c436f6e76657273696f6e536f75726365456e756d2e45787465726e616c" . + "436f6e76657273696f6e536f7572636512380a1267656f5f746172676574" . + "5f616972706f727418412001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c756512370a1167656f5f7461726765745f63" . + "616e746f6e184c2001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512350a0f67656f5f7461726765745f63697479" . + "183e2001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756512380a1267656f5f7461726765745f636f756e747279184d" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512370a1167656f5f7461726765745f636f756e74791844200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512390a1367656f5f7461726765745f646973747269637418452001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12360a1067656f5f7461726765745f6d6574726f183f2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c756512470a21" . + "67656f5f7461726765745f6d6f73745f73706563696669635f6c6f636174" . + "696f6e18482001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c7565123c0a1667656f5f7461726765745f706f7374616c" . + "5f636f646518472001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512390a1367656f5f7461726765745f70726f76" . + "696e6365184b2001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512370a1167656f5f7461726765745f726567696f" . + "6e18402001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512360a1067656f5f7461726765745f7374617465184320" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565123e0a19686f74656c5f626f6f6b696e675f77696e646f775f6461" . + "797318062001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c756512340a0f686f74656c5f63656e7465725f696418072001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6512390a13686f74656c5f636865636b5f696e5f6461746518082001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "125a0a1a686f74656c5f636865636b5f696e5f6461795f6f665f7765656b" . + "18092001280e32362e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e4461794f665765656b456e756d2e4461794f665765" . + "656b12300a0a686f74656c5f63697479180a2001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512300a0b686f7465" . + "6c5f636c617373180b2001280b321b2e676f6f676c652e70726f746f6275" . + "662e496e74333256616c756512330a0d686f74656c5f636f756e74727918" . + "0c2001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512730a19686f74656c5f646174655f73656c656374696f6e5f" . + "74797065180d2001280e32502e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e486f74656c4461746553656c656374696f" . + "6e54797065456e756d2e486f74656c4461746553656c656374696f6e5479" . + "706512390a14686f74656c5f6c656e6774685f6f665f73746179180e2001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74333256616c75" . + "6512380a12686f74656c5f726174655f72756c655f696418492001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "570a0f686f74656c5f726174655f74797065184a2001280e323e2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e486f74" . + "656c5261746554797065456e756d2e486f74656c52617465547970651231" . + "0a0b686f74656c5f7374617465180f2001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512290a04686f7572181020" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74333256616c" . + "756512410a1d696e746572616374696f6e5f6f6e5f746869735f65787465" . + "6e73696f6e18312001280b321a2e676f6f676c652e70726f746f6275662e" . + "426f6f6c56616c756512380a076b6579776f7264183d2001280b32272e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "4b6579776f7264122b0a056d6f6e746818112001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512510a0d6d6f6e74" . + "685f6f665f7965617218122001280e323a2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d732e4d6f6e74684f665965617245" . + "6e756d2e4d6f6e74684f665965617212360a10706172746e65725f686f74" . + "656c5f696418132001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c7565125c0a10706c616365686f6c6465725f747970" . + "6518142001280e32422e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e506c616365686f6c64657254797065456e756d2e" . + "506c616365686f6c64657254797065123b0a1570726f647563745f616767" . + "72656761746f725f6964181c2001280b321c2e676f6f676c652e70726f74" . + "6f6275662e55496e74363456616c756512450a1f70726f647563745f6269" . + "6464696e675f63617465676f72795f6c6576656c3118382001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756512450a" . + "1f70726f647563745f62696464696e675f63617465676f72795f6c657665" . + "6c3218392001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512450a1f70726f647563745f62696464696e675f6361" . + "7465676f72795f6c6576656c33183a2001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512450a1f70726f64756374" . + "5f62696464696e675f63617465676f72795f6c6576656c34183b2001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12450a1f70726f647563745f62696464696e675f63617465676f72795f6c" . + "6576656c35183c2001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512330a0d70726f647563745f6272616e64181d" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512590a0f70726f647563745f6368616e6e656c181e2001280e32" . + "402e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e50726f647563744368616e6e656c456e756d2e50726f647563744368" . + "616e6e656c127b0a1b70726f647563745f6368616e6e656c5f6578636c75" . + "736976697479181f2001280e32562e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e50726f647563744368616e6e656c45" . + "78636c75736976697479456e756d2e50726f647563744368616e6e656c45" . + "78636c75736976697479125f0a1170726f647563745f636f6e646974696f" . + "6e18202001280e32442e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e50726f64756374436f6e646974696f6e456e756d" . + "2e50726f64756374436f6e646974696f6e12350a0f70726f647563745f63" . + "6f756e74727918212001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c7565123f0a1970726f647563745f637573746f6d" . + "5f6174747269627574653018222001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565123f0a1970726f647563745f63" . + "7573746f6d5f6174747269627574653118232001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c7565123f0a1970726f64" . + "7563745f637573746f6d5f6174747269627574653218242001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c7565123f0a" . + "1970726f647563745f637573746f6d5f6174747269627574653318252001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565123f0a1970726f647563745f637573746f6d5f617474726962757465" . + "3418262001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512350a0f70726f647563745f6974656d5f696418272001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512360a1070726f647563745f6c616e677561676518282001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651239" . + "0a1370726f647563745f6d65726368616e745f696418292001280b321c2e" . + "676f6f676c652e70726f746f6275662e55496e74363456616c756512360a" . + "1070726f647563745f73746f72655f6964182a2001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512330a0d70726f" . + "647563745f7469746c65182b2001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512350a0f70726f647563745f7479" . + "70655f6c31182c2001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512350a0f70726f647563745f747970655f6c32" . + "182d2001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756512350a0f70726f647563745f747970655f6c33182e200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512350a0f70726f647563745f747970655f6c34182f2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c756512350a0f" . + "70726f647563745f747970655f6c3518302001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565122d0a077175617274" . + "657218152001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c75651283010a1f7365617263685f656e67696e655f726573" . + "756c74735f706167655f7479706518462001280e325a2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e53656172636845" . + "6e67696e65526573756c74735061676554797065456e756d2e5365617263" . + "68456e67696e65526573756c74735061676554797065126a0a1673656172" . + "63685f7465726d5f6d617463685f7479706518162001280e324a2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e536561" . + "7263685465726d4d6174636854797065456e756d2e536561726368546572" . + "6d4d6174636854797065123a0a04736c6f7418172001280e322c2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e536c6f" . + "74456e756d2e536c6f74122d0a077765627061676518422001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c7565122a0a" . + "047765656b18182001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512290a047965617218192001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74333256616c7565227e0a074b65" . + "79776f726412380a1261645f67726f75705f637269746572696f6e180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512390a04696e666f18022001280b322b2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e4b6579776f7264496e" . + "666f42e8010a22636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e420d5365676d656e747350726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f636f6d6d6f" . + "6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Simulation.php b/metadata/Google/Ads/GoogleAds/V2/Common/Simulation.php new file mode 100644 index 000000000..3a3592570 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Simulation.php @@ -0,0 +1,115 @@ +internalAddGeneratedFile(hex2bin( + "0af0140a2f676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f73696d756c6174696f6e2e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1c676f6f67" . + "6c652f6170692f616e6e6f746174696f6e732e70726f746f226c0a1e4269" . + "644d6f64696669657253696d756c6174696f6e506f696e744c697374124a" . + "0a06706f696e747318012003280b323a2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e4269644d6f64696669657253" . + "696d756c6174696f6e506f696e7422620a1943706342696453696d756c61" . + "74696f6e506f696e744c69737412450a06706f696e747318012003280b32" . + "352e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e43706342696453696d756c6174696f6e506f696e7422620a194370" . + "7642696453696d756c6174696f6e506f696e744c69737412450a06706f69" . + "6e747318012003280b32352e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e43707642696453696d756c6174696f6e50" . + "6f696e7422680a1c54617267657443706153696d756c6174696f6e506f69" . + "6e744c69737412480a06706f696e747318012003280b32382e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e54617267" . + "657443706153696d756c6174696f6e506f696e7422d2060a1a4269644d6f" . + "64696669657253696d756c6174696f6e506f696e7412320a0c6269645f6d" . + "6f64696669657218012001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c7565123a0a146269646461626c655f636f6e76" . + "657273696f6e7318022001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c756512400a1a6269646461626c655f636f6e76" . + "657273696f6e735f76616c756518032001280b321c2e676f6f676c652e70" . + "726f746f6275662e446f75626c6556616c7565122b0a06636c69636b7318" . + "042001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c756512300a0b636f73745f6d6963726f7318052001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c756512300a0b696d" . + "7072657373696f6e7318062001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c756512390a14746f705f736c6f745f696d70" . + "72657373696f6e7318072001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c756512410a1b706172656e745f626964646162" . + "6c655f636f6e76657273696f6e7318082001280b321c2e676f6f676c652e" . + "70726f746f6275662e446f75626c6556616c756512470a21706172656e74" . + "5f6269646461626c655f636f6e76657273696f6e735f76616c7565180920" . + "01280b321c2e676f6f676c652e70726f746f6275662e446f75626c655661" . + "6c756512320a0d706172656e745f636c69636b73180a2001280b321b2e67" . + "6f6f676c652e70726f746f6275662e496e74363456616c756512370a1270" . + "6172656e745f636f73745f6d6963726f73180b2001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c756512370a1270617265" . + "6e745f696d7072657373696f6e73180c2001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c756512400a1b706172656e745f" . + "746f705f736c6f745f696d7072657373696f6e73180d2001280b321b2e67" . + "6f6f676c652e70726f746f6275662e496e74363456616c756512420a1d70" . + "6172656e745f72657175697265645f6275646765745f6d6963726f73180e" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c75652296030a1543706342696453696d756c6174696f6e506f696e7412" . + "330a0e6370635f6269645f6d6963726f7318012001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565123a0a1462696464" . + "61626c655f636f6e76657273696f6e7318022001280b321c2e676f6f676c" . + "652e70726f746f6275662e446f75626c6556616c756512400a1a62696464" . + "61626c655f636f6e76657273696f6e735f76616c756518032001280b321c" . + "2e676f6f676c652e70726f746f6275662e446f75626c6556616c7565122b" . + "0a06636c69636b7318042001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c756512300a0b636f73745f6d6963726f731805" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c756512300a0b696d7072657373696f6e7318062001280b321b2e676f6f" . + "676c652e70726f746f6275662e496e74363456616c756512390a14746f70" . + "5f736c6f745f696d7072657373696f6e7318072001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c756522dc010a15437076" . + "42696453696d756c6174696f6e506f696e7412330a0e6370765f6269645f" . + "6d6963726f7318012001280b321b2e676f6f676c652e70726f746f627566" . + "2e496e74363456616c756512300a0b636f73745f6d6963726f7318022001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6512300a0b696d7072657373696f6e7318032001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c7565122a0a057669657773" . + "18042001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c7565229c030a1854617267657443706153696d756c6174696f6e50" . + "6f696e7412360a117461726765745f6370615f6d6963726f731801200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "123a0a146269646461626c655f636f6e76657273696f6e7318022001280b" . + "321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c7565" . + "12400a1a6269646461626c655f636f6e76657273696f6e735f76616c7565" . + "18032001280b321c2e676f6f676c652e70726f746f6275662e446f75626c" . + "6556616c7565122b0a06636c69636b7318042001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c756512300a0b636f73745f" . + "6d6963726f7318052001280b321b2e676f6f676c652e70726f746f627566" . + "2e496e74363456616c756512300a0b696d7072657373696f6e7318062001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6512390a14746f705f736c6f745f696d7072657373696f6e731807200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "42ea010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e420f53696d756c6174696f6e50726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f636f6d6d6f" . + "6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/TagSnippet.php b/metadata/Google/Ads/GoogleAds/V2/Common/TagSnippet.php new file mode 100644 index 000000000..7a5881a39 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/TagSnippet.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0af3050a30676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f7461675f736e69707065742e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a36676f6f" . + "676c652f6164732f676f6f676c656164732f76322f656e756d732f747261" . + "636b696e675f636f64655f747970652e70726f746f1a1e676f6f676c652f" . + "70726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c" . + "652f6170692f616e6e6f746174696f6e732e70726f746f22b3020a0a5461" . + "67536e697070657412520a047479706518012001280e32442e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e547261636b" . + "696e67436f646554797065456e756d2e547261636b696e67436f64655479" . + "706512650a0b706167655f666f726d617418022001280e32502e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e54726163" . + "6b696e67436f646550616765466f726d6174456e756d2e547261636b696e" . + "67436f646550616765466f726d617412350a0f676c6f62616c5f73697465" . + "5f74616718032001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512330a0d6576656e745f736e6970706574180420" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756542ea010a22636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e420f546167536e697070657450726f746f50" . + "015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f636f" . + "6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e416473" . + "2e476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c655c" . + "4164735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php b/metadata/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php new file mode 100644 index 000000000..358974f18 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0aa0050a36676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f746172676574696e675f73657474696e672e70726f746f12" . + "1e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f" . + "6e1a1e676f6f676c652f70726f746f6275662f77726170706572732e7072" . + "6f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e7072" . + "6f746f22620a10546172676574696e6753657474696e67124e0a13746172" . + "6765745f7265737472696374696f6e7318012003280b32312e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e54617267" . + "65745265737472696374696f6e22a8010a11546172676574526573747269" . + "6374696f6e12650a13746172676574696e675f64696d656e73696f6e1801" . + "2001280e32482e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d732e546172676574696e6744696d656e73696f6e456e756d2e" . + "546172676574696e6744696d656e73696f6e122c0a086269645f6f6e6c79" . + "18022001280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56" . + "616c756542f0010a22636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e4215546172676574696e6753657474696e" . + "6750726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e436f6d6d6f6eca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c436f6d6d6f6e" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/TextLabel.php b/metadata/Google/Ads/GoogleAds/V2/Common/TextLabel.php new file mode 100644 index 000000000..6755d3434 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/TextLabel.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0adb030a2f676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f746578745f6c6162656c2e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1c676f6f67" . + "6c652f6170692f616e6e6f746174696f6e732e70726f746f22760a095465" . + "78744c6162656c12360a106261636b67726f756e645f636f6c6f72180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512310a0b6465736372697074696f6e18022001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756542e9010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e420e546578744c6162656c50726f746f50015a44676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f636f6d6d6f6e3b636f6d6d6f" . + "6ea20203474141aa021e476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e436f6d6d6f6eca021e476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c436f6d6d6f6eea0222476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a436f6d6d6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/UrlCollection.php b/metadata/Google/Ads/GoogleAds/V2/Common/UrlCollection.php new file mode 100644 index 000000000..a78ef148e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/UrlCollection.php @@ -0,0 +1,46 @@ +internalAddGeneratedFile(hex2bin( + "0ade040a33676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f75726c5f636f6c6c656374696f6e2e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a1c" . + "676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f22f0" . + "010a0d55726c436f6c6c656374696f6e12370a1175726c5f636f6c6c6563" . + "74696f6e5f696418012001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512300a0a66696e616c5f75726c73180220" . + "03280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512370a1166696e616c5f6d6f62696c655f75726c7318032003280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "123b0a15747261636b696e675f75726c5f74656d706c6174651804200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6542ed010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e421255726c436f6c6c656374696f6e50726f746f" . + "50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e4164" . + "732e476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d6f" . + "6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/UserLists.php b/metadata/Google/Ads/GoogleAds/V2/Common/UserLists.php new file mode 100644 index 000000000..7a2f55937 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/UserLists.php @@ -0,0 +1,177 @@ +internalAddGeneratedFile(hex2bin( + "0aab210a2f676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f757365725f6c697374732e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e1a44676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f656e756d732f75736572" . + "5f6c6973745f636f6d62696e65645f72756c655f6f70657261746f722e70" . + "726f746f1a42676f6f676c652f6164732f676f6f676c656164732f76322f" . + "656e756d732f757365725f6c6973745f63726d5f646174615f736f757263" . + "655f747970652e70726f746f1a45676f6f676c652f6164732f676f6f676c" . + "656164732f76322f656e756d732f757365725f6c6973745f646174655f72" . + "756c655f6974656d5f6f70657261746f722e70726f746f1a43676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f757365725f" . + "6c6973745f6c6f676963616c5f72756c655f6f70657261746f722e70726f" . + "746f1a47676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f757365725f6c6973745f6e756d6265725f72756c655f6974656d" . + "5f6f70657261746f722e70726f746f1a42676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f757365725f6c6973745f707265" . + "706f70756c6174696f6e5f7374617475732e70726f746f1a37676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f757365725f" . + "6c6973745f72756c655f747970652e70726f746f1a47676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f757365725f6c6973" . + "745f737472696e675f72756c655f6974656d5f6f70657261746f722e7072" . + "6f746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f224b0a1353696d696c6172557365724c697374496e666f1234" . + "0a0e736565645f757365725f6c69737418012001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756522a9020a1443726d" . + "4261736564557365724c697374496e666f122c0a066170705f6964180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512710a0f75706c6f61645f6b65795f7479706518022001280e3258" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e437573746f6d65724d6174636855706c6f61644b657954797065456e75" . + "6d2e437573746f6d65724d6174636855706c6f61644b6579547970651270" . + "0a10646174615f736f757263655f7479706518032001280e32562e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e557365" . + "724c69737443726d44617461536f7572636554797065456e756d2e557365" . + "724c69737443726d44617461536f757263655479706522c0010a10557365" . + "724c69737452756c65496e666f12570a0972756c655f7479706518012001" . + "280e32442e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e557365724c69737452756c6554797065456e756d2e55736572" . + "4c69737452756c655479706512530a1072756c655f6974656d5f67726f75" . + "707318022003280b32392e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e2e557365724c69737452756c654974656d4772" . + "6f7570496e666f22650a19557365724c69737452756c654974656d47726f" . + "7570496e666f12480a0a72756c655f6974656d7318012003280b32342e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "557365724c69737452756c654974656d496e666f22d3020a14557365724c" . + "69737452756c654974656d496e666f122a0a046e616d6518012001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "560a106e756d6265725f72756c655f6974656d18022001280b323a2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e55" . + "7365724c6973744e756d62657252756c654974656d496e666f480012560a" . + "10737472696e675f72756c655f6974656d18032001280b323a2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e557365" . + "724c697374537472696e6752756c654974656d496e666f480012520a0e64" . + "6174655f72756c655f6974656d18042001280b32382e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e557365724c6973" . + "744461746552756c654974656d496e666f4800420b0a0972756c655f6974" . + "656d22ec010a18557365724c6973744461746552756c654974656d496e66" . + "6f126e0a086f70657261746f7218012001280e325c2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e557365724c697374" . + "4461746552756c654974656d4f70657261746f72456e756d2e557365724c" . + "6973744461746552756c654974656d4f70657261746f72122b0a0576616c" . + "756518022001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512330a0e6f66667365745f696e5f6461797318032001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6522bd010a1a557365724c6973744e756d62657252756c654974656d496e" . + "666f12720a086f70657261746f7218012001280e32602e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e557365724c6973" . + "744e756d62657252756c654974656d4f70657261746f72456e756d2e5573" . + "65724c6973744e756d62657252756c654974656d4f70657261746f72122b" . + "0a0576616c756518022001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c756522bd010a1a557365724c69737453747269" . + "6e6752756c654974656d496e666f12720a086f70657261746f7218012001" . + "280e32602e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e557365724c697374537472696e6752756c654974656d4f7065" . + "7261746f72456e756d2e557365724c697374537472696e6752756c654974" . + "656d4f70657261746f72122b0a0576616c756518022001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756522a0020a18" . + "436f6d62696e656452756c65557365724c697374496e666f12460a0c6c65" . + "66745f6f706572616e6418012001280b32302e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e557365724c6973745275" . + "6c65496e666f12470a0d72696768745f6f706572616e6418022001280b32" . + "302e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e557365724c69737452756c65496e666f12730a0d72756c655f6f70" . + "657261746f7218032001280e325c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e557365724c697374436f6d62696e65" . + "6452756c654f70657261746f72456e756d2e557365724c697374436f6d62" . + "696e656452756c654f70657261746f7222c0010a1c446174655370656369" . + "66696352756c65557365724c697374496e666f123e0a0472756c65180120" . + "01280b32302e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "636f6d6d6f6e2e557365724c69737452756c65496e666f12300a0a737461" . + "72745f6461746518022001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c7565122e0a08656e645f646174651803200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65225c0a1a45787072657373696f6e52756c65557365724c697374496e66" . + "6f123e0a0472756c6518012001280b32302e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e557365724c69737452756c" . + "65496e666f22cd030a1552756c654261736564557365724c697374496e66" . + "6f12780a14707265706f70756c6174696f6e5f7374617475731801200128" . + "0e325a2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e557365724c697374507265706f70756c6174696f6e5374617475" . + "73456e756d2e557365724c697374507265706f70756c6174696f6e537461" . + "747573125b0a17636f6d62696e65645f72756c655f757365725f6c697374" . + "18022001280b32382e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e436f6d62696e656452756c65557365724c697374" . + "496e666f480012640a1c646174655f73706563696669635f72756c655f75" . + "7365725f6c69737418032001280b323c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e446174655370656369666963" . + "52756c65557365724c697374496e666f4800125f0a196578707265737369" . + "6f6e5f72756c655f757365725f6c69737418042001280b323a2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e457870" . + "72657373696f6e52756c65557365724c697374496e666f480042160a1472" . + "756c655f62617365645f757365725f6c697374225d0a134c6f676963616c" . + "557365724c697374496e666f12460a0572756c657318012003280b32372e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e557365724c6973744c6f676963616c52756c65496e666f22da010a1755" . + "7365724c6973744c6f676963616c52756c65496e666f126c0a086f706572" . + "61746f7218012001280e325a2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e557365724c6973744c6f676963616c5275" . + "6c654f70657261746f72456e756d2e557365724c6973744c6f676963616c" . + "52756c654f70657261746f7212510a0d72756c655f6f706572616e647318" . + "022003280b323a2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e4c6f676963616c557365724c6973744f706572616e" . + "64496e666f224d0a1a4c6f676963616c557365724c6973744f706572616e" . + "64496e666f122f0a09757365725f6c69737418012001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756522580a114261" . + "736963557365724c697374496e666f12430a07616374696f6e7318012003" . + "280b32322e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e557365724c697374416374696f6e496e666f229f010a1255" . + "7365724c697374416374696f6e496e666f12390a11636f6e76657273696f" . + "6e5f616374696f6e18012001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c75654800123a0a1272656d61726b6574696e" . + "675f616374696f6e18022001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565480042120a10757365725f6c6973745f" . + "616374696f6e42e9010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e420e557365724c6973747350726f74" . + "6f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "636f6d6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e41" . + "64732e476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c" . + "655c4164735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d" . + "6f6e620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Common/Value.php b/metadata/Google/Ads/GoogleAds/V2/Common/Value.php new file mode 100644 index 000000000..1505c2c1b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Common/Value.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac6030a2a676f6f676c652f6164732f676f6f676c656164732f76322f63" . + "6f6d6d6f6e2f76616c75652e70726f746f121e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2287010a0556616c756512" . + "170a0d626f6f6c65616e5f76616c7565180120012808480012150a0b696e" . + "7436345f76616c7565180220012803480012150a0b666c6f61745f76616c" . + "7565180320012802480012160a0c646f75626c655f76616c756518042001" . + "2801480012160a0c737472696e675f76616c756518052001280948004207" . + "0a0576616c756542e5010a22636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e420a56616c756550726f746f5001" . + "5a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f636f6d" . + "6d6f6e3b636f6d6d6f6ea20203474141aa021e476f6f676c652e4164732e" . + "476f6f676c654164732e56322e436f6d6d6f6eca021e476f6f676c655c41" . + "64735c476f6f676c654164735c56325c436f6d6d6f6eea0222476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a436f6d6d6f6e62" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AccessReason.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AccessReason.php new file mode 100644 index 000000000..745299aaa --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AccessReason.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acb030a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6163636573735f726561736f6e2e70726f746f121d676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732285010a10" . + "416363657373526561736f6e456e756d22710a0c41636365737352656173" . + "6f6e120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "100112090a054f574e45441002120a0a065348415245441003120c0a084c" . + "4943454e5345441004120e0a0a535542534352494245441005120e0a0a41" . + "4646494c4941544544100642e6010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d734211416363657373526561" . + "736f6e50726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AccessRole.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AccessRole.php new file mode 100644 index 000000000..060336c4a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AccessRole.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa5030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6163636573735f726f6c652e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7322640a0e416363" . + "657373526f6c65456e756d22520a0a416363657373526f6c65120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112090a0541" . + "444d494e1002120c0a085354414e444152441003120d0a09524541445f4f" . + "4e4c59100442e4010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73420f416363657373526f6c6550726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatus.php new file mode 100644 index 000000000..bf34d502b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatus.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a90040a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6163636f756e745f6275646765745f70726f706f73616c5f73" . + "74617475732e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d7322aa010a1f4163636f756e74427564676574" . + "50726f706f73616c537461747573456e756d2286010a1b4163636f756e74" . + "42756467657450726f706f73616c537461747573120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001120b0a0750454e44494e" . + "47100212110a0d415050524f5645445f48454c441003120c0a0841505052" . + "4f5645441004120d0a0943414e43454c4c45441005120c0a0852454a4543" . + "544544100642f5010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d7342204163636f756e744275646765745072" . + "6f706f73616c53746174757350726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalType.php new file mode 100644 index 000000000..fb377fd56 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae9030a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6163636f756e745f6275646765745f70726f706f73616c5f74" . + "7970652e70726f746f121d676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d732287010a1d4163636f756e744275646765745072" . + "6f706f73616c54797065456e756d22660a194163636f756e744275646765" . + "7450726f706f73616c54797065120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e1001120a0a064352454154451002120a0a0655" . + "5044415445100312070a03454e441004120a0a0652454d4f5645100542f3" . + "010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73421e4163636f756e7442756467657450726f706f73616c54" . + "79706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatus.php new file mode 100644 index 000000000..d92bde271 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acc030a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6163636f756e745f6275646765745f7374617475732e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322780a174163636f756e74427564676574537461747573456e756d" . + "225d0a134163636f756e74427564676574537461747573120f0a0b554e53" . + "50454349464945441000120b0a07554e4b4e4f574e1001120b0a0750454e" . + "44494e471002120c0a08415050524f5645441003120d0a0943414e43454c" . + "4c4544100442ed010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d7342184163636f756e744275646765745374" . + "6174757350726f746f50015a42676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f656e756d733b656e756d73a20203474141aa021d476f" . + "6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d" . + "476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea" . + "0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderField.php new file mode 100644 index 000000000..9e3d26a4f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderField.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af6030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f637573746f6d697a65725f706c616365686f6c646572" . + "5f6669656c642e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73228e010a204164437573746f6d697a6572" . + "506c616365686f6c6465724669656c64456e756d226a0a1c416443757374" . + "6f6d697a6572506c616365686f6c6465724669656c64120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e1001120b0a07494e5445" . + "474552100212090a055052494345100312080a04444154451004120a0a06" . + "535452494e47100542f6010a21636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d7342214164437573746f6d697a6572" . + "506c616365686f6c6465724669656c6450726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationMode.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationMode.php new file mode 100644 index 000000000..ea8169af8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationMode.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ace030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f61645f726f746174696f6e5f6d6f6465" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d7322740a19416447726f75704164526f746174696f6e4d6f" . + "6465456e756d22570a15416447726f75704164526f746174696f6e4d6f64" . + "65120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120c0a084f5054494d495a45100212120a0e524f544154455f464f5245" . + "564552100342ef010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73421a416447726f75704164526f74617469" . + "6f6e4d6f646550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatus.php new file mode 100644 index 000000000..ca6257425 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab9030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f61645f7374617475732e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "226c0a13416447726f75704164537461747573456e756d22550a0f416447" . + "726f75704164537461747573120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e1001120b0a07454e41424c45441002120a0a0650" . + "41555345441003120b0a0752454d4f564544100442e9010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d734214" . + "416447726f7570416453746174757350726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatus.php new file mode 100644 index 000000000..146aec77e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatus.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a97040a46676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f637269746572696f6e5f617070726f76" . + "616c5f7374617475732e70726f746f121d676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d7322aa010a22416447726f75704372" . + "69746572696f6e417070726f76616c537461747573456e756d2283010a1e" . + "416447726f7570437269746572696f6e417070726f76616c537461747573" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "120c0a08415050524f5645441002120f0a0b444953415050524f56454410" . + "0312120a0e50454e44494e475f524556494557100412100a0c554e444552" . + "5f524556494557100542f8010a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d734223416447726f757043726974" . + "6572696f6e417070726f76616c53746174757350726f746f50015a42676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f656e756d733b65" . + "6e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatus.php new file mode 100644 index 000000000..fcb45eff4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad5030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f637269746572696f6e5f737461747573" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d73227a0a1a416447726f7570437269746572696f6e537461" . + "747573456e756d225c0a16416447726f7570437269746572696f6e537461" . + "747573120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e1001120b0a07454e41424c45441002120a0a065041555345441003120b" . + "0a0752454d4f564544100442f0010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d73421b416447726f75704372" . + "69746572696f6e53746174757350726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupStatus.php new file mode 100644 index 000000000..9a12b4fbf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab0030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f7374617475732e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d7322680a" . + "11416447726f7570537461747573456e756d22530a0d416447726f757053" . + "7461747573120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e1001120b0a07454e41424c45441002120a0a065041555345441003" . + "120b0a0752454d4f564544100442e7010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d734212416447726f7570" . + "53746174757350726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupType.php new file mode 100644 index 000000000..a3aa31544 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdGroupType.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0ab6050a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f747970652e70726f746f121d676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d7322f1020a0f" . + "416447726f757054797065456e756d22dd020a0b416447726f7570547970" . + "65120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "0112130a0f5345415243485f5354414e44415244100212140a1044495350" . + "4c41595f5354414e44415244100312180a1453484f5050494e475f50524f" . + "445543545f4144531004120d0a09484f54454c5f414453100612160a1253" . + "484f5050494e475f534d4152545f414453100712100a0c564944454f5f42" . + "554d5045521008121d0a19564944454f5f545255455f564945575f494e5f" . + "53545245414d1009121e0a1a564944454f5f545255455f564945575f494e" . + "5f444953504c4159100a12210a1d564944454f5f4e4f4e5f534b49505041" . + "424c455f494e5f53545245414d100b12130a0f564944454f5f4f55545354" . + "5245414d100c12160a125345415243485f44594e414d49435f414453100d" . + "12230a1f53484f5050494e475f434f4d50415249534f4e5f4c495354494e" . + "475f414453100e42e5010a21636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d734210416447726f7570547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdNetworkType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdNetworkType.php new file mode 100644 index 000000000..887fef1a6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdNetworkType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aec030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f6e6574776f726b5f747970652e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d7322a301" . + "0a1141644e6574776f726b54797065456e756d228d010a0d41644e657477" . + "6f726b54797065120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e1001120a0a06534541524348100212130a0f5345415243485f" . + "504152544e4552531003120b0a07434f4e54454e54100412120a0e594f55" . + "545542455f534541524348100512110a0d594f55545542455f5741544348" . + "100612090a054d49584544100742e7010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73421241644e6574776f" . + "726b5479706550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatus.php new file mode 100644 index 000000000..22c30153c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatus.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa2040a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f73657276696e675f6f7074696d697a6174696f6e5f73" . + "74617475732e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d7322bc010a1f416453657276696e674f707469" . + "6d697a6174696f6e537461747573456e756d2298010a1b41645365727669" . + "6e674f7074696d697a6174696f6e537461747573120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001120c0a084f5054494d49" . + "5a45100212170a13434f4e56455253494f4e5f4f5054494d495a45100312" . + "0a0a06524f54415445100412170a13524f544154455f494e444546494e49" . + "54454c591005120f0a0b554e415641494c41424c45100642f5010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "734220416453657276696e674f7074696d697a6174696f6e537461747573" . + "50726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f656e756d733b656e756d73a20203474141aa021d476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdStrength.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdStrength.php new file mode 100644 index 000000000..defa9cbb8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdStrength.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac7030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f737472656e6774682e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732285010a0e4164" . + "537472656e677468456e756d22730a0a4164537472656e677468120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001120b0a07" . + "50454e44494e471002120a0a064e4f5f414453100312080a04504f4f5210" . + "04120b0a0741564552414745100512080a04474f4f441006120d0a094558" . + "43454c4c454e54100742e4010a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d73420f4164537472656e67746850" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdType.php new file mode 100644 index 000000000..b86315e4f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdType.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0a90060a2b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f747970652e70726f746f121d676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d7322d6030a0a416454797065" . + "456e756d22c7030a06416454797065120f0a0b554e535045434946494544" . + "1000120b0a07554e4b4e4f574e1001120b0a07544558545f414410021214" . + "0a10455850414e4445445f544558545f4144100312100a0c43414c4c5f4f" . + "4e4c595f41441006121e0a1a455850414e4445445f44594e414d49435f53" . + "45415243485f41441007120c0a08484f54454c5f4144100812150a115348" . + "4f5050494e475f534d4152545f4144100912170a1353484f5050494e475f" . + "50524f445543545f4144100a120c0a08564944454f5f4144100c120c0a08" . + "474d41494c5f4144100d120c0a08494d4147455f4144100e12180a145245" . + "53504f4e534956455f5345415243485f4144100f12200a1c4c4547414359" . + "5f524553504f4e534956455f444953504c41595f41441010120a0a064150" . + "505f4144101112190a154c45474143595f4150505f494e5354414c4c5f41" . + "44101212190a15524553504f4e534956455f444953504c41595f41441013" . + "12130a0f48544d4c355f55504c4f41445f4144101512140a1044594e414d" . + "49435f48544d4c355f4144101612150a114150505f454e474147454d454e" . + "545f4144101712220a1e53484f5050494e475f434f4d50415249534f4e5f" . + "4c495354494e475f4144101842e0010a21636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d73420b4164547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubType.php new file mode 100644 index 000000000..e51103ec5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubType.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0af7050a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6164766572746973696e675f6368616e6e656c5f7375625f74" . + "7970652e70726f746f121d676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d732295030a1d4164766572746973696e674368616e" . + "6e656c53756254797065456e756d22f3020a194164766572746973696e67" . + "4368616e6e656c53756254797065120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e100112150a115345415243485f4d4f42494c" . + "455f415050100212160a12444953504c41595f4d4f42494c455f41505010" . + "0312120a0e5345415243485f45585052455353100412130a0f444953504c" . + "41595f45585052455353100512160a1253484f5050494e475f534d415254" . + "5f414453100612140a10444953504c41595f474d41494c5f41441007121a" . + "0a16444953504c41595f534d4152545f43414d504149474e100812130a0f" . + "564944454f5f4f555453545245414d100912100a0c564944454f5f414354" . + "494f4e100a12170a13564944454f5f4e4f4e5f534b49505041424c45100b" . + "12100a0c4150505f43414d504149474e100c121f0a1b4150505f43414d50" . + "4149474e5f464f525f454e474147454d454e54100d12230a1f53484f5050" . + "494e475f434f4d50415249534f4e5f4c495354494e475f414453100f42f3" . + "010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73421e4164766572746973696e674368616e6e656c53756254" . + "79706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelType.php new file mode 100644 index 000000000..5ec9dc219 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a80040a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6164766572746973696e675f6368616e6e656c5f747970652e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322a5010a1a4164766572746973696e674368616e6e656c54" . + "797065456e756d2286010a164164766572746973696e674368616e6e656c" . + "54797065120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e1001120a0a065345415243481002120b0a07444953504c4159100312" . + "0c0a0853484f5050494e47100412090a05484f54454c100512090a055649" . + "44454f100612110a0d4d554c54495f4348414e4e454c100742f0010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d73421b4164766572746973696e674368616e6e656c5479706550726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipType.php new file mode 100644 index 000000000..b4ed0e8d7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a83040a4d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f616666696c696174655f6c6f636174696f6e5f666565645f72" . + "656c6174696f6e736869705f747970652e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732288010a294166" . + "66696c696174654c6f636174696f6e4665656452656c6174696f6e736869" . + "7054797065456e756d225b0a25416666696c696174654c6f636174696f6e" . + "4665656452656c6174696f6e7368697054797065120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e100112140a1047454e455241" . + "4c5f52455441494c4552100242ff010a21636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d73422a416666696c696174" . + "654c6f636174696f6e4665656452656c6174696f6e736869705479706550" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderField.php new file mode 100644 index 000000000..7173a5d1f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderField.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0a96050a48676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f616666696c696174655f6c6f636174696f6e5f706c61636568" . + "6f6c6465725f6669656c642e70726f746f121d676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d7322a4020a25416666696c6961" . + "74654c6f636174696f6e506c616365686f6c6465724669656c64456e756d" . + "22fa010a21416666696c696174654c6f636174696f6e506c616365686f6c" . + "6465724669656c64120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e100112110a0d425553494e4553535f4e414d45100212120a" . + "0e414444524553535f4c494e455f31100312120a0e414444524553535f4c" . + "494e455f32100412080a04434954591005120c0a0850524f56494e434510" . + "06120f0a0b504f5354414c5f434f4445100712100a0c434f554e5452595f" . + "434f4445100812100a0c50484f4e455f4e554d424552100912110a0d4c41" . + "4e47554147455f434f4445100a120c0a08434841494e5f4944100b120e0a" . + "0a434841494e5f4e414d45100c42fb010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d734226416666696c6961" . + "74654c6f636174696f6e506c616365686f6c6465724669656c6450726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AgeRangeType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AgeRangeType.php new file mode 100644 index 000000000..17b649032 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AgeRangeType.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0ab0040a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6167655f72616e67655f747970652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322e9010a" . + "1041676552616e676554797065456e756d22d4010a0c41676552616e6765" . + "54797065120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e100112150a0f4147455f52414e47455f31385f323410d9d91e12150a" . + "0f4147455f52414e47455f32355f333410dad91e12150a0f4147455f5241" . + "4e47455f33355f343410dbd91e12150a0f4147455f52414e47455f34355f" . + "353410dcd91e12150a0f4147455f52414e47455f35355f363410ddd91e12" . + "150a0f4147455f52414e47455f36355f555010ded91e121c0a164147455f" . + "52414e47455f554e44455445524d494e454410bfe11e42e6010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "421141676552616e67655479706550726f746f50015a42676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f656e756d733b656e756d73a2" . + "0203474141aa021d476f6f676c652e4164732e476f6f676c654164732e56" . + "322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStore.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStore.php new file mode 100644 index 000000000..66f9b3c83 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStore.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ace030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6170705f63616d706169676e5f6170705f73746f72652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7322790a1741707043616d706169676e41707053746f7265456e75" . + "6d225e0a1341707043616d706169676e41707053746f7265120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e100112130a0f4150" . + "504c455f4150505f53544f5245100212140a10474f4f474c455f4150505f" . + "53544f5245100342ed010a21636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d73421841707043616d706169676e4170" . + "7053746f726550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalType.php new file mode 100644 index 000000000..485f1b095 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalType.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0aa5050a4b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6170705f63616d706169676e5f62696464696e675f73747261" . + "746567795f676f616c5f747970652e70726f746f121d676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d7322af020a2641707043" . + "616d706169676e42696464696e675374726174656779476f616c54797065" . + "456e756d2284020a2241707043616d706169676e42696464696e67537472" . + "6174656779476f616c54797065120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112290a254f5054494d495a455f494e5354" . + "414c4c535f5441524745545f494e5354414c4c5f434f5354100212330a2f" . + "4f5054494d495a455f494e5f4150505f434f4e56455253494f4e535f5441" . + "524745545f494e5354414c4c5f434f5354100312360a324f5054494d495a" . + "455f494e5f4150505f434f4e56455253494f4e535f5441524745545f434f" . + "4e56455253494f4e5f434f5354100412280a244f5054494d495a455f5245" . + "5455524e5f4f4e5f4144564552544953494e475f5350454e44100542fc01" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73422741707043616d706169676e42696464696e675374726174" . + "656779476f616c5479706550726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelType.php new file mode 100644 index 000000000..3ab1c7092 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aad030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6170705f7061796d656e745f6d6f64656c5f747970652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7322580a174170705061796d656e744d6f64656c54797065456e75" . + "6d223d0a134170705061796d656e744d6f64656c54797065120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e100112080a045041" . + "4944101e42ed010a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d7342184170705061796d656e744d6f64656c54" . + "79706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderField.php new file mode 100644 index 000000000..37532376c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderField.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a9e040a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6170705f706c616365686f6c6465725f6669656c642e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322c9010a17417070506c616365686f6c6465724669656c64456e75" . + "6d22ad010a13417070506c616365686f6c6465724669656c64120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112090a0553" . + "544f5245100212060a0249441003120d0a094c494e4b5f54455854100412" . + "070a0355524c1005120e0a0a46494e414c5f55524c53100612150a114649" . + "4e414c5f4d4f42494c455f55524c53100712100a0c545241434b494e475f" . + "55524c100812140a1046494e414c5f55524c5f535546464958100942ed01" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d734218417070506c616365686f6c6465724669656c6450726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AppStore.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AppStore.php new file mode 100644 index 000000000..bcd3c1e26 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AppStore.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a98030a2d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6170705f73746f72652e70726f746f121d676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73225b0a0c4170705374" . + "6f7265456e756d224b0a0841707053746f7265120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112100a0c4150504c455f49" . + "54554e45531002120f0a0b474f4f474c455f504c4159100342e2010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d73420d41707053746f726550726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemType.php new file mode 100644 index 000000000..57dcabda7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad2030a41676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6170705f75726c5f6f7065726174696e675f73797374656d5f" . + "747970652e70726f746f121d676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d7322700a1d41707055726c4f7065726174696e67" . + "53797374656d54797065456e756d224f0a1941707055726c4f7065726174" . + "696e6753797374656d54797065120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112070a03494f531002120b0a07414e4452" . + "4f4944100342f3010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73421e41707055726c4f7065726174696e67" . + "53797374656d5479706550726f746f50015a42676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f656e756d733b656e756d73a202034741" . + "41aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e" . + "756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c" . + "456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AssetFieldType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AssetFieldType.php new file mode 100644 index 000000000..c2e19ca72 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AssetFieldType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a80040a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61737365745f6669656c645f747970652e70726f746f121d67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d7322b5" . + "010a1241737365744669656c6454797065456e756d229e010a0e41737365" . + "744669656c6454797065120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e1001120c0a08484541444c494e451002120f0a0b4445" . + "534352495054494f4e100312150a114d414e4441544f52595f41445f5445" . + "5854100412130a0f4d41524b4554494e475f494d414745100512100a0c4d" . + "454449415f42554e444c45100612110a0d594f55545542455f564944454f" . + "100742e8010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421341737365744669656c645479706550726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabel.php new file mode 100644 index 000000000..09583b9e5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabel.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae3030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61737365745f706572666f726d616e63655f6c6162656c2e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73228a010a194173736574506572666f726d616e63654c616265" . + "6c456e756d226d0a154173736574506572666f726d616e63654c6162656c" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "120b0a0750454e44494e471002120c0a084c4541524e494e47100312070a" . + "034c4f57100412080a04474f4f44100512080a0442455354100642ef010a" . + "21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73421a4173736574506572666f726d616e63654c6162656c50726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AssetType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AssetType.php new file mode 100644 index 000000000..d6accca39 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AssetType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab3030a2e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61737365745f747970652e70726f746f121d676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d7322740a0d41737365" . + "7454797065456e756d22630a09417373657454797065120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e100112110a0d594f5554" . + "5542455f564944454f100212100a0c4d454449415f42554e444c45100312" . + "090a05494d414745100412080a0454455854100542e3010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d73420e" . + "41737365745479706550726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/AttributionModel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/AttributionModel.php new file mode 100644 index 000000000..048d822f7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/AttributionModel.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0a94050a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6174747269627574696f6e5f6d6f64656c2e70726f746f121d" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7322" . + "c6020a144174747269627574696f6e4d6f64656c456e756d22ad020a1041" . + "74747269627574696f6e4d6f64656c120f0a0b554e535045434946494544" . + "1000120b0a07554e4b4e4f574e1001120c0a0845585445524e414c106412" . + "190a15474f4f474c455f4144535f4c4153545f434c49434b106512290a25" . + "474f4f474c455f5345415243485f4154545249425554494f4e5f46495253" . + "545f434c49434b106612240a20474f4f474c455f5345415243485f415454" . + "5249425554494f4e5f4c494e454152106712280a24474f4f474c455f5345" . + "415243485f4154545249425554494f4e5f54494d455f4445434159106812" . + "2c0a28474f4f474c455f5345415243485f4154545249425554494f4e5f50" . + "4f534954494f4e5f4241534544106912290a25474f4f474c455f53454152" . + "43485f4154545249425554494f4e5f444154415f44524956454e106a42ea" . + "010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7342154174747269627574696f6e4d6f64656c50726f746f50" . + "015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f656e" . + "756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e456e756d73ca021d476f6f676c655c416473" . + "5c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BidModifierSource.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BidModifierSource.php new file mode 100644 index 000000000..f04e41a95 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BidModifierSource.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab6030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6269645f6d6f6469666965725f736f757263652e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7322660a154269644d6f646966696572536f75726365456e756d224d0a11" . + "4269644d6f646966696572536f75726365120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001120c0a0843414d504149474e10" . + "02120c0a0841445f47524f5550100342eb010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7342164269644d6f" . + "646966696572536f7572636550726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingSource.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingSource.php new file mode 100644 index 000000000..dfa126b62 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingSource.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acf030a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f62696464696e675f736f757263652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732287010a" . + "1142696464696e67536f75726365456e756d22720a0d42696464696e6753" . + "6f75726365120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e1001121d0a1943414d504149474e5f42494444494e475f53545241" . + "544547591005120c0a0841445f47524f5550100612160a1241445f47524f" . + "55505f435249544552494f4e100742e7010a21636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d73421242696464696e" . + "67536f7572636550726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatus.php new file mode 100644 index 000000000..e5f8fcf8c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac4030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f62696464696e675f73747261746567795f7374617475732e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73226c0a1942696464696e675374726174656779537461747573" . + "456e756d224f0a1542696464696e67537472617465677953746174757312" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "0b0a07454e41424c45441002120b0a0752454d4f564544100442ef010a21" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d73421a42696464696e67537472617465677953746174757350726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyType.php new file mode 100644 index 000000000..fe04fd5b1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyType.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ad1050a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f62696464696e675f73747261746567795f747970652e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322fc020a1742696464696e67537472617465677954797065456e75" . + "6d22e0020a1342696464696e67537472617465677954797065120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001120e0a0a43" . + "4f4d4d495353494f4e101012100a0c454e48414e4345445f435043100212" . + "0e0a0a4d414e55414c5f4350431003120e0a0a4d414e55414c5f43504d10" . + "04120e0a0a4d414e55414c5f435056100d12180a144d4158494d495a455f" . + "434f4e56455253494f4e53100a121d0a194d4158494d495a455f434f4e56" . + "455253494f4e5f56414c5545100b12150a11504147455f4f4e455f50524f" . + "4d4f5445441005120f0a0b50455243454e545f435043100c120e0a0a5441" . + "524745545f4350411006120e0a0a5441524745545f43504d100e121b0a17" . + "5441524745545f494d5052455353494f4e5f5348415245100f12180a1454" . + "41524745545f4f555452414e4b5f53484152451007120f0a0b5441524745" . + "545f524f4153100812100a0c5441524745545f5350454e44100942ed010a" . + "21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73421842696464696e6753747261746567795479706550726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatus.php new file mode 100644 index 000000000..dd0d0e23d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0adc030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f62696c6c696e675f73657475705f7374617475732e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732289010a1642696c6c696e675365747570537461747573456e756d22" . + "6f0a1242696c6c696e675365747570537461747573120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001120b0a0750454e4449" . + "4e47100212110a0d415050524f5645445f48454c441003120c0a08415050" . + "524f5645441004120d0a0943414e43454c4c4544100542ec010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "421742696c6c696e67536574757053746174757350726f746f50015a4267" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f656e756d733b" . + "656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c" . + "654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f" . + "676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitability.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitability.php new file mode 100644 index 000000000..59bffbfa6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitability.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af6030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6272616e645f7361666574795f737569746162696c6974792e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73229b010a1a4272616e64536166657479537569746162696c" . + "697479456e756d227d0a164272616e64536166657479537569746162696c" . + "697479120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112160a12455850414e4445445f494e56454e544f5259100212160a" . + "125354414e444152445f494e56454e544f5259100312150a114c494d4954" . + "45445f494e56454e544f5259100442f0010a21636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d73421b4272616e6453" . + "6166657479537569746162696c69747950726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethod.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethod.php new file mode 100644 index 000000000..6a3dc16a1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethod.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac5030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6275646765745f64656c69766572795f6d6574686f642e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73226f0a1842756467657444656c69766572794d6574686f64456e" . + "756d22530a1442756467657444656c69766572794d6574686f64120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001120c0a08" . + "5354414e444152441002120f0a0b414343454c455241544544100342ee01" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73421942756467657444656c69766572794d6574686f6450726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetPeriod.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetPeriod.php new file mode 100644 index 000000000..a0f81ba9f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetPeriod.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aad030a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6275646765745f706572696f642e70726f746f121d676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d7322680a1042" . + "7564676574506572696f64456e756d22540a0c427564676574506572696f" . + "64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "0112090a054441494c591002120a0a06435553544f4d1003120f0a0b4649" . + "5845445f4441494c59100442e6010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d734211427564676574506572" . + "696f6450726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetStatus.php new file mode 100644 index 000000000..830d1ea4d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetStatus.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a9f030a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6275646765745f7374617475732e70726f746f121d676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d73225a0a1042" . + "7564676574537461747573456e756d22460a0c4275646765745374617475" . + "73120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120b0a07454e41424c45441002120b0a0752454d4f564544100342e601" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73421142756467657453746174757350726f746f50015a42676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f656e756d733b65" . + "6e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetType.php new file mode 100644 index 000000000..3b903b184 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/BudgetType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab4030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6275646765745f747970652e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7322730a0e427564" . + "67657454797065456e756d22610a0a42756467657454797065120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001120c0a0853" . + "54414e44415244100212180a14484f54454c5f4144535f434f4d4d495353" . + "494f4e1003120d0a0946495845445f435041100442e4010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d73420f" . + "4275646765745479706550726f746f50015a42676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f656e756d733b656e756d73a202034741" . + "41aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e" . + "756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c" . + "456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingState.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingState.php new file mode 100644 index 000000000..9e2724060 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingState.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0ab4040a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616c6c5f636f6e76657273696f6e5f7265706f7274696e67" . + "5f73746174652e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d7322cc010a2043616c6c436f6e7665727369" . + "6f6e5265706f7274696e675374617465456e756d22a7010a1c43616c6c43" . + "6f6e76657273696f6e5265706f7274696e675374617465120f0a0b554e53" . + "50454349464945441000120b0a07554e4b4e4f574e1001120c0a08444953" . + "41424c45441002122c0a285553455f4143434f554e545f4c4556454c5f43" . + "414c4c5f434f4e56455253494f4e5f414354494f4e1003122d0a29555345" . + "5f5245534f555243455f4c4556454c5f43414c4c5f434f4e56455253494f" . + "4e5f414354494f4e100442f6010a21636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d73422143616c6c436f6e766572" . + "73696f6e5265706f7274696e67537461746550726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderField.php new file mode 100644 index 000000000..0fdece61a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderField.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a91040a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616c6c5f706c616365686f6c6465725f6669656c642e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7322ba010a1843616c6c506c616365686f6c6465724669656c6445" . + "6e756d229d010a1443616c6c506c616365686f6c6465724669656c64120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10011210" . + "0a0c50484f4e455f4e554d424552100212100a0c434f554e5452595f434f" . + "44451003120b0a07545241434b4544100412160a12434f4e56455253494f" . + "4e5f545950455f49441005121e0a1a434f4e56455253494f4e5f5245504f" . + "5254494e475f5354415445100642ee010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73421943616c6c506c61" . + "6365686f6c6465724669656c6450726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderField.php new file mode 100644 index 000000000..884e57a41 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderField.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac4030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616c6c6f75745f706c616365686f6c6465725f6669656c64" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d7322680a1b43616c6c6f7574506c616365686f6c64657246" . + "69656c64456e756d22490a1743616c6c6f7574506c616365686f6c646572" . + "4669656c64120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112100a0c43414c4c4f55545f54455854100242f1010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "73421c43616c6c6f7574506c616365686f6c6465724669656c6450726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatus.php new file mode 100644 index 000000000..57652394c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad8030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f637269746572696f6e5f737461747573" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d73227c0a1b43616d706169676e437269746572696f6e5374" . + "61747573456e756d225d0a1743616d706169676e437269746572696f6e53" . + "7461747573120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e1001120b0a07454e41424c45441002120a0a065041555345441003" . + "120b0a0752454d4f564544100442f1010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73421c43616d70616967" . + "6e437269746572696f6e53746174757350726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatus.php new file mode 100644 index 000000000..05197def0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aef030a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f64726166745f7374617475732e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d73229a010a1743616d706169676e4472616674537461747573456e75" . + "6d227f0a1343616d706169676e4472616674537461747573120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e1001120c0a085052" . + "4f504f5345441002120b0a0752454d4f5645441003120d0a0950524f4d4f" . + "54494e471005120c0a0850524f4d4f544544100412120a0e50524f4d4f54" . + "455f4641494c4544100642ed010a21636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d73421843616d706169676e4472" . + "61667453746174757350726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatus.php new file mode 100644 index 000000000..5bddb454f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatus.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ad5040a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f6578706572696d656e745f7374617475" . + "732e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322f6010a1c43616d706169676e4578706572696d656e" . + "74537461747573456e756d22d5010a1843616d706169676e457870657269" . + "6d656e74537461747573120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e100112100a0c494e495449414c495a494e4710021219" . + "0a15494e495449414c495a4154494f4e5f4641494c45441008120b0a0745" . + "4e41424c45441003120d0a094752414455415445441004120b0a0752454d" . + "4f5645441005120d0a0950524f4d4f54494e47100612140a1050524f4d4f" . + "54494f4e5f4641494c45441009120c0a0850524f4d4f544544100712120a" . + "0e454e4445445f4d414e55414c4c59100a42f2010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d73421d43616d" . + "706169676e4578706572696d656e7453746174757350726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitType.php new file mode 100644 index 000000000..f2a8b5888 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0aff030a4a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f6578706572696d656e745f7472616666" . + "69635f73706c69745f747970652e70726f746f121d676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d73228a010a2643616d7061" . + "69676e4578706572696d656e745472616666696353706c69745479706545" . + "6e756d22600a2243616d706169676e4578706572696d656e745472616666" . + "696353706c697454797065120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e100112100a0c52414e444f4d5f5155455259100212" . + "0a0a06434f4f4b4945100342fc010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d73422743616d706169676e45" . + "78706572696d656e745472616666696353706c69745479706550726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentType.php new file mode 100644 index 000000000..9271a541f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad3030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f6578706572696d656e745f747970652e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322790a1a43616d706169676e4578706572696d656e745479" . + "7065456e756d225b0a1643616d706169676e4578706572696d656e745479" . + "7065120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "100112080a0442415345100212090a0544524146541003120e0a0a455850" . + "4552494d454e54100442f0010a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d73421b43616d706169676e457870" . + "6572696d656e745479706550726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatus.php new file mode 100644 index 000000000..ded00107c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae9030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f73657276696e675f7374617475732e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732290010a1943616d706169676e53657276696e675374617475" . + "73456e756d22730a1543616d706169676e53657276696e67537461747573" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "120b0a0753455256494e47100212080a044e4f4e45100312090a05454e44" . + "45441004120b0a0750454e44494e471005120d0a0953555350454e444544" . + "100642ef010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421a43616d706169676e53657276696e67537461" . + "74757350726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatus.php new file mode 100644 index 000000000..b3079facb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acd030a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f7368617265645f7365745f7374617475" . + "732e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322700a1b43616d706169676e53686172656453657453" . + "7461747573456e756d22510a1743616d706169676e536861726564536574" . + "537461747573120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001120b0a07454e41424c45441002120b0a0752454d4f564544" . + "100342f1010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421c43616d706169676e53686172656453657453" . + "746174757350726f746f50015a42676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f656e756d733b656e756d73a20203474141aa021d47" . + "6f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca02" . + "1d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73" . + "ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignStatus.php new file mode 100644 index 000000000..5de9eaafa --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CampaignStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab3030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f63616d706169676e5f7374617475732e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73226a0a" . + "1243616d706169676e537461747573456e756d22540a0e43616d70616967" . + "6e537461747573120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e1001120b0a07454e41424c45441002120a0a06504155534544" . + "1003120b0a0752454d4f564544100442e8010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d73421343616d7061" . + "69676e53746174757350726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperation.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperation.php new file mode 100644 index 000000000..3655b600f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperation.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acf030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6368616e67655f7374617475735f6f7065726174696f6e2e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7322770a194368616e67655374617475734f7065726174696f6e" . + "456e756d225a0a154368616e67655374617475734f7065726174696f6e12" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "090a0541444445441002120b0a074348414e4745441003120b0a0752454d" . + "4f564544100442ef010a21636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d73421a4368616e67655374617475734f70" . + "65726174696f6e50726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceType.php new file mode 100644 index 000000000..fae2861fd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceType.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0af0040a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6368616e67655f7374617475735f7265736f757263655f7479" . + "70652e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732290020a1c4368616e67655374617475735265736f" . + "7572636554797065456e756d22ef010a184368616e676553746174757352" . + "65736f7572636554797065120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001120c0a0841445f47524f55501003120f0a0b41" . + "445f47524f55505f4144100412160a1241445f47524f55505f4352495445" . + "52494f4e1005120c0a0843414d504149474e100612160a1243414d504149" . + "474e5f435249544552494f4e100712080a04464545441009120d0a094645" . + "45445f4954454d100a12110a0d41445f47524f55505f46454544100b1211" . + "0a0d43414d504149474e5f46454544100c12190a1541445f47524f55505f" . + "4249445f4d4f444946494552100d42f2010a21636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d73421d4368616e6765" . + "5374617475735265736f757263655479706550726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ClickType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ClickType.php new file mode 100644 index 000000000..42f6a0caf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ClickType.php @@ -0,0 +1,88 @@ +internalAddGeneratedFile(hex2bin( + "0ae60e0a2e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636c69636b5f747970652e70726f746f121d676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d7322a60c0a0d436c69" . + "636b54797065456e756d22940c0a09436c69636b54797065120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e100112100a0c4150" . + "505f444545504c494e4b1002120f0a0b42524541444352554d4253100312" . + "120a0e42524f414442414e445f504c414e100412110a0d43414c4c5f5452" . + "41434b494e47100512090a0543414c4c531006121a0a16434c49434b5f4f" . + "4e5f454e474147454d454e545f4144100712120a0e4745545f4449524543" . + "54494f4e53100812160a124c4f434154494f4e5f455850414e53494f4e10" . + "0912180a144c4f434154494f4e5f464f524d41545f43414c4c100a121e0a" . + "1a4c4f434154494f4e5f464f524d41545f444952454354494f4e53100b12" . + "190a154c4f434154494f4e5f464f524d41545f494d414745100c12200a1c" . + "4c4f434154494f4e5f464f524d41545f4c414e44494e475f50414745100d" . + "12170a134c4f434154494f4e5f464f524d41545f4d4150100e121e0a1a4c" . + "4f434154494f4e5f464f524d41545f53544f52455f494e464f100f12180a" . + "144c4f434154494f4e5f464f524d41545f54455854101012180a144d4f42" . + "494c455f43414c4c5f545241434b494e47101112100a0c4f464645525f50" . + "52494e5453101212090a054f544845521013121c0a1850524f445543545f" . + "455854454e53494f4e5f434c49434b531014121d0a1950524f445543545f" . + "4c495354494e475f41445f434c49434b531015120d0a09534954454c494e" . + "4b53101612110a0d53544f52455f4c4f4341544f521017120e0a0a55524c" . + "5f434c49434b531019121a0a16564944454f5f4150505f53544f52455f43" . + "4c49434b53101a121f0a1b564944454f5f43414c4c5f544f5f414354494f" . + "4e5f434c49434b53101b12250a21564944454f5f434152445f414354494f" . + "4e5f484541444c494e455f434c49434b53101c12180a14564944454f5f45" . + "4e445f4341505f434c49434b53101d12180a14564944454f5f5745425349" . + "54455f434c49434b53101e12140a1056495355414c5f534954454c494e4b" . + "53101f12110a0d574952454c4553535f504c414e1020121c0a1850524f44" . + "5543545f4c495354494e475f41445f4c4f43414c102112290a2550524f44" . + "5543545f4c495354494e475f41445f4d554c54494348414e4e454c5f4c4f" . + "43414c1022122a0a2650524f445543545f4c495354494e475f41445f4d55" . + "4c54494348414e4e454c5f4f4e4c494e451023121e0a1a50524f44554354" . + "5f4c495354494e475f4144535f434f55504f4e102412230a1f50524f4455" . + "43545f4c495354494e475f41445f5452414e5341435441424c451025121b" . + "0a1750524f445543545f41445f4150505f444545504c494e4b1026121d0a" . + "1953484f57434153455f41445f43415445474f52595f4c494e4b10271225" . + "0a2153484f57434153455f41445f4c4f43414c5f53544f524546524f4e54" . + "5f4c494e4b102812230a1f53484f57434153455f41445f4f4e4c494e455f" . + "50524f445543545f4c494e4b102a12220a1e53484f57434153455f41445f" . + "4c4f43414c5f50524f445543545f4c494e4b102b12170a1350524f4d4f54" . + "494f4e5f455854454e53494f4e102c12210a1d535749504541424c455f47" . + "414c4c4552595f41445f484541444c494e45102d121f0a1b535749504541" . + "424c455f47414c4c4552595f41445f535749504553102e12210a1d535749" . + "504541424c455f47414c4c4552595f41445f5345455f4d4f5245102f1225" . + "0a21535749504541424c455f47414c4c4552595f41445f534954454c494e" . + "4b5f4f4e45103012250a21535749504541424c455f47414c4c4552595f41" . + "445f534954454c494e4b5f54574f103112270a23535749504541424c455f" . + "47414c4c4552595f41445f534954454c494e4b5f5448524545103212260a" . + "22535749504541424c455f47414c4c4552595f41445f534954454c494e4b" . + "5f464f5552103312260a22535749504541424c455f47414c4c4552595f41" . + "445f534954454c494e4b5f464956451034120f0a0b484f54454c5f505249" . + "4345103512130a0f50524943455f455854454e53494f4e103612270a2348" . + "4f54454c5f424f4f4b5f4f4e5f474f4f474c455f524f4f4d5f53454c4543" . + "54494f4e1037121f0a1b53484f5050494e475f434f4d50415249534f4e5f" . + "4c495354494e47103842e3010a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d73420e436c69636b547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ContentLabelType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ContentLabelType.php new file mode 100644 index 000000000..2f167f7fc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ContentLabelType.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0acf050a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e74656e745f6c6162656c5f747970652e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2280030a14436f6e74656e744c6162656c54797065456e756d22e7020a10" . + "436f6e74656e744c6162656c54797065120f0a0b554e5350454349464945" . + "441000120b0a07554e4b4e4f574e100112170a1353455855414c4c595f53" . + "554747455354495645100212120a0e42454c4f575f5448455f464f4c4410" . + "0312110a0d5041524b45445f444f4d41494e100412080a0447414d451005" . + "120c0a084a5556454e494c451006120d0a0950524f46414e495459100712" . + "0b0a0754524147454459100812090a05564944454f100912150a11564944" . + "454f5f524154494e475f44565f47100a12160a12564944454f5f52415449" . + "4e475f44565f5047100b12150a11564944454f5f524154494e475f44565f" . + "54100c12160a12564944454f5f524154494e475f44565f4d41100d12170a" . + "13564944454f5f4e4f545f5945545f5241544544100e12120a0e454d4245" . + "444445445f564944454f100f12180a144c4956455f53545245414d494e47" . + "5f564944454f101012110a0d534f4349414c5f495353554553101142ea01" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d734215436f6e74656e744c6162656c5479706550726f746f5001" . + "5a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f656e75" . + "6d733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f" . + "6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c" . + "476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategory.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategory.php new file mode 100644 index 000000000..2803707d1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategory.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a86040a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f616374696f6e5f63617465676f72" . + "792e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322a7010a1c436f6e76657273696f6e416374696f6e43" . + "617465676f7279456e756d2286010a18436f6e76657273696f6e41637469" . + "6f6e43617465676f7279120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e1001120b0a0744454641554c541002120d0a09504147" . + "455f564945571003120c0a0850555243484153451004120a0a065349474e" . + "5550100512080a044c4541441006120c0a08444f574e4c4f4144100742f2" . + "010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73421d436f6e76657273696f6e416374696f6e43617465676f" . + "727950726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingType.php new file mode 100644 index 000000000..31a6cfc9b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aef030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f616374696f6e5f636f756e74696e" . + "675f747970652e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732287010a20436f6e76657273696f6e4163" . + "74696f6e436f756e74696e6754797065456e756d22630a1c436f6e766572" . + "73696f6e416374696f6e436f756e74696e6754797065120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e100112110a0d4f4e455f" . + "5045525f434c49434b100212120a0e4d414e595f5045525f434c49434b10" . + "0342f6010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d734221436f6e76657273696f6e416374696f6e436f75" . + "6e74696e675479706550726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatus.php new file mode 100644 index 000000000..450724215 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad4030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f616374696f6e5f7374617475732e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73227a0a1a436f6e76657273696f6e416374696f6e53746174" . + "7573456e756d225c0a16436f6e76657273696f6e416374696f6e53746174" . + "7573120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "1001120b0a07454e41424c45441002120b0a0752454d4f5645441003120a" . + "0a0648494444454e100442f0010a21636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d73421b436f6e76657273696f6e" . + "416374696f6e53746174757350726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionType.php new file mode 100644 index 000000000..e94ff4f5e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionActionType.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ac7040a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f616374696f6e5f747970652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7322f0010a18436f6e76657273696f6e416374696f6e5479706545" . + "6e756d22d3010a14436f6e76657273696f6e416374696f6e54797065120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120b" . + "0a0741445f43414c4c100212110a0d434c49434b5f544f5f43414c4c1003" . + "12180a14474f4f474c455f504c41595f444f574e4c4f41441004121f0a1b" . + "474f4f474c455f504c41595f494e5f4150505f5055524348415345100512" . + "100a0c55504c4f41445f43414c4c53100612110a0d55504c4f41445f434c" . + "49434b531007120b0a0757454250414745100812100a0c57454253495445" . + "5f43414c4c100942ee010a21636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d734219436f6e76657273696f6e416374" . + "696f6e5479706550726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentType.php new file mode 100644 index 000000000..32ed0a63f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad7030a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f61646a7573746d656e745f747970" . + "652e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322790a1c436f6e76657273696f6e41646a7573746d65" . + "6e7454797065456e756d22590a18436f6e76657273696f6e41646a757374" . + "6d656e7454797065120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120e0a0a52455452414354494f4e1002120f0a0b5245" . + "53544154454d454e54100342f2010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d73421d436f6e76657273696f" . + "6e41646a7573746d656e745479706550726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventType.php new file mode 100644 index 000000000..b7e606bfe --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af1030a45676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f6174747269627574696f6e5f6576" . + "656e745f747970652e70726f746f121d676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732285010a22436f6e76657273696f6e" . + "4174747269627574696f6e4576656e7454797065456e756d225f0a1e436f" . + "6e76657273696f6e4174747269627574696f6e4576656e7454797065120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120e" . + "0a0a494d5052455353494f4e1002120f0a0b494e544552414354494f4e10" . + "0342f8010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d734223436f6e76657273696f6e417474726962757469" . + "6f6e4576656e745479706550726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucket.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucket.php new file mode 100644 index 000000000..c1d59874d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucket.php @@ -0,0 +1,55 @@ +internalAddGeneratedFile(hex2bin( + "0a90070a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f6c61675f6275636b65742e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322bb040a17436f6e76657273696f6e4c61674275636b6574456e75" . + "6d229f040a13436f6e76657273696f6e4c61674275636b6574120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112150a114c" . + "4553535f5448414e5f4f4e455f444159100212130a0f4f4e455f544f5f54" . + "574f5f44415953100312150a1154574f5f544f5f54485245455f44415953" . + "100412160a1254485245455f544f5f464f55525f44415953100512150a11" . + "464f55525f544f5f464956455f44415953100612140a10464956455f544f" . + "5f5349585f44415953100712150a115349585f544f5f534556454e5f4441" . + "5953100812170a13534556454e5f544f5f45494748545f44415953100912" . + "160a1245494748545f544f5f4e494e455f44415953100a12140a104e494e" . + "455f544f5f54454e5f44415953100b12160a1254454e5f544f5f454c4556" . + "454e5f44415953100c12190a15454c4556454e5f544f5f5457454c56455f" . + "44415953100d121b0a175457454c56455f544f5f544849525445454e5f44" . + "415953100e121d0a19544849525445454e5f544f5f464f55525445454e5f" . + "44415953100f121f0a1b464f55525445454e5f544f5f5457454e54595f4f" . + "4e455f444159531010121d0a195457454e54595f4f4e455f544f5f544849" . + "5254595f444159531011121d0a195448495254595f544f5f464f5254595f" . + "464956455f444159531012121c0a18464f5254595f464956455f544f5f53" . + "495854595f44415953101312180a1453495854595f544f5f4e494e455459" . + "5f44415953101442ed010a21636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d734218436f6e76657273696f6e4c6167" . + "4275636b657450726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucket.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucket.php new file mode 100644 index 000000000..319a21ccc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucket.php @@ -0,0 +1,91 @@ +internalAddGeneratedFile(hex2bin( + "0aba0f0a47676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f636f6e76657273696f6e5f6f725f61646a7573746d656e745f" . + "6c61675f6275636b65742e70726f746f121d676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d7322cb0c0a23436f6e7665727369" . + "6f6e4f7241646a7573746d656e744c61674275636b6574456e756d22a30c" . + "0a1f436f6e76657273696f6e4f7241646a7573746d656e744c6167427563" . + "6b6574120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112200a1c434f4e56455253494f4e5f4c4553535f5448414e5f4f4e" . + "455f4441591002121e0a1a434f4e56455253494f4e5f4f4e455f544f5f54" . + "574f5f44415953100312200a1c434f4e56455253494f4e5f54574f5f544f" . + "5f54485245455f44415953100412210a1d434f4e56455253494f4e5f5448" . + "5245455f544f5f464f55525f44415953100512200a1c434f4e5645525349" . + "4f4e5f464f55525f544f5f464956455f444159531006121f0a1b434f4e56" . + "455253494f4e5f464956455f544f5f5349585f44415953100712200a1c43" . + "4f4e56455253494f4e5f5349585f544f5f534556454e5f44415953100812" . + "220a1e434f4e56455253494f4e5f534556454e5f544f5f45494748545f44" . + "415953100912210a1d434f4e56455253494f4e5f45494748545f544f5f4e" . + "494e455f44415953100a121f0a1b434f4e56455253494f4e5f4e494e455f" . + "544f5f54454e5f44415953100b12210a1d434f4e56455253494f4e5f5445" . + "4e5f544f5f454c4556454e5f44415953100c12240a20434f4e5645525349" . + "4f4e5f454c4556454e5f544f5f5457454c56455f44415953100d12260a22" . + "434f4e56455253494f4e5f5457454c56455f544f5f544849525445454e5f" . + "44415953100e12280a24434f4e56455253494f4e5f544849525445454e5f" . + "544f5f464f55525445454e5f44415953100f122a0a26434f4e5645525349" . + "4f4e5f464f55525445454e5f544f5f5457454e54595f4f4e455f44415953" . + "101012280a24434f4e56455253494f4e5f5457454e54595f4f4e455f544f" . + "5f5448495254595f44415953101112280a24434f4e56455253494f4e5f54" . + "48495254595f544f5f464f5254595f464956455f44415953101212270a23" . + "434f4e56455253494f4e5f464f5254595f464956455f544f5f5349585459" . + "5f44415953101312230a1f434f4e56455253494f4e5f53495854595f544f" . + "5f4e494e4554595f44415953101412200a1c41444a5553544d454e545f4c" . + "4553535f5448414e5f4f4e455f4441591015121e0a1a41444a5553544d45" . + "4e545f4f4e455f544f5f54574f5f44415953101612200a1c41444a555354" . + "4d454e545f54574f5f544f5f54485245455f44415953101712210a1d4144" . + "4a5553544d454e545f54485245455f544f5f464f55525f44415953101812" . + "200a1c41444a5553544d454e545f464f55525f544f5f464956455f444159" . + "531019121f0a1b41444a5553544d454e545f464956455f544f5f5349585f" . + "44415953101a12200a1c41444a5553544d454e545f5349585f544f5f5345" . + "56454e5f44415953101b12220a1e41444a5553544d454e545f534556454e" . + "5f544f5f45494748545f44415953101c12210a1d41444a5553544d454e54" . + "5f45494748545f544f5f4e494e455f44415953101d121f0a1b41444a5553" . + "544d454e545f4e494e455f544f5f54454e5f44415953101e12210a1d4144" . + "4a5553544d454e545f54454e5f544f5f454c4556454e5f44415953101f12" . + "240a2041444a5553544d454e545f454c4556454e5f544f5f5457454c5645" . + "5f44415953102012260a2241444a5553544d454e545f5457454c56455f54" . + "4f5f544849525445454e5f44415953102112280a2441444a5553544d454e" . + "545f544849525445454e5f544f5f464f55525445454e5f44415953102212" . + "2a0a2641444a5553544d454e545f464f55525445454e5f544f5f5457454e" . + "54595f4f4e455f44415953102312280a2441444a5553544d454e545f5457" . + "454e54595f4f4e455f544f5f5448495254595f44415953102412280a2441" . + "444a5553544d454e545f5448495254595f544f5f464f5254595f46495645" . + "5f44415953102512270a2341444a5553544d454e545f464f5254595f4649" . + "56455f544f5f53495854595f44415953102612230a1f41444a5553544d45" . + "4e545f53495854595f544f5f4e494e4554595f44415953102712380a3441" . + "444a5553544d454e545f4e494e4554595f544f5f4f4e455f48554e445245" . + "445f414e445f464f5254595f464956455f44415953102812160a12434f4e" . + "56455253494f4e5f554e4b4e4f574e102912160a1241444a5553544d454e" . + "545f554e4b4e4f574e102a42f9010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d734224436f6e76657273696f" . + "6e4f7241646a7573746d656e744c61674275636b657450726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityMode.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityMode.php new file mode 100644 index 000000000..b0202312f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityMode.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ad5040a50676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637269746572696f6e5f63617465676f72795f6368616e6e65" . + "6c5f617661696c6162696c6974795f6d6f64652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322d4010a" . + "2c437269746572696f6e43617465676f72794368616e6e656c417661696c" . + "6162696c6974794d6f6465456e756d22a3010a28437269746572696f6e43" . + "617465676f72794368616e6e656c417661696c6162696c6974794d6f6465" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "12100a0c414c4c5f4348414e4e454c53100212210a1d4348414e4e454c5f" . + "545950455f414e445f414c4c5f5355425459504553100312240a20434841" . + "4e4e454c5f545950455f414e445f5355425345545f535542545950455310" . + "044282020a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73422d437269746572696f6e43617465676f72794368" . + "616e6e656c417661696c6162696c6974794d6f646550726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityMode.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityMode.php new file mode 100644 index 000000000..40256fc0d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityMode.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0ae0040a4f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637269746572696f6e5f63617465676f72795f6c6f63616c65" . + "5f617661696c6162696c6974795f6d6f64652e70726f746f121d676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d7322e1010a2b" . + "437269746572696f6e43617465676f72794c6f63616c65417661696c6162" . + "696c6974794d6f6465456e756d22b1010a27437269746572696f6e436174" . + "65676f72794c6f63616c65417661696c6162696c6974794d6f6465120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120f0a" . + "0b414c4c5f4c4f43414c45531002121d0a19434f554e5452595f414e445f" . + "414c4c5f4c414e4755414745531003121e0a1a4c414e47554147455f414e" . + "445f414c4c5f434f554e5452494553100412180a14434f554e5452595f41" . + "4e445f4c414e475541474510054281020a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73422c43726974657269" . + "6f6e43617465676f72794c6f63616c65417661696c6162696c6974794d6f" . + "646550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatus.php new file mode 100644 index 000000000..8e0af132c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae9030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637269746572696f6e5f73797374656d5f73657276696e675f" . + "7374617475732e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732281010a20437269746572696f6e537973" . + "74656d53657276696e67537461747573456e756d225d0a1c437269746572" . + "696f6e53797374656d53657276696e67537461747573120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e1001120c0a08454c4947" . + "49424c45100212110a0d524152454c595f534552564544100342f6010a21" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d734221437269746572696f6e53797374656d53657276696e67537461" . + "74757350726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionType.php new file mode 100644 index 000000000..11502b8c7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CriterionType.php @@ -0,0 +1,55 @@ +internalAddGeneratedFile(hex2bin( + "0a9c070a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637269746572696f6e5f747970652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322d4040a" . + "11437269746572696f6e54797065456e756d22be040a0d43726974657269" . + "6f6e54797065120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001120b0a074b4559574f52441002120d0a09504c4143454d45" . + "4e54100312170a134d4f42494c455f4150505f43415445474f5259100412" . + "160a124d4f42494c455f4150504c49434154494f4e1005120a0a06444556" . + "4943451006120c0a084c4f434154494f4e100712110a0d4c495354494e47" . + "5f47524f55501008120f0a0b41445f5343484544554c451009120d0a0941" . + "47455f52414e4745100a120a0a0647454e444552100b12100a0c494e434f" . + "4d455f52414e4745100c12130a0f504152454e54414c5f53544154555310" . + "0d12110a0d594f55545542455f564944454f100e12130a0f594f55545542" . + "455f4348414e4e454c100f120d0a09555345525f4c4953541010120d0a09" . + "50524f58494d495459101112090a05544f504943101212110a0d4c495354" . + "494e475f53434f50451013120c0a084c414e47554147451014120c0a0849" . + "505f424c4f434b101512110a0d434f4e54454e545f4c4142454c1016120b" . + "0a0743415252494552101712110a0d555345525f494e5445524553541018" . + "120b0a07574542504147451019121c0a184f5045524154494e475f535953" . + "54454d5f56455253494f4e101a12150a114150505f5041594d454e545f4d" . + "4f44454c101b12110a0d4d4f42494c455f444556494345101c12130a0f43" . + "5553544f4d5f414646494e495459101d12110a0d435553544f4d5f494e54" . + "454e54101e12120a0e4c4f434154494f4e5f47524f5550101f42e7010a21" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d734212437269746572696f6e5479706550726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberType.php new file mode 100644 index 000000000..d07a7c360 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acd030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637573746f6d5f696e7465726573745f6d656d6265725f7479" . + "70652e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73226e0a1c437573746f6d496e7465726573744d656d" . + "62657254797065456e756d224e0a18437573746f6d496e7465726573744d" . + "656d62657254797065120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e1001120b0a074b4559574f5244100212070a0355524c10" . + "0342f2010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73421d437573746f6d496e7465726573744d656d6265" . + "725479706550726f746f50015a42676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f656e756d733b656e756d73a20203474141aa021d47" . + "6f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca02" . + "1d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73" . + "ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatus.php new file mode 100644 index 000000000..f2b18e423 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac0030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637573746f6d5f696e7465726573745f7374617475732e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73226a0a18437573746f6d496e746572657374537461747573456e" . + "756d224e0a14437573746f6d496e746572657374537461747573120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001120b0a07" . + "454e41424c45441002120b0a0752454d4f564544100342ee010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "4219437573746f6d496e74657265737453746174757350726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestType.php new file mode 100644 index 000000000..fe8e7f40d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomInterestType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac6030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637573746f6d5f696e7465726573745f747970652e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d7322740a16437573746f6d496e74657265737454797065456e756d225a" . + "0a12437573746f6d496e74657265737454797065120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e100112130a0f435553544f4d" . + "5f414646494e495459100212110a0d435553544f4d5f494e54454e541003" . + "42ec010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d734217437573746f6d496e746572657374547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderField.php new file mode 100644 index 000000000..083f0f02a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderField.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0a99060a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637573746f6d5f706c616365686f6c6465725f6669656c642e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322be030a1a437573746f6d506c616365686f6c6465724669" . + "656c64456e756d229f030a16437573746f6d506c616365686f6c64657246" . + "69656c64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e100112060a024944100212070a034944321003120e0a0a4954454d5f" . + "5449544c45100412110a0d4954454d5f5355425449544c45100512140a10" . + "4954454d5f4445534352495054494f4e100612100a0c4954454d5f414444" . + "52455353100712090a055052494345100812130a0f464f524d4154544544" . + "5f50524943451009120e0a0a53414c455f5052494345100a12180a14464f" . + "524d41545445445f53414c455f5052494345100b120d0a09494d4147455f" . + "55524c100c12110a0d4954454d5f43415445474f5259100d120e0a0a4649" . + "4e414c5f55524c53100e12150a1146494e414c5f4d4f42494c455f55524c" . + "53100f12100a0c545241434b494e475f55524c101012170a13434f4e5445" . + "585455414c5f4b4559574f524453101112140a10414e44524f49445f4150" . + "505f4c494e4b1012120f0a0b53494d494c41525f494453101312100a0c49" . + "4f535f4150505f4c494e4b101412140a10494f535f4150505f53544f5245" . + "5f4944101542f0010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73421b437573746f6d506c616365686f6c64" . + "65724669656c6450726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyType.php new file mode 100644 index 000000000..57baf15e4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0afa030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637573746f6d65725f6d617463685f75706c6f61645f6b6579" . + "5f747970652e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732295010a1e437573746f6d65724d61746368" . + "55706c6f61644b657954797065456e756d22730a1a437573746f6d65724d" . + "6174636855706c6f61644b657954797065120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e100112100a0c434f4e544143545f49" . + "4e464f1002120a0a0643524d5f4944100312190a154d4f42494c455f4144" . + "564552544953494e475f4944100442f4010a21636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d73421f437573746f6d" . + "65724d6174636855706c6f61644b65795479706550726f746f50015a4267" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f656e756d733b" . + "656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c" . + "654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f" . + "676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReason.php b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReason.php new file mode 100644 index 000000000..f6788639b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReason.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ae4050a5a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f637573746f6d65725f7061795f7065725f636f6e7665727369" . + "6f6e5f656c69676962696c6974795f6661696c7572655f726561736f6e2e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322d1020a34437573746f6d6572506179506572436f6e7665" . + "7273696f6e456c69676962696c6974794661696c757265526561736f6e45" . + "6e756d2298020a30437573746f6d6572506179506572436f6e7665727369" . + "6f6e456c69676962696c6974794661696c757265526561736f6e120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001121a0a16" . + "4e4f545f454e4f5547485f434f4e56455253494f4e531002121b0a17434f" . + "4e56455253494f4e5f4c41475f544f4f5f48494748100312230a1f484153" . + "5f43414d504149474e5f574954485f5348415245445f4255444745541004" . + "12200a1c4841535f55504c4f41445f434c49434b535f434f4e5645525349" . + "4f4e100512200a1c415645524147455f4441494c595f5350454e445f544f" . + "4f5f48494748100612190a15414e414c595349535f4e4f545f434f4d504c" . + "455445100712090a054f544845521008428a020a21636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d73423543757374" . + "6f6d6572506179506572436f6e76657273696f6e456c69676962696c6974" . + "794661696c757265526561736f6e50726f746f50015a42676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f656e756d733b656e756d73a2" . + "0203474141aa021d476f6f676c652e4164732e476f6f676c654164732e56" . + "322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatus.php new file mode 100644 index 000000000..55928914a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae8030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f646174615f64726976656e5f6d6f64656c5f7374617475732e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73228e010a194461746144726976656e4d6f64656c53746174" . + "7573456e756d22710a154461746144726976656e4d6f64656c5374617475" . + "73120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120d0a09415641494c41424c45100212090a055354414c451003120b0a" . + "0745585049524544100412130a0f4e455645525f47454e45524154454410" . + "0542ef010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73421a4461746144726976656e4d6f64656c53746174" . + "757350726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/DayOfWeek.php b/metadata/Google/Ads/GoogleAds/V2/Enums/DayOfWeek.php new file mode 100644 index 000000000..d49a553ab --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/DayOfWeek.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad8030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6461795f6f665f7765656b2e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732297010a0d4461" . + "794f665765656b456e756d2285010a094461794f665765656b120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001120a0a064d" . + "4f4e4441591002120b0a07545545534441591003120d0a095745444e4553" . + "4441591004120c0a0854485552534441591005120a0a0646524944415910" . + "06120c0a0853415455524441591007120a0a0653554e444159100842e301" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73420e4461794f665765656b50726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/Device.php b/metadata/Google/Ads/GoogleAds/V2/Enums/Device.php new file mode 100644 index 000000000..76ac534f4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/Device.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aae030a2a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6465766963652e70726f746f121d676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d7322760a0a446576696365456e" . + "756d22680a06446576696365120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e1001120a0a064d4f42494c451002120a0a065441" . + "424c45541003120b0a074445534b544f50100412100a0c434f4e4e454354" . + "45445f5456100612090a054f54484552100542e0010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d73420b4465" . + "7669636550726f746f50015a42676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f656e756d733b656e756d73a20203474141aa021d476f" . + "6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d" . + "476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea" . + "0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSetting.php b/metadata/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSetting.php new file mode 100644 index 000000000..e61280731 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSetting.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0add030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f646973706c61795f61645f666f726d61745f73657474696e67" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732281010a1a446973706c61794164466f726d6174536574" . + "74696e67456e756d22630a16446973706c61794164466f726d6174536574" . + "74696e67120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e1001120f0a0b414c4c5f464f524d4154531002120e0a0a4e4f4e5f4e" . + "41544956451003120a0a064e4154495645100442f0010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73421b44" . + "6973706c61794164466f726d617453657474696e6750726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductType.php new file mode 100644 index 000000000..e161925c2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductType.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0adc050a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f646973706c61795f75706c6f61645f70726f647563745f7479" . + "70652e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d7322fc020a1c446973706c617955706c6f616450726f" . + "6475637454797065456e756d22db020a18446973706c617955706c6f6164" . + "50726f6475637454797065120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e100112130a0f48544d4c355f55504c4f41445f4144" . + "1002121e0a1a44594e414d49435f48544d4c355f454455434154494f4e5f" . + "41441003121b0a1744594e414d49435f48544d4c355f464c494748545f41" . + "44100412210a1d44594e414d49435f48544d4c355f484f54454c5f52454e" . + "54414c5f4144100512180a1444594e414d49435f48544d4c355f4a4f425f" . + "41441006121a0a1644594e414d49435f48544d4c355f4c4f43414c5f4144" . + "100712200a1c44594e414d49435f48544d4c355f5245414c5f4553544154" . + "455f41441008121b0a1744594e414d49435f48544d4c355f435553544f4d" . + "5f41441009121b0a1744594e414d49435f48544d4c355f54524156454c5f" . + "4144100a121a0a1644594e414d49435f48544d4c355f484f54454c5f4144" . + "100b42f2010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421d446973706c617955706c6f616450726f6475" . + "63745479706550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/DistanceBucket.php b/metadata/Google/Ads/GoogleAds/V2/Enums/DistanceBucket.php new file mode 100644 index 000000000..ae40eae77 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/DistanceBucket.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0af7060a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f64697374616e63655f6275636b65742e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d7322ad04" . + "0a1244697374616e63654275636b6574456e756d2296040a0e4469737461" . + "6e63654275636b6574120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e1001120f0a0b57495448494e5f3730304d1002120e0a0a" . + "57495448494e5f314b4d1003120e0a0a57495448494e5f354b4d1004120f" . + "0a0b57495448494e5f31304b4d1005120f0a0b57495448494e5f31354b4d" . + "1006120f0a0b57495448494e5f32304b4d1007120f0a0b57495448494e5f" . + "32354b4d1008120f0a0b57495448494e5f33304b4d1009120f0a0b574954" . + "48494e5f33354b4d100a120f0a0b57495448494e5f34304b4d100b120f0a" . + "0b57495448494e5f34354b4d100c120f0a0b57495448494e5f35304b4d10" . + "0d120f0a0b57495448494e5f35354b4d100e120f0a0b57495448494e5f36" . + "304b4d100f120f0a0b57495448494e5f36354b4d1010120f0a0b4245594f" . + "4e445f36354b4d101112130a0f57495448494e5f305f374d494c45531012" . + "12100a0c57495448494e5f314d494c45101312110a0d57495448494e5f35" . + "4d494c4553101412120a0e57495448494e5f31304d494c4553101512120a" . + "0e57495448494e5f31354d494c4553101612120a0e57495448494e5f3230" . + "4d494c4553101712120a0e57495448494e5f32354d494c4553101812120a" . + "0e57495448494e5f33304d494c4553101912120a0e57495448494e5f3335" . + "4d494c4553101a12120a0e57495448494e5f34304d494c4553101b12120a" . + "0e4245594f4e445f34304d494c4553101c42e8010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d734213446973" . + "74616e63654275636b657450726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionField.php new file mode 100644 index 000000000..23693c0b3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionField.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad5030a41676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6473615f706167655f666565645f637269746572696f6e5f66" . + "69656c642e70726f746f121d676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d7322730a1d447361506167654665656443726974" . + "6572696f6e4669656c64456e756d22520a19447361506167654665656443" . + "7269746572696f6e4669656c64120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e1001120c0a08504147455f55524c100212090a" . + "054c4142454c100342f3010a21636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d73421e447361506167654665656443" . + "7269746572696f6e4669656c6450726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderField.php new file mode 100644 index 000000000..1e8373808 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderField.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0aa0060a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f656475636174696f6e5f706c616365686f6c6465725f666965" . + "6c642e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d7322bf030a1d456475636174696f6e506c616365686f" . + "6c6465724669656c64456e756d229d030a19456475636174696f6e506c61" . + "6365686f6c6465724669656c64120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e1001120e0a0a50524f4752414d5f4944100212" . + "0f0a0b4c4f434154494f4e5f4944100312100a0c50524f4752414d5f4e41" . + "4d45100412110a0d415245415f4f465f5354554459100512170a1350524f" . + "4752414d5f4445534352495054494f4e1006120f0a0b5343484f4f4c5f4e" . + "414d451007120b0a0741444452455353100812170a135448554d424e4149" . + "4c5f494d4147455f55524c100912230a1f414c5445524e41544956455f54" . + "48554d424e41494c5f494d4147455f55524c100a120e0a0a46494e414c5f" . + "55524c53100b12150a1146494e414c5f4d4f42494c455f55524c53100c12" . + "100a0c545241434b494e475f55524c100d12170a13434f4e544558545541" . + "4c5f4b4559574f524453100e12140a10414e44524f49445f4150505f4c49" . + "4e4b100f12170a1353494d494c41525f50524f4752414d5f494453101012" . + "100a0c494f535f4150505f4c494e4b101112140a10494f535f4150505f53" . + "544f52455f4944101242f3010a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d73421e456475636174696f6e506c" . + "616365686f6c6465724669656c6450726f746f50015a42676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f656e756d733b656e756d73a2" . + "0203474141aa021d476f6f676c652e4164732e476f6f676c654164732e56" . + "322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDevice.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDevice.php new file mode 100644 index 000000000..2c8ca1bec --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDevice.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac7030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f657874656e73696f6e5f73657474696e675f6465766963652e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73226d0a1a457874656e73696f6e53657474696e6744657669" . + "6365456e756d224f0a16457874656e73696f6e53657474696e6744657669" . + "6365120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "1001120a0a064d4f42494c451002120b0a074445534b544f50100342f001" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73421b457874656e73696f6e53657474696e6744657669636550" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionType.php new file mode 100644 index 000000000..001b65d28 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ExtensionType.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa8040a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f657874656e73696f6e5f747970652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322e0010a" . + "11457874656e73696f6e54797065456e756d22ca010a0d457874656e7369" . + "6f6e54797065120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e100112080a044e4f4e45100212070a03415050100312080a0443" . + "414c4c1004120b0a0743414c4c4f55541005120b0a074d45535341474510" . + "0612090a0550524943451007120d0a0950524f4d4f54494f4e1008120c0a" . + "08534954454c494e4b100a12160a12535452554354555245445f534e4950" . + "504554100b120c0a084c4f434154494f4e100c12160a12414646494c4941" . + "54455f4c4f434154494f4e100d42e7010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d734212457874656e7369" . + "6f6e5479706550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSource.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSource.php new file mode 100644 index 000000000..5b35f6782 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSource.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0adf060a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f65787465726e616c5f636f6e76657273696f6e5f736f757263" . + "652e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732280040a1c45787465726e616c436f6e76657273696f" . + "6e536f75726365456e756d22df030a1845787465726e616c436f6e766572" . + "73696f6e536f75726365120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e1001120b0a07574542504147451002120d0a09414e41" . + "4c59544943531003120a0a0655504c4f4144100412130a0f41445f43414c" . + "4c5f4d455452494353100512180a14574542534954455f43414c4c5f4d45" . + "5452494353100612100a0c53544f52455f564953495453100712120a0e41" . + "4e44524f49445f494e5f4150501008120e0a0a494f535f494e5f41505010" . + "0912120a0e494f535f46495253545f4f50454e100a12130a0f4150505f55" . + "4e535045434946494544100b12160a12414e44524f49445f46495253545f" . + "4f50454e100c12100a0c55504c4f41445f43414c4c53100d120c0a084649" . + "524542415345100e12110a0d434c49434b5f544f5f43414c4c100f120e0a" . + "0a53414c4553464f524345101012130a0f53544f52455f53414c45535f43" . + "524d1011121f0a1b53544f52455f53414c45535f5041594d454e545f4e45" . + "54574f524b1012120f0a0b474f4f474c455f504c41591013121d0a195448" . + "4952445f50415254595f4150505f414e414c5954494353101412160a1247" . + "4f4f474c455f4154545249425554494f4e101512160a1253544f52455f53" . + "414c45535f444952454354101642f2010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73421d45787465726e61" . + "6c436f6e76657273696f6e536f7572636550726f746f50015a42676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f656e756d733b656e75" . + "6d73a20203474141aa021d476f6f676c652e4164732e476f6f676c654164" . + "732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedAttributeType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedAttributeType.php new file mode 100644 index 000000000..892fbc2bf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedAttributeType.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ad5040a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6174747269627574655f747970652e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732284020a154665656441747472696275746554797065456e756d22ea01" . + "0a114665656441747472696275746554797065120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112090a05494e5436341002" . + "120a0a06444f55424c451003120a0a06535452494e471004120b0a07424f" . + "4f4c45414e100512070a0355524c1006120d0a09444154455f54494d4510" . + "07120e0a0a494e5436345f4c4953541008120f0a0b444f55424c455f4c49" . + "53541009120f0a0b535452494e475f4c495354100a12100a0c424f4f4c45" . + "414e5f4c495354100b120c0a0855524c5f4c495354100c12120a0e444154" . + "455f54494d455f4c495354100d12090a055052494345100e42eb010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d734216466565644174747269627574655479706550726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatus.php new file mode 100644 index 000000000..9ff610ff3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aec030a45676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6974656d5f7175616c6974795f617070726f7661" . + "6c5f7374617475732e70726f746f121d676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732281010a21466565644974656d5175" . + "616c697479417070726f76616c537461747573456e756d225c0a1d466565" . + "644974656d5175616c697479417070726f76616c537461747573120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001120c0a08" . + "415050524f5645441002120f0a0b444953415050524f564544100342f701" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d734222466565644974656d5175616c697479417070726f76616c" . + "53746174757350726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReason.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReason.php new file mode 100644 index 000000000..755301230 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReason.php @@ -0,0 +1,66 @@ +internalAddGeneratedFile(hex2bin( + "0ad1090a48676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6974656d5f7175616c6974795f64697361707072" . + "6f76616c5f726561736f6e2e70726f746f121d676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d7322e0060a2446656564497465" . + "6d5175616c697479446973617070726f76616c526561736f6e456e756d22" . + "b7060a20466565644974656d5175616c697479446973617070726f76616c" . + "526561736f6e120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e100112220a1e50524943455f5441424c455f5245504554495449" . + "56455f48454144455253100212260a2250524943455f5441424c455f5245" . + "50455449544956455f4445534352495054494f4e100312210a1d50524943" . + "455f5441424c455f494e434f4e53495354454e545f524f57531004122a0a" . + "2650524943455f4445534352495054494f4e5f4841535f50524943455f51" . + "55414c4946494552531005121e0a1a50524943455f554e535550504f5254" . + "45445f4c414e47554147451006122e0a2a50524943455f5441424c455f52" . + "4f575f4845414445525f5441424c455f545950455f4d49534d4154434810" . + "07122f0a2b50524943455f5441424c455f524f575f4845414445525f4841" . + "535f50524f4d4f54494f4e414c5f544558541008122c0a2850524943455f" . + "5441424c455f524f575f4445534352495054494f4e5f4e4f545f52454c45" . + "56414e54100912340a3050524943455f5441424c455f524f575f44455343" . + "52495054494f4e5f4841535f50524f4d4f54494f4e414c5f54455854100a" . + "12310a2d50524943455f5441424c455f524f575f4845414445525f444553" . + "4352495054494f4e5f52455045544954495645100b121e0a1a5052494345" . + "5f5441424c455f524f575f554e5241544541424c45100c12210a1d505249" . + "43455f5441424c455f524f575f50524943455f494e56414c4944100d121f" . + "0a1b50524943455f5441424c455f524f575f55524c5f494e56414c494410" . + "0e12290a2550524943455f4845414445525f4f525f444553435249505449" . + "4f4e5f4841535f5052494345100f122e0a2a535452554354555245445f53" . + "4e4950504554535f4845414445525f504f4c4943595f56494f4c41544544" . + "101012270a23535452554354555245445f534e4950504554535f52455045" . + "415445445f56414c5545531011122c0a28535452554354555245445f534e" . + "4950504554535f454449544f5249414c5f47554944454c494e4553101212" . + "2c0a28535452554354555245445f534e4950504554535f4841535f50524f" . + "4d4f54494f4e414c5f54455854101342fa010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7342254665656449" . + "74656d5175616c697479446973617070726f76616c526561736f6e50726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemStatus.php new file mode 100644 index 000000000..f5148a042 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa8030a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6974656d5f7374617475732e70726f746f121d67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d73225e" . + "0a12466565644974656d537461747573456e756d22480a0e466565644974" . + "656d537461747573120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120b0a07454e41424c45441002120b0a0752454d4f56" . + "4544100342e8010a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d734213466565644974656d5374617475735072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDevice.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDevice.php new file mode 100644 index 000000000..28ea56507 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDevice.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab3030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6974656d5f7461726765745f6465766963652e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73225c0a18466565644974656d54617267657444657669636545" . + "6e756d22400a14466565644974656d546172676574446576696365120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120a0a" . + "064d4f42494c45100242ee010a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d734219466565644974656d546172" . + "67657444657669636550726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetType.php new file mode 100644 index 000000000..6c747b867 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0aca030a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6974656d5f7461726765745f747970652e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322770a16466565644974656d54617267657454797065456e756d22" . + "5d0a12466565644974656d54617267657454797065120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001120c0a0843414d5041" . + "49474e1002120c0a0841445f47524f55501003120d0a0943524954455249" . + "4f4e100442ec010a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d734217466565644974656d5461726765745479" . + "706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatus.php new file mode 100644 index 000000000..d4a96fd5d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0adc030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6974656d5f76616c69646174696f6e5f73746174" . + "75732e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73227d0a1c466565644974656d56616c69646174696f" . + "6e537461747573456e756d225d0a18466565644974656d56616c69646174" . + "696f6e537461747573120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e1001120b0a0750454e44494e471002120b0a07494e5641" . + "4c4944100312090a0556414c4944100442f2010a21636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d73421d46656564" . + "4974656d56616c69646174696f6e53746174757350726f746f50015a4267" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f656e756d733b" . + "656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c" . + "654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f" . + "676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatus.php new file mode 100644 index 000000000..65f1b69cb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa8030a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6c696e6b5f7374617475732e70726f746f121d67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d73225e" . + "0a12466565644c696e6b537461747573456e756d22480a0e466565644c69" . + "6e6b537461747573120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120b0a07454e41424c45441002120b0a0752454d4f56" . + "4544100342e8010a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d734213466565644c696e6b5374617475735072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionType.php new file mode 100644 index 000000000..619fdfa60 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aed030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6d617070696e675f637269746572696f6e5f7479" . + "70652e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73228d010a1c466565644d617070696e674372697465" . + "72696f6e54797065456e756d226d0a18466565644d617070696e67437269" . + "746572696f6e54797065120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e100112200a1c4c4f434154494f4e5f455854454e5349" . + "4f4e5f544152474554494e47100412110a0d4453415f504147455f464545" . + "44100342f2010a21636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d73421d466565644d617070696e67437269746572" . + "696f6e5479706550726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatus.php new file mode 100644 index 000000000..3b0badeda --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab4030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6d617070696e675f7374617475732e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7322640a15466565644d617070696e67537461747573456e756d224b0a11" . + "466565644d617070696e67537461747573120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001120b0a07454e41424c45441002" . + "120b0a0752454d4f564544100342eb010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d734216466565644d6170" . + "70696e6753746174757350726f746f50015a42676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f656e756d733b656e756d73a202034741" . + "41aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e" . + "756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c" . + "456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedOrigin.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedOrigin.php new file mode 100644 index 000000000..371046e14 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedOrigin.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a93030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6f726967696e2e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7322520a0e466565" . + "644f726967696e456e756d22400a0a466565644f726967696e120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112080a0455" . + "5345521002120a0a06474f4f474c45100342e4010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d73420f466565" . + "644f726967696e50726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FeedStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedStatus.php new file mode 100644 index 000000000..fc587c830 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FeedStatus.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a97030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f7374617475732e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7322560a0e466565" . + "64537461747573456e756d22440a0a46656564537461747573120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001120b0a0745" . + "4e41424c45441002120b0a0752454d4f564544100342e4010a21636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7342" . + "0f4665656453746174757350726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderField.php new file mode 100644 index 000000000..7e6caaa0e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderField.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0a8e060a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666c696768745f706c616365686f6c6465725f6669656c642e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322b2030a1a466c69676874506c616365686f6c6465724669" . + "656c64456e756d2293030a16466c69676874506c616365686f6c64657246" . + "69656c64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e100112120a0e44455354494e4154494f4e5f49441002120d0a094f52" . + "4947494e5f4944100312160a12464c494748545f4445534352495054494f" . + "4e1004120f0a0b4f524947494e5f4e414d45100512140a1044455354494e" . + "4154494f4e5f4e414d45100612100a0c464c494748545f50524943451007" . + "12130a0f464f524d41545445445f5052494345100812150a11464c494748" . + "545f53414c455f5052494345100912180a14464f524d41545445445f5341" . + "4c455f5052494345100a120d0a09494d4147455f55524c100b120e0a0a46" . + "494e414c5f55524c53100c12150a1146494e414c5f4d4f42494c455f5552" . + "4c53100d12100a0c545241434b494e475f55524c100e12140a10414e4452" . + "4f49445f4150505f4c494e4b100f121b0a1753494d494c41525f44455354" . + "494e4154494f4e5f494453101012100a0c494f535f4150505f4c494e4b10" . + "1112140a10494f535f4150505f53544f52455f4944101242f1010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "73421c466c6967687473506c616365686f6c6465724669656c6450726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventType.php new file mode 100644 index 000000000..daed621f4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acb030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6672657175656e63795f6361705f6576656e745f747970652e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322720a194672657175656e63794361704576656e74547970" . + "65456e756d22550a154672657175656e63794361704576656e7454797065" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "120e0a0a494d5052455353494f4e1002120e0a0a564944454f5f56494557" . + "100342ef010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421a4672657175656e63794361704576656e7454" . + "79706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevel.php new file mode 100644 index 000000000..fcbca8220 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevel.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac7030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6672657175656e63795f6361705f6c6576656c2e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7322770a154672657175656e63794361704c6576656c456e756d225e0a11" . + "4672657175656e63794361704c6576656c120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001120f0a0b41445f47524f55505f" . + "41441002120c0a0841445f47524f55501003120c0a0843414d504149474e" . + "100442eb010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d7342164672657175656e63794361704c6576656c50" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnit.php b/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnit.php new file mode 100644 index 000000000..d7663abda --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnit.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac5030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6672657175656e63795f6361705f74696d655f756e69742e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73226e0a184672657175656e637943617054696d65556e697445" . + "6e756d22520a144672657175656e637943617054696d65556e6974120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e100112070a" . + "03444159100212080a045745454b100312090a054d4f4e5448100442ee01" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7342194672657175656e637943617054696d65556e697450726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/GenderType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/GenderType.php new file mode 100644 index 000000000..43473d723 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/GenderType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa5030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f67656e6465725f747970652e70726f746f121d676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7322640a0e47656e" . + "64657254797065456e756d22520a0a47656e64657254797065120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112080a044d" . + "414c45100a120a0a0646454d414c45100b12100a0c554e44455445524d49" . + "4e4544101442e4010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73420f47656e6465725479706550726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatus.php new file mode 100644 index 000000000..12cad9351 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad5030a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f67656f5f7461726765745f636f6e7374616e745f7374617475" . + "732e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322780a1b47656f546172676574436f6e7374616e7453" . + "7461747573456e756d22590a1747656f546172676574436f6e7374616e74" . + "537461747573120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001120b0a07454e41424c4544100212130a0f52454d4f56414c" . + "5f504c414e4e4544100342f1010a21636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d73421c47656f54617267657443" . + "6f6e7374616e7453746174757350726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestriction.php b/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestriction.php new file mode 100644 index 000000000..1f178e243 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestriction.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acc030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f67656f5f746172676574696e675f7265737472696374696f6e" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d7322700a1b47656f546172676574696e6752657374726963" . + "74696f6e456e756d22510a1747656f546172676574696e67526573747269" . + "6374696f6e120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112180a144c4f434154494f4e5f4f465f50524553454e434510" . + "0242f1010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73421c47656f546172676574696e6752657374726963" . + "74696f6e50726f746f50015a42676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f656e756d733b656e756d73a20203474141aa021d476f" . + "6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d" . + "476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea" . + "0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingType.php new file mode 100644 index 000000000..8aaf2f5d0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/GeoTargetingType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac6030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f67656f5f746172676574696e675f747970652e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "22780a1447656f546172676574696e6754797065456e756d22600a104765" . + "6f546172676574696e6754797065120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e100112140a10415245415f4f465f494e5445" . + "52455354100212180a144c4f434154494f4e5f4f465f50524553454e4345" . + "100342ea010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421547656f546172676574696e67547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategory.php b/metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategory.php new file mode 100644 index 000000000..d13acea7c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategory.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae6030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f676f6f676c655f6164735f6669656c645f63617465676f7279" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d73228a010a1a476f6f676c654164734669656c6443617465" . + "676f7279456e756d226c0a16476f6f676c654164734669656c6443617465" . + "676f7279120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e1001120c0a085245534f555243451002120d0a094154545249425554" . + "451003120b0a075345474d454e541005120a0a064d4554524943100642f0" . + "010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73421b476f6f676c654164734669656c6443617465676f7279" . + "50726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f656e756d733b656e756d73a20203474141aa021d476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataType.php new file mode 100644 index 000000000..e88ed1356 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataType.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ab8040a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f676f6f676c655f6164735f6669656c645f646174615f747970" . + "652e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322db010a1a476f6f676c654164734669656c64446174" . + "6154797065456e756d22bc010a16476f6f676c654164734669656c644461" . + "746154797065120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001120b0a07424f4f4c45414e100212080a0444415445100312" . + "0a0a06444f55424c45100412080a04454e554d100512090a05464c4f4154" . + "100612090a05494e543332100712090a05494e5436341008120b0a074d45" . + "5353414745100912110a0d5245534f555243455f4e414d45100a120a0a06" . + "535452494e47100b120a0a0655494e543634100c42f0010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d73421b" . + "476f6f676c654164734669656c64446174615479706550726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionType.php new file mode 100644 index 000000000..02c7d2766 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad9030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f686f74656c5f646174655f73656c656374696f6e5f74797065" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d73227e0a1a486f74656c4461746553656c656374696f6e54" . + "797065456e756d22600a16486f74656c4461746553656c656374696f6e54" . + "797065120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112150a1144454641554c545f53454c454354494f4e103212110a0d" . + "555345525f53454c4543544544103342f0010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d73421b486f74656c" . + "4461746553656c656374696f6e5479706550726f746f50015a42676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f656e756d733b656e75" . + "6d73a20203474141aa021d476f6f676c652e4164732e476f6f676c654164" . + "732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderField.php new file mode 100644 index 000000000..57531ff44 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderField.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0aa7060a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f686f74656c5f706c616365686f6c6465725f6669656c642e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7322cd030a19486f74656c506c616365686f6c6465724669656c" . + "64456e756d22af030a15486f74656c506c616365686f6c6465724669656c" . + "64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120f0a0b50524f50455254595f4944100212110a0d50524f5045525459" . + "5f4e414d45100312140a1044455354494e4154494f4e5f4e414d45100412" . + "0f0a0b4445534352495054494f4e1005120b0a0741444452455353100612" . + "090a055052494345100712130a0f464f524d41545445445f505249434510" . + "08120e0a0a53414c455f5052494345100912180a14464f524d4154544544" . + "5f53414c455f5052494345100a120d0a09494d4147455f55524c100b120c" . + "0a0843415445474f5259100c120f0a0b535441525f524154494e47100d12" . + "170a13434f4e5445585455414c5f4b4559574f524453100e120e0a0a4649" . + "4e414c5f55524c53100f12150a1146494e414c5f4d4f42494c455f55524c" . + "53101012100a0c545241434b494e475f55524c101112140a10414e44524f" . + "49445f4150505f4c494e4b101212180a1453494d494c41525f50524f5045" . + "5254595f494453101312100a0c494f535f4150505f4c494e4b101412140a" . + "10494f535f4150505f53544f52455f4944101542f0010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73421b48" . + "6f74656c73506c616365686f6c6465724669656c6450726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/HotelRateType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/HotelRateType.php new file mode 100644 index 000000000..ed57df251 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/HotelRateType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad3030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f686f74656c5f726174655f747970652e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73228a01" . + "0a11486f74656c5261746554797065456e756d22750a0d486f74656c5261" . + "746554797065120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001120f0a0b554e415641494c41424c451002120f0a0b505542" . + "4c49435f52415445100312120a0e5155414c49464945445f524154451004" . + "12100a0c505249564154455f52415445100542e7010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d734212486f" . + "74656c526174655479706550726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/IncomeRangeType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/IncomeRangeType.php new file mode 100644 index 000000000..60c38ffdb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/IncomeRangeType.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ad0040a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f696e636f6d655f72616e67655f747970652e70726f746f121d" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7322" . + "83020a13496e636f6d6552616e676554797065456e756d22eb010a0f496e" . + "636f6d6552616e676554797065120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112170a11494e434f4d455f52414e47455f" . + "305f353010b1901f12180a12494e434f4d455f52414e47455f35305f3630" . + "10b2901f12180a12494e434f4d455f52414e47455f36305f373010b3901f" . + "12180a12494e434f4d455f52414e47455f37305f383010b4901f12180a12" . + "494e434f4d455f52414e47455f38305f393010b5901f12180a12494e434f" . + "4d455f52414e47455f39305f555010b6901f121f0a19494e434f4d455f52" . + "414e47455f554e44455445524d494e454410b0901f42e9010a21636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7342" . + "14496e636f6d6552616e67655479706550726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/InteractionEventType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/InteractionEventType.php new file mode 100644 index 000000000..d8c37e52b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/InteractionEventType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0adc030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f696e746572616374696f6e5f6576656e745f747970652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732285010a18496e746572616374696f6e4576656e745479706545" . + "6e756d22690a14496e746572616374696f6e4576656e7454797065120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e100112090a" . + "05434c49434b1002120e0a0a454e474147454d454e541003120e0a0a5649" . + "44454f5f56494557100412080a044e4f4e45100542ee010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d734219" . + "496e746572616374696f6e4576656e745479706550726f746f50015a4267" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f656e756d733b" . + "656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c" . + "654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f" . + "676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/InteractionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/InteractionType.php new file mode 100644 index 000000000..c16c53265 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/InteractionType.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a9d030a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f696e746572616374696f6e5f747970652e70726f746f121d67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732252" . + "0a13496e746572616374696f6e54797065456e756d223b0a0f496e746572" . + "616374696f6e54797065120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e1001120a0a0543414c4c5310c03e42e9010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "4214496e746572616374696f6e5479706550726f746f50015a42676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f656e756d733b656e75" . + "6d73a20203474141aa021d476f6f676c652e4164732e476f6f676c654164" . + "732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderField.php new file mode 100644 index 000000000..3b5cf6928 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderField.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0ac7050a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6a6f625f706c616365686f6c6465725f6669656c642e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322f1020a174a6f62506c616365686f6c6465724669656c64456e75" . + "6d22d5020a134a6f62506c616365686f6c6465724669656c64120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001120a0a064a" . + "4f425f49441002120f0a0b4c4f434154494f4e5f4944100312090a055449" . + "544c451004120c0a085355425449544c451005120f0a0b44455343524950" . + "54494f4e1006120d0a09494d4147455f55524c1007120c0a084341544547" . + "4f5259100812170a13434f4e5445585455414c5f4b4559574f5244531009" . + "120b0a0741444452455353100a120a0a0653414c415259100b120e0a0a46" . + "494e414c5f55524c53100c12150a1146494e414c5f4d4f42494c455f5552" . + "4c53100e12100a0c545241434b494e475f55524c100f12140a10414e4452" . + "4f49445f4150505f4c494e4b101012130a0f53494d494c41525f4a4f425f" . + "494453101112100a0c494f535f4150505f4c494e4b101212140a10494f53" . + "5f4150505f53544f52455f4944101342ee010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7342194a6f627350" . + "6c616365686f6c6465724669656c6450726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordMatchType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordMatchType.php new file mode 100644 index 000000000..02e1ebe11 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordMatchType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab8030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6b6579776f72645f6d617463685f747970652e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "226a0a144b6579776f72644d6174636854797065456e756d22520a104b65" . + "79776f72644d6174636854797065120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e100112090a0545584143541002120a0a0650" . + "4852415345100312090a0542524f4144100442ea010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7342154b65" . + "79776f72644d617463685479706550726f746f50015a42676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f656e756d733b656e756d73a2" . + "0203474141aa021d476f6f676c652e4164732e476f6f676c654164732e56" . + "322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevel.php new file mode 100644 index 000000000..839ddbfc5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevel.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae2030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6b6579776f72645f706c616e5f636f6d7065746974696f6e5f" . + "6c6576656c2e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73227d0a1f4b6579776f7264506c616e436f6d" . + "7065746974696f6e4c6576656c456e756d225a0a1b4b6579776f7264506c" . + "616e436f6d7065746974696f6e4c6576656c120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e100112070a034c4f571002120a0a" . + "064d454449554d100312080a0448494748100442f5010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d7342204b" . + "6579776f7264506c616e436f6d7065746974696f6e4c6576656c50726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastInterval.php b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastInterval.php new file mode 100644 index 000000000..2e91f7b58 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastInterval.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af5030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6b6579776f72645f706c616e5f666f7265636173745f696e74" . + "657276616c2e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73228f010a1f4b6579776f7264506c616e466f" . + "726563617374496e74657276616c456e756d226c0a1b4b6579776f726450" . + "6c616e466f726563617374496e74657276616c120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120d0a094e4558545f5745" . + "454b1003120e0a0a4e4558545f4d4f4e5448100412100a0c4e4558545f51" . + "554152544552100542f5010a21636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d7342204b6579776f7264506c616e46" . + "6f726563617374496e74657276616c50726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetwork.php b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetwork.php new file mode 100644 index 000000000..386127972 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetwork.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad1030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6b6579776f72645f706c616e5f6e6574776f726b2e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d73227f0a164b6579776f7264506c616e4e6574776f726b456e756d2265" . + "0a124b6579776f7264506c616e4e6574776f726b120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e100112110a0d474f4f474c45" . + "5f5345415243481002121e0a1a474f4f474c455f5345415243485f414e44" . + "5f504152544e455253100342ec010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d7342174b6579776f7264506c" . + "616e4e6574776f726b50726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/LabelStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/LabelStatus.php new file mode 100644 index 000000000..8846f3726 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/LabelStatus.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a9b030a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c6162656c5f7374617475732e70726f746f121d676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d7322580a0f4c61" . + "62656c537461747573456e756d22450a0b4c6162656c537461747573120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120b" . + "0a07454e41424c45441002120b0a0752454d4f564544100342e5010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d7342104c6162656c53746174757350726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStore.php b/metadata/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStore.php new file mode 100644 index 000000000..f3bc442b3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStore.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa7040a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c65676163795f6170705f696e7374616c6c5f61645f617070" . + "5f73746f72652e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d7322c1010a1e4c6567616379417070496e73" . + "74616c6c416441707053746f7265456e756d229e010a1a4c656761637941" . + "7070496e7374616c6c416441707053746f7265120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112130a0f4150504c455f41" . + "50505f53544f52451002120f0a0b474f4f474c455f504c4159100312110a" . + "0d57494e444f57535f53544f5245100412170a1357494e444f57535f5048" . + "4f4e455f53544f5245100512100a0c434e5f4150505f53544f5245100642" . + "f4010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d73421f4c6567616379417070496e7374616c6c4164417070" . + "53746f726550726f746f50015a42676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f656e756d733b656e756d73a20203474141aa021d47" . + "6f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca02" . + "1d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73" . + "ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndex.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndex.php new file mode 100644 index 000000000..3a846202f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndex.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a80040a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c697374696e675f637573746f6d5f6174747269627574655f" . + "696e6465782e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73229a010a1f4c697374696e67437573746f6d" . + "417474726962757465496e646578456e756d22770a1b4c697374696e6743" . + "7573746f6d417474726962757465496e646578120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120a0a06494e4445583010" . + "07120a0a06494e444558311008120a0a06494e444558321009120a0a0649" . + "4e44455833100a120a0a06494e44455834100b42f5010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d7342204c" . + "697374696e67437573746f6d417474726962757465496e64657850726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ListingGroupType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ListingGroupType.php new file mode 100644 index 000000000..ed3506e49 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ListingGroupType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab1030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c697374696e675f67726f75705f747970652e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "22630a144c697374696e6747726f757054797065456e756d224b0a104c69" . + "7374696e6747726f757054797065120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e1001120f0a0b5355424449564953494f4e10" . + "0212080a04554e4954100342ea010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d7342154c697374696e674772" . + "6f75705479706550726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderField.php new file mode 100644 index 000000000..a83e7efb6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderField.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0a81060a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c6f63616c5f706c616365686f6c6465725f6669656c642e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7322a8030a194c6f63616c506c616365686f6c6465724669656c" . + "64456e756d228a030a154c6f63616c506c616365686f6c6465724669656c" . + "64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120b0a074445414c5f49441002120d0a094445414c5f4e414d45100312" . + "0c0a085355425449544c451004120f0a0b4445534352495054494f4e1005" . + "12090a055052494345100612130a0f464f524d41545445445f5052494345" . + "1007120e0a0a53414c455f5052494345100812180a14464f524d41545445" . + "445f53414c455f50524943451009120d0a09494d4147455f55524c100a12" . + "0b0a0741444452455353100b120c0a0843415445474f5259100c12170a13" . + "434f4e5445585455414c5f4b4559574f524453100d120e0a0a46494e414c" . + "5f55524c53100e12150a1146494e414c5f4d4f42494c455f55524c53100f" . + "12100a0c545241434b494e475f55524c101012140a10414e44524f49445f" . + "4150505f4c494e4b101112140a1053494d494c41525f4445414c5f494453" . + "101212100a0c494f535f4150505f4c494e4b101312140a10494f535f4150" . + "505f53544f52455f4944101442ef010a21636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d73421a4c6f63616c506c61" . + "6365686f6c6465724669656c6450726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionField.php new file mode 100644 index 000000000..31373b95c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionField.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0add040a50676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c6f636174696f6e5f657874656e73696f6e5f746172676574" . + "696e675f637269746572696f6e5f6669656c642e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322dc010a" . + "2c4c6f636174696f6e457874656e73696f6e546172676574696e67437269" . + "746572696f6e4669656c64456e756d22ab010a284c6f636174696f6e4578" . + "74656e73696f6e546172676574696e67437269746572696f6e4669656c64" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "12120a0e414444524553535f4c494e455f31100212120a0e414444524553" . + "535f4c494e455f32100312080a04434954591004120c0a0850524f56494e" . + "43451005120f0a0b504f5354414c5f434f4445100612100a0c434f554e54" . + "52595f434f444510074282020a21636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d73422d4c6f636174696f6e457874" . + "656e73696f6e546172676574696e67437269746572696f6e4669656c6450" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnits.php b/metadata/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnits.php new file mode 100644 index 000000000..b0dd8dbcb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnits.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ace030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c6f636174696f6e5f67726f75705f7261646975735f756e69" . + "74732e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73226f0a1c4c6f636174696f6e47726f757052616469" . + "7573556e697473456e756d224f0a184c6f636174696f6e47726f75705261" . + "64697573556e697473120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e1001120a0a064d4554455253100212090a054d494c4553" . + "100342f2010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421d4c6f636174696f6e47726f75705261646975" . + "73556e69747350726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderField.php new file mode 100644 index 000000000..2b8337064 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderField.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ac0040a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6c6f636174696f6e5f706c616365686f6c6465725f6669656c" . + "642e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322e1010a1c4c6f636174696f6e506c616365686f6c64" . + "65724669656c64456e756d22c0010a184c6f636174696f6e506c61636568" . + "6f6c6465724669656c64120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e100112110a0d425553494e4553535f4e414d45100212" . + "120a0e414444524553535f4c494e455f31100312120a0e41444452455353" . + "5f4c494e455f32100412080a04434954591005120c0a0850524f56494e43" . + "451006120f0a0b504f5354414c5f434f4445100712100a0c434f554e5452" . + "595f434f4445100812100a0c50484f4e455f4e554d424552100942f2010a" . + "21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73421d4c6f636174696f6e506c616365686f6c6465724669656c64" . + "50726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f656e756d733b656e756d73a20203474141aa021d476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatus.php new file mode 100644 index 000000000..05e6583d2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0add030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d616e616765725f6c696e6b5f7374617475732e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "73228c010a154d616e616765724c696e6b537461747573456e756d22730a" . + "114d616e616765724c696e6b537461747573120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e1001120a0a064143544956451002" . + "120c0a08494e4143544956451003120b0a0750454e44494e471004120b0a" . + "07524546555345441005120c0a0843414e43454c4544100642eb010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d7342164d616e616765724c696e6b53746174757350726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextType.php new file mode 100644 index 000000000..a372b23c4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae7030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d61746368696e675f66756e6374696f6e5f636f6e74657874" . + "5f747970652e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732281010a1f4d61746368696e6746756e6374" . + "696f6e436f6e7465787454797065456e756d225e0a1b4d61746368696e67" . + "46756e6374696f6e436f6e7465787454797065120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112100a0c464545445f4954" . + "454d5f49441002120f0a0b4445564943455f4e414d45100342f5010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d7342204d61746368696e6746756e6374696f6e436f6e74657874547970" . + "6550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f656e756d733b656e756d73a20203474141aa021d476f6f676c" . + "652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f" . + "676c655c4164735c476f6f676c654164735c56325c456e756d73ea022147" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e75" . + "6d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperator.php new file mode 100644 index 000000000..1c54f55a7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperator.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af4030a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d61746368696e675f66756e6374696f6e5f6f70657261746f" . + "722e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732295010a1c4d61746368696e6746756e6374696f6e4f" . + "70657261746f72456e756d22750a184d61746368696e6746756e6374696f" . + "6e4f70657261746f72120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112060a02494e1002120c0a084944454e5449545910" . + "03120a0a06455155414c53100412070a03414e44100512100a0c434f4e54" . + "41494e535f414e59100642f2010a21636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d73421d4d61746368696e674675" . + "6e6374696f6e4f70657261746f7250726f746f50015a42676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f656e756d733b656e756d73a2" . + "0203474141aa021d476f6f676c652e4164732e476f6f676c654164732e56" . + "322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MediaType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MediaType.php new file mode 100644 index 000000000..cd4ff2931 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MediaType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0aca030a2e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d656469615f747970652e70726f746f121d676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d73228a010a0d4d6564" . + "696154797065456e756d22790a094d6564696154797065120f0a0b554e53" . + "50454349464945441000120b0a07554e4b4e4f574e100112090a05494d41" . + "4745100212080a0449434f4e100312100a0c4d454449415f42554e444c45" . + "100412090a05415544494f100512090a05564944454f100612110a0d4459" . + "4e414d49435f494d414745100742e3010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73420e4d656469615479" . + "706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatus.php new file mode 100644 index 000000000..fd59c440c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad1030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d65726368616e745f63656e7465725f6c696e6b5f73746174" . + "75732e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d7322720a1c4d65726368616e7443656e7465724c696e" . + "6b537461747573456e756d22520a184d65726368616e7443656e7465724c" . + "696e6b537461747573120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e1001120b0a07454e41424c45441002120b0a0750454e44" . + "494e47100342f2010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73421d4d65726368616e7443656e7465724c" . + "696e6b53746174757350726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderField.php new file mode 100644 index 000000000..f28f5cb93 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderField.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a99040a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d6573736167655f706c616365686f6c6465725f6669656c64" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d7322bc010a1b4d657373616765506c616365686f6c646572" . + "4669656c64456e756d229c010a174d657373616765506c616365686f6c64" . + "65724669656c64120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e100112110a0d425553494e4553535f4e414d45100212100a0c" . + "434f554e5452595f434f4445100312100a0c50484f4e455f4e554d424552" . + "1004121a0a164d4553534147455f455854454e53494f4e5f544558541005" . + "12100a0c4d4553534147455f54455854100642f1010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d73421c4d65" . + "7373616765506c616365686f6c6465724669656c6450726f746f50015a42" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f656e756d73" . + "3b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f" . + "6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MimeType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MimeType.php new file mode 100644 index 000000000..a995c2fe9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MimeType.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a9a040a2d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d696d655f747970652e70726f746f121d676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d7322dc010a0c4d696d65" . + "54797065456e756d22cb010a084d696d6554797065120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001120e0a0a494d414745" . + "5f4a5045471002120d0a09494d4147455f4749461003120d0a09494d4147" . + "455f504e47100412090a05464c4153481005120d0a09544558545f48544d" . + "4c100612070a035044461007120a0a064d53574f52441008120b0a074d53" . + "455843454c100912070a03525446100a120d0a09415544494f5f57415610" . + "0b120d0a09415544494f5f4d5033100c12100a0c48544d4c355f41445f5a" . + "4950100d42e2010a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73420d4d696d655479706550726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MinuteOfHour.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MinuteOfHour.php new file mode 100644 index 000000000..f5fb117dc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MinuteOfHour.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab9030a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d696e7574655f6f665f686f75722e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322730a10" . + "4d696e7574654f66486f7572456e756d225f0a0c4d696e7574654f66486f" . + "7572120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "100112080a045a45524f1002120b0a074649465445454e1003120a0a0654" . + "48495254591004120e0a0a464f5254595f46495645100542e6010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7342114d696e7574654f66486f757250726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MobileDeviceType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MobileDeviceType.php new file mode 100644 index 000000000..540121990 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MobileDeviceType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aae030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d6f62696c655f6465766963655f747970652e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "22600a144d6f62696c6544657669636554797065456e756d22480a104d6f" . + "62696c6544657669636554797065120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e1001120a0a064d4f42494c451002120a0a06" . + "5441424c4554100342ea010a21636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d7342154d6f62696c65446576696365" . + "5479706550726f746f50015a42676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f656e756d733b656e756d73a20203474141aa021d476f" . + "6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d" . + "476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea" . + "0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MonthOfYear.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MonthOfYear.php new file mode 100644 index 000000000..349e6f7f6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MonthOfYear.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a96040a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d6f6e74685f6f665f796561722e70726f746f121d676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d7322d1010a0f" . + "4d6f6e74684f6659656172456e756d22bd010a0b4d6f6e74684f66596561" . + "72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120b0a074a414e554152591002120c0a08464542525541525910031209" . + "0a054d41524348100412090a05415052494c100512070a034d4159100612" . + "080a044a554e45100712080a044a554c591008120a0a0641554755535410" . + "09120d0a0953455054454d424552100a120b0a074f43544f424552100b12" . + "0c0a084e4f56454d424552100c120c0a08444543454d424552100d42e501" . + "0a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7342104d6f6e74684f665965617250726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/MutateJobStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/MutateJobStatus.php new file mode 100644 index 000000000..79e357020 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/MutateJobStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab6030a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d75746174655f6a6f625f7374617475732e70726f746f121d" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7322" . + "6a0a134d75746174654a6f62537461747573456e756d22530a0f4d757461" . + "74654a6f62537461747573120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001120b0a0750454e44494e471002120b0a075255" . + "4e4e494e47100312080a04444f4e45100442e9010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d7342144d7574" . + "6174654a6f6253746174757350726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetType.php new file mode 100644 index 000000000..4e8984978 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad3030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6e656761746976655f67656f5f7461726765745f747970652e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73227a0a194e6567617469766547656f546172676574547970" . + "65456e756d225d0a154e6567617469766547656f54617267657454797065" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "12180a1450524553454e43455f4f525f494e5445524553541004120c0a08" . + "50524553454e4345100542ef010a21636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d73421a4e656761746976654765" . + "6f5461726765745479706550726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorType.php new file mode 100644 index 000000000..cc3ffa14b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a8c040a4a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6f7065726174696e675f73797374656d5f76657273696f6e5f" . + "6f70657261746f725f747970652e70726f746f121d676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d732297010a264f70657261" . + "74696e6753797374656d56657273696f6e4f70657261746f725479706545" . + "6e756d226d0a224f7065726174696e6753797374656d56657273696f6e4f" . + "70657261746f7254797065120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001120d0a09455155414c535f544f1002121a0a16" . + "475245415445525f5448414e5f455155414c535f544f100442fc010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d7342274f7065726174696e6753797374656d56657273696f6e4f706572" . + "61746f725479706550726f746f50015a42676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f656e756d733b656e756d73a20203474141aa" . + "021d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d" . + "73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e" . + "756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoal.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoal.php new file mode 100644 index 000000000..7718b0870 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoal.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aee030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706167655f6f6e655f70726f6d6f7465645f73747261746567" . + "795f676f616c2e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732287010a1f506167654f6e6550726f6d6f" . + "7465645374726174656779476f616c456e756d22640a1b506167654f6e65" . + "50726f6d6f7465645374726174656779476f616c120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001120e0a0a46495253545f" . + "50414745100212170a1346495253545f504147455f50524f4d4f54454410" . + "0342f5010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d734220506167654f6e6550726f6d6f74656453747261" . + "74656779476f616c50726f746f50015a42676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f656e756d733b656e756d73a20203474141aa" . + "021d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d" . + "73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e" . + "756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ParentalStatusType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ParentalStatusType.php new file mode 100644 index 000000000..4a10f30a1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ParentalStatusType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad1030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706172656e74616c5f7374617475735f747970652e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d73227f0a16506172656e74616c53746174757354797065456e756d2265" . + "0a12506172656e74616c53746174757354797065120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001120b0a06504152454e54" . + "10ac0212110a0c4e4f545f415f504152454e5410ad0212110a0c554e4445" . + "5445524d494e454410ae0242ec010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d734217506172656e74616c53" . + "74617475735479706550726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PaymentMode.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PaymentMode.php new file mode 100644 index 000000000..eca115e53 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PaymentMode.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab4030a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7061796d656e745f6d6f64652e70726f746f121d676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d7322710a0f5061" . + "796d656e744d6f6465456e756d225e0a0b5061796d656e744d6f6465120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120a" . + "0a06434c49434b53100412140a10434f4e56455253494f4e5f56414c5545" . + "1005120f0a0b434f4e56455253494f4e53100642e5010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73421050" . + "61796d656e744d6f646550726f746f50015a42676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f656e756d733b656e756d73a202034741" . + "41aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e" . + "756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c" . + "456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PlaceholderType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PlaceholderType.php new file mode 100644 index 000000000..dd9b0ecd0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PlaceholderType.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0adc050a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706c616365686f6c6465725f747970652e70726f746f121d67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732290" . + "030a13506c616365686f6c64657254797065456e756d22f8020a0f506c61" . + "6365686f6c64657254797065120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e1001120c0a08534954454c494e4b100212080a04" . + "43414c4c100312070a034150501004120c0a084c4f434154494f4e100512" . + "160a12414646494c494154455f4c4f434154494f4e1006120b0a0743414c" . + "4c4f5554100712160a12535452554354555245445f534e49505045541008" . + "120b0a074d455353414745100912090a055052494345100a120d0a095052" . + "4f4d4f54494f4e100b12110a0d41445f435553544f4d495a4552100c1215" . + "0a1144594e414d49435f454455434154494f4e100d12120a0e44594e414d" . + "49435f464c49474854100e12120a0e44594e414d49435f435553544f4d10" . + "0f12110a0d44594e414d49435f484f54454c101012170a1344594e414d49" . + "435f5245414c5f455354415445101112120a0e44594e414d49435f545241" . + "56454c101212110a0d44594e414d49435f4c4f43414c1013120f0a0b4459" . + "4e414d49435f4a4f42101442e9010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d734214506c616365686f6c64" . + "65725479706550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PlacementType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PlacementType.php new file mode 100644 index 000000000..66a4b2700 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PlacementType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af1030a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706c6163656d656e745f747970652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322a9010a" . + "11506c6163656d656e7454797065456e756d2293010a0d506c6163656d65" . + "6e7454797065120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001120b0a0757454253495445100212170a134d4f42494c455f" . + "4150505f43415445474f5259100312160a124d4f42494c455f4150504c49" . + "434154494f4e100412110a0d594f55545542455f564944454f100512130a" . + "0f594f55545542455f4348414e4e454c100642e7010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d734212506c" . + "6163656d656e745479706550726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatus.php new file mode 100644 index 000000000..58a84ef1a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af8030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f6c6963795f617070726f76616c5f7374617475732e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7322a1010a18506f6c696379417070726f76616c53746174757345" . + "6e756d2284010a14506f6c696379417070726f76616c537461747573120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120f" . + "0a0b444953415050524f564544100212140a10415050524f5645445f4c49" . + "4d495445441003120c0a08415050524f564544100412190a15415245415f" . + "4f465f494e5445524553545f4f4e4c59100542ee010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d734219506f" . + "6c696379417070726f76616c53746174757350726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatus.php new file mode 100644 index 000000000..c5bfac8fc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad7030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f6c6963795f7265766965775f7374617475732e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732284010a16506f6c696379526576696577537461747573456e756d22" . + "6a0a12506f6c696379526576696577537461747573120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e100112160a125245564945" . + "575f494e5f50524f47524553531002120c0a085245564945574544100312" . + "100a0c554e4445525f41505045414c100442ec010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d734217506f6c" . + "69637952657669657753746174757350726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryType.php new file mode 100644 index 000000000..cb4cbedc9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a95040a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f6c6963795f746f7069635f656e7472795f747970652e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7322bd010a18506f6c696379546f706963456e74727954797065" . + "456e756d22a0010a14506f6c696379546f706963456e7472795479706512" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "0e0a0a50524f484942495445441002120b0a074c494d4954454410041211" . + "0a0d46554c4c595f4c494d495445441008120f0a0b444553435249505449" . + "56451005120e0a0a42524f4144454e494e47100612190a15415245415f4f" . + "465f494e5445524553545f4f4e4c59100742ee010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d734219506f6c" . + "696379546f706963456e7472795479706550726f746f50015a42676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f656e756d733b656e75" . + "6d73a20203474141aa021d476f6f676c652e4164732e476f6f676c654164" . + "732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlType.php new file mode 100644 index 000000000..24c33eb8c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlType.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0af1040a57676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f6c6963795f746f7069635f65766964656e63655f646573" . + "74696e6174696f6e5f6d69736d617463685f75726c5f747970652e70726f" . + "746f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d7322e4010a31506f6c696379546f70696345766964656e6365446573" . + "74696e6174696f6e4d69736d6174636855726c54797065456e756d22ae01" . + "0a2d506f6c696379546f70696345766964656e636544657374696e617469" . + "6f6e4d69736d6174636855726c54797065120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001120f0a0b444953504c41595f55" . + "524c1002120d0a0946494e414c5f55524c100312140a1046494e414c5f4d" . + "4f42494c455f55524c100412100a0c545241434b494e475f55524c100512" . + "170a134d4f42494c455f545241434b494e475f55524c10064287020a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d734232506f6c696379546f70696345766964656e636544657374696e61" . + "74696f6e4d69736d6174636855726c5479706550726f746f50015a42676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f656e756d733b65" . + "6e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDevice.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDevice.php new file mode 100644 index 000000000..3e88c0e7d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDevice.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0ab6040a58676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f6c6963795f746f7069635f65766964656e63655f646573" . + "74696e6174696f6e5f6e6f745f776f726b696e675f6465766963652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7322a7010a32506f6c696379546f70696345766964656e63654465" . + "7374696e6174696f6e4e6f74576f726b696e67446576696365456e756d22" . + "710a2e506f6c696379546f70696345766964656e636544657374696e6174" . + "696f6e4e6f74576f726b696e67446576696365120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120b0a074445534b544f50" . + "1002120b0a07414e44524f4944100312070a03494f5310044288020a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d734233506f6c696379546f70696345766964656e636544657374696e61" . + "74696f6e4e6f74576f726b696e6744657669636550726f746f50015a4267" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f656e756d733b" . + "656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c" . + "654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f" . + "676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php new file mode 100644 index 000000000..3c6ccce2f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0ae4040a60676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f6c6963795f746f7069635f65766964656e63655f646573" . + "74696e6174696f6e5f6e6f745f776f726b696e675f646e735f6572726f72" . + "5f747970652e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d7322c7010a38506f6c696379546f7069634576" . + "6964656e636544657374696e6174696f6e4e6f74576f726b696e67446e73" . + "4572726f7254797065456e756d228a010a34506f6c696379546f70696345" . + "766964656e636544657374696e6174696f6e4e6f74576f726b696e67446e" . + "734572726f7254797065120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e100112160a12484f53544e414d455f4e4f545f464f55" . + "4e441002121c0a18474f4f474c455f435241574c45525f444e535f495353" . + "55451003428e020a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d734239506f6c696379546f7069634576696465" . + "6e636544657374696e6174696f6e4e6f74576f726b696e67446e73457272" . + "6f725479706550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetType.php new file mode 100644 index 000000000..3a9d407c2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae9030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f706f7369746976655f67656f5f7461726765745f747970652e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73228f010a19506f73697469766547656f5461726765745479" . + "7065456e756d22720a15506f73697469766547656f546172676574547970" . + "65120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "0112180a1450524553454e43455f4f525f494e544552455354100512130a" . + "0f5345415243485f494e5445524553541006120c0a0850524553454e4345" . + "100742ef010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421a506f73697469766547656f54617267657454" . + "79706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PreferredContentType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PreferredContentType.php new file mode 100644 index 000000000..d2df50029 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PreferredContentType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac0030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7072656665727265645f636f6e74656e745f747970652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73226a0a18507265666572726564436f6e74656e7454797065456e" . + "756d224e0a14507265666572726564436f6e74656e7454797065120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e100112180a13" . + "594f55545542455f544f505f434f4e54454e5410900342ee010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "4219507265666572726564436f6e74656e745479706550726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifier.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifier.php new file mode 100644 index 000000000..e3b0091ab --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifier.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aea030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726963655f657874656e73696f6e5f70726963655f717561" . + "6c69666965722e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732282010a205072696365457874656e7369" . + "6f6e50726963655175616c6966696572456e756d225e0a1c507269636545" . + "7874656e73696f6e50726963655175616c6966696572120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e100112080a0446524f4d" . + "100212090a0555505f544f1003120b0a0741564552414745100442f6010a" . + "21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d7342215072696365457874656e73696f6e50726963655175616c69" . + "6669657250726f746f50015a42676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f656e756d733b656e756d73a20203474141aa021d476f" . + "6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d" . + "476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea" . + "0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnit.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnit.php new file mode 100644 index 000000000..fa9b0f473 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnit.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a8a040a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726963655f657874656e73696f6e5f70726963655f756e69" . + "742e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322ac010a1b5072696365457874656e73696f6e507269" . + "6365556e6974456e756d228c010a175072696365457874656e73696f6e50" . + "72696365556e6974120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120c0a085045525f484f55521002120b0a075045525f" . + "4441591003120c0a085045525f5745454b1004120d0a095045525f4d4f4e" . + "54481005120c0a085045525f594541521006120d0a095045525f4e494748" . + "54100742f1010a21636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d73421c5072696365457874656e73696f6e507269" . + "6365556e697450726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionType.php new file mode 100644 index 000000000..e3134fb63 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PriceExtensionType.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0abe040a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726963655f657874656e73696f6e5f747970652e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d7322eb010a165072696365457874656e73696f6e54797065456e756d22" . + "d0010a125072696365457874656e73696f6e54797065120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e1001120a0a064252414e" . + "44531002120a0a064556454e54531003120d0a094c4f434154494f4e5310" . + "0412110a0d4e45494748424f52484f4f4453100512160a1250524f445543" . + "545f43415445474f52494553100612110a0d50524f445543545f54494552" . + "531007120c0a085345525649434553100812160a12534552564943455f43" . + "415445474f52494553100912110a0d534552564943455f5449455253100a" . + "42ec010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7342175072696365457874656e73696f6e547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderField.php new file mode 100644 index 000000000..90c22533e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderField.php @@ -0,0 +1,78 @@ +internalAddGeneratedFile(hex2bin( + "0ac80c0a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726963655f706c616365686f6c6465725f6669656c642e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7322ef090a195072696365506c616365686f6c6465724669656c" . + "64456e756d22d1090a155072696365506c616365686f6c6465724669656c" . + "64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "0112080a0454595045100212130a0f50524943455f5155414c4946494552" . + "100312150a11545241434b494e475f54454d504c4154451004120c0a084c" . + "414e4755414745100512140a1046494e414c5f55524c5f53554646495810" . + "0612110a0d4954454d5f315f484541444552106412160a124954454d5f31" . + "5f4445534352495054494f4e106512100a0c4954454d5f315f5052494345" . + "1066120f0a0b4954454d5f315f554e4954106712150a114954454d5f315f" . + "46494e414c5f55524c531068121c0a184954454d5f315f46494e414c5f4d" . + "4f42494c455f55524c53106912120a0d4954454d5f325f48454144455210" . + "c80112170a124954454d5f325f4445534352495054494f4e10c90112110a" . + "0c4954454d5f325f505249434510ca0112100a0b4954454d5f325f554e49" . + "5410cb0112160a114954454d5f325f46494e414c5f55524c5310cc01121d" . + "0a184954454d5f325f46494e414c5f4d4f42494c455f55524c5310cd0112" . + "120a0d4954454d5f335f48454144455210ac0212170a124954454d5f335f" . + "4445534352495054494f4e10ad0212110a0c4954454d5f335f5052494345" . + "10ae0212100a0b4954454d5f335f554e495410af0212160a114954454d5f" . + "335f46494e414c5f55524c5310b002121d0a184954454d5f335f46494e41" . + "4c5f4d4f42494c455f55524c5310b10212120a0d4954454d5f345f484541" . + "44455210900312170a124954454d5f345f4445534352495054494f4e1091" . + "0312110a0c4954454d5f345f505249434510920312100a0b4954454d5f34" . + "5f554e495410930312160a114954454d5f345f46494e414c5f55524c5310" . + "9403121d0a184954454d5f345f46494e414c5f4d4f42494c455f55524c53" . + "10950312120a0d4954454d5f355f48454144455210f40312170a12495445" . + "4d5f355f4445534352495054494f4e10f50312110a0c4954454d5f355f50" . + "5249434510f60312100a0b4954454d5f355f554e495410f70312160a1149" . + "54454d5f355f46494e414c5f55524c5310f803121d0a184954454d5f355f" . + "46494e414c5f4d4f42494c455f55524c5310f90312120a0d4954454d5f36" . + "5f48454144455210d80412170a124954454d5f365f444553435249505449" . + "4f4e10d90412110a0c4954454d5f365f505249434510da0412100a0b4954" . + "454d5f365f554e495410db0412160a114954454d5f365f46494e414c5f55" . + "524c5310dc04121d0a184954454d5f365f46494e414c5f4d4f42494c455f" . + "55524c5310dd0412120a0d4954454d5f375f48454144455210bc0512170a" . + "124954454d5f375f4445534352495054494f4e10bd0512110a0c4954454d" . + "5f375f505249434510be0512100a0b4954454d5f375f554e495410bf0512" . + "160a114954454d5f375f46494e414c5f55524c5310c005121d0a18495445" . + "4d5f375f46494e414c5f4d4f42494c455f55524c5310c10512120a0d4954" . + "454d5f385f48454144455210a00612170a124954454d5f385f4445534352" . + "495054494f4e10a10612110a0c4954454d5f385f505249434510a2061210" . + "0a0b4954454d5f385f554e495410a30612160a114954454d5f385f46494e" . + "414c5f55524c5310a406121d0a184954454d5f385f46494e414c5f4d4f42" . + "494c455f55524c5310a50642ef010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d73421a5072696365506c6163" . + "65686f6c6465724669656c6450726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevel.php new file mode 100644 index 000000000..5eb6a9c18 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevel.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a80040a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f62696464696e675f63617465676f72795f" . + "6c6576656c2e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73229a010a1f50726f6475637442696464696e" . + "6743617465676f72794c6576656c456e756d22770a1b50726f6475637442" . + "696464696e6743617465676f72794c6576656c120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120a0a064c4556454c3110" . + "02120a0a064c4556454c321003120a0a064c4556454c331004120a0a064c" . + "4556454c341005120a0a064c4556454c35100642f5010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73422050" . + "726f6475637442696464696e6743617465676f72794c6576656c50726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatus.php new file mode 100644 index 000000000..5dc1629e1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae1030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f62696464696e675f63617465676f72795f" . + "7374617475732e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73227a0a2050726f6475637442696464696e" . + "6743617465676f7279537461747573456e756d22560a1c50726f64756374" . + "42696464696e6743617465676f7279537461747573120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001120a0a064143544956" . + "451002120c0a084f42534f4c455445100342f6010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d73422150726f" . + "6475637442696464696e6743617465676f727953746174757350726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannel.php new file mode 100644 index 000000000..7bc12d665 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannel.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa4030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f6368616e6e656c2e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73225b0a" . + "1250726f647563744368616e6e656c456e756d22450a0e50726f64756374" . + "4368616e6e656c120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e1001120a0a064f4e4c494e45100212090a054c4f43414c1003" . + "42e8010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d73421350726f647563744368616e6e656c50726f746f50" . + "015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f656e" . + "756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e456e756d73ca021d476f6f676c655c416473" . + "5c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivity.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivity.php new file mode 100644 index 000000000..c7ee5ddfc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivity.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae2030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f6368616e6e656c5f6578636c7573697669" . + "74792e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732281010a1d50726f647563744368616e6e656c4578" . + "636c75736976697479456e756d22600a1950726f647563744368616e6e65" . + "6c4578636c75736976697479120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e100112120a0e53494e474c455f4348414e4e454c" . + "100212110a0d4d554c54495f4348414e4e454c100342f3010a21636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7342" . + "1e50726f647563744368616e6e656c4578636c7573697669747950726f74" . + "6f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "656e756d733b656e756d73a20203474141aa021d476f6f676c652e416473" . + "2e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c41" . + "64735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProductCondition.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductCondition.php new file mode 100644 index 000000000..031266087 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductCondition.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab9030a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f636f6e646974696f6e2e70726f746f121d" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7322" . + "6c0a1450726f64756374436f6e646974696f6e456e756d22540a1050726f" . + "64756374436f6e646974696f6e120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112070a034e45571003120f0a0b52454655" . + "52424953484544100412080a0455534544100542ea010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73421550" . + "726f64756374436f6e646974696f6e50726f746f50015a42676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f656e756d733b656e756d73" . + "a20203474141aa021d476f6f676c652e4164732e476f6f676c654164732e" . + "56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164" . + "735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevel.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevel.php new file mode 100644 index 000000000..33cc5dabc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevel.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad3030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f647563745f747970655f6c6576656c2e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2284010a1450726f64756374547970654c6576656c456e756d226c0a1050" . + "726f64756374547970654c6576656c120f0a0b554e535045434946494544" . + "1000120b0a07554e4b4e4f574e1001120a0a064c4556454c311007120a0a" . + "064c4556454c321008120a0a064c4556454c331009120a0a064c4556454c" . + "34100a120a0a064c4556454c35100b42ea010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d73421550726f6475" . + "6374547970654c6576656c50726f746f50015a42676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f656e756d733b656e756d73a2020347" . + "4141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "6e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164" . + "733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifier.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifier.php new file mode 100644 index 000000000..bc8c741c0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifier.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aea030a49676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f6d6f74696f6e5f657874656e73696f6e5f646973636f" . + "756e745f6d6f6469666965722e70726f746f121d676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d7322770a2650726f6d6f7469" . + "6f6e457874656e73696f6e446973636f756e744d6f646966696572456e75" . + "6d224d0a2250726f6d6f74696f6e457874656e73696f6e446973636f756e" . + "744d6f646966696572120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112090a0555505f544f100242fc010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d734227" . + "50726f6d6f74696f6e457874656e73696f6e446973636f756e744d6f6469" . + "6669657250726f746f50015a42676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f656e756d733b656e756d73a20203474141aa021d476f" . + "6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d" . + "476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea" . + "0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasion.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasion.php new file mode 100644 index 000000000..f47d3f832 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasion.php @@ -0,0 +1,60 @@ +internalAddGeneratedFile(hex2bin( + "0a9f080a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f6d6f74696f6e5f657874656e73696f6e5f6f63636173" . + "696f6e2e70726f746f121d676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d7322bc050a1e50726f6d6f74696f6e457874656e73" . + "696f6e4f63636173696f6e456e756d2299050a1a50726f6d6f74696f6e45" . + "7874656e73696f6e4f63636173696f6e120f0a0b554e5350454349464945" . + "441000120b0a07554e4b4e4f574e1001120d0a094e45575f594541525310" . + "0212140a104348494e4553455f4e45575f59454152100312120a0e56414c" . + "454e54494e45535f4441591004120a0a064541535445521005120f0a0b4d" . + "4f54484552535f4441591006120f0a0b464154484552535f444159100712" . + "0d0a094c41424f525f444159100812120a0e4241434b5f544f5f5343484f" . + "4f4c1009120d0a0948414c4c4f5745454e100a12100a0c424c41434b5f46" . + "5249444159100b12100a0c43594245525f4d4f4e444159100c120d0a0943" . + "48524953544d4153100d120e0a0a424f58494e475f444159100e12140a10" . + "494e444550454e44454e43455f444159100f12100a0c4e4154494f4e414c" . + "5f444159101012110a0d454e445f4f465f534541534f4e1011120f0a0b57" . + "494e5445525f53414c451012120f0a0b53554d4d45525f53414c45101312" . + "0d0a0946414c4c5f53414c451014120f0a0b535052494e475f53414c4510" . + "15120b0a0752414d4144414e1016120f0a0b4549445f414c5f4649545210" . + "17120f0a0b4549445f414c5f414448411018120f0a0b53494e474c45535f" . + "4441591019120e0a0a574f4d454e535f444159101a12080a04484f4c4910" . + "1b120f0a0b504152454e54535f444159101c12130a0f53545f4e4943484f" . + "4c41535f444159101d120c0a084341524e4956414c101e120c0a08455049" . + "5048414e59101f12110a0d524f53485f48415348414e41481020120c0a08" . + "504153534f5645521021120c0a0848414e554b4b41481022120a0a064449" . + "57414c491023120c0a084e415652415452491024120c0a08534f4e474b52" . + "414e102512110a0d594541525f454e445f47494654102642f4010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "73421f50726f6d6f74696f6e457874656e73696f6e4f63636173696f6e50" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderField.php new file mode 100644 index 000000000..080bd88c3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderField.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0acf050a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f6d6f74696f6e5f706c616365686f6c6465725f666965" . + "6c642e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d7322ee020a1d50726f6d6f74696f6e506c616365686f" . + "6c6465724669656c64456e756d22cc020a1950726f6d6f74696f6e506c61" . + "6365686f6c6465724669656c64120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112140a1050524f4d4f54494f4e5f544152" . + "474554100212150a11444953434f554e545f4d4f4449464945521003120f" . + "0a0b50455243454e545f4f4646100412140a104d4f4e45595f414d4f554e" . + "545f4f4646100512120a0e50524f4d4f54494f4e5f434f4445100612160a" . + "124f52444552535f4f5645525f414d4f554e54100712130a0f50524f4d4f" . + "54494f4e5f5354415254100812110a0d50524f4d4f54494f4e5f454e4410" . + "09120c0a084f43434153494f4e100a120e0a0a46494e414c5f55524c5310" . + "0b12150a1146494e414c5f4d4f42494c455f55524c53100c12100a0c5452" . + "41434b494e475f55524c100d120c0a084c414e4755414745100e12140a10" . + "46494e414c5f55524c5f535546464958100f42f3010a21636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d73421e5072" . + "6f6d6f74696f6e506c616365686f6c6465724669656c6450726f746f5001" . + "5a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f656e75" . + "6d733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f" . + "6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c" . + "476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnits.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnits.php new file mode 100644 index 000000000..aaf808e00 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnits.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac1030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f70726f78696d6974795f7261646975735f756e6974732e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d73226b0a1850726f78696d697479526164697573556e697473456e" . + "756d224f0a1450726f78696d697479526164697573556e697473120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e100112090a05" . + "4d494c45531002120e0a0a4b494c4f4d4554455253100342ee010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "73421950726f78696d697479526164697573556e69747350726f746f5001" . + "5a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f656e75" . + "6d733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f" . + "6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c" . + "476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucket.php b/metadata/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucket.php new file mode 100644 index 000000000..999359a2f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucket.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad1030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7175616c6974795f73636f72655f6275636b65742e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d73227f0a165175616c69747953636f72654275636b6574456e756d2265" . + "0a125175616c69747953636f72654275636b6574120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e100112110a0d42454c4f575f" . + "415645524147451002120b0a0741564552414745100312110a0d41424f56" . + "455f41564552414745100442ec010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d7342175175616c6974795363" . + "6f72654275636b657450726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderField.php new file mode 100644 index 000000000..8ffea016b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderField.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0a8d060a41676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7265616c5f6573746174655f706c616365686f6c6465725f66" . + "69656c642e70726f746f121d676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d7322a9030a1e5265616c457374617465506c6163" . + "65686f6c6465724669656c64456e756d2286030a1a5265616c4573746174" . + "65506c616365686f6c6465724669656c64120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001120e0a0a4c495354494e475f49" . + "44100212100a0c4c495354494e475f4e414d451003120d0a09434954595f" . + "4e414d451004120f0a0b4445534352495054494f4e1005120b0a07414444" . + "52455353100612090a055052494345100712130a0f464f524d4154544544" . + "5f50524943451008120d0a09494d4147455f55524c100912110a0d50524f" . + "50455254595f54595045100a12100a0c4c495354494e475f54595045100b" . + "12170a13434f4e5445585455414c5f4b4559574f524453100c120e0a0a46" . + "494e414c5f55524c53100d12150a1146494e414c5f4d4f42494c455f5552" . + "4c53100e12100a0c545241434b494e475f55524c100f12140a10414e4452" . + "4f49445f4150505f4c494e4b101012170a1353494d494c41525f4c495354" . + "494e475f494453101112100a0c494f535f4150505f4c494e4b101212140a" . + "10494f535f4150505f53544f52455f4944101342f4010a21636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73421f52" . + "65616c457374617465506c616365686f6c6465724669656c6450726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/RecommendationType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/RecommendationType.php new file mode 100644 index 000000000..ab88f8129 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/RecommendationType.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ae4050a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7265636f6d6d656e646174696f6e5f747970652e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732292030a165265636f6d6d656e646174696f6e54797065456e756d22f7" . + "020a125265636f6d6d656e646174696f6e54797065120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e100112130a0f43414d5041" . + "49474e5f4255444745541002120b0a074b4559574f52441003120b0a0754" . + "4558545f4144100412150a115441524745545f4350415f4f50545f494e10" . + "05121f0a1b4d4158494d495a455f434f4e56455253494f4e535f4f50545f" . + "494e100612170a13454e48414e4345445f4350435f4f50545f494e100712" . + "1a0a165345415243485f504152544e4552535f4f50545f494e1008121a0a" . + "164d4158494d495a455f434c49434b535f4f50545f494e100912180a144f" . + "5054494d495a455f41445f524f544154494f4e100a12150a1143414c4c4f" . + "55545f455854454e53494f4e100b12160a12534954454c494e4b5f455854" . + "454e53494f4e100c12120a0e43414c4c5f455854454e53494f4e100d1216" . + "0a124b4559574f52445f4d415443485f54595045100e12160a124d4f5645" . + "5f554e555345445f425544474554100f42ec010a21636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d7342175265636f" . + "6d6d656e646174696f6e5479706550726f746f50015a42676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f656e756d733b656e756d73a2" . + "0203474141aa021d476f6f676c652e4164732e476f6f676c654164732e56" . + "322e456e756d73ca021d476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageType.php new file mode 100644 index 000000000..8484a8416 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0afa030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7365617263685f656e67696e655f726573756c74735f706167" . + "655f747970652e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732293010a1f536561726368456e67696e65" . + "526573756c74735061676554797065456e756d22700a1b53656172636845" . + "6e67696e65526573756c74735061676554797065120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001120c0a084144535f4f4e" . + "4c59100212100a0c4f5247414e49435f4f4e4c59100312130a0f4144535f" . + "414e445f4f5247414e4943100442f5010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73422053656172636845" . + "6e67696e65526573756c7473506167655479706550726f746f50015a4267" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f656e756d733b" . + "656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c" . + "654164732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f" . + "676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchType.php new file mode 100644 index 000000000..7f9ef7373 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae7030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7365617263685f7465726d5f6d617463685f747970652e7072" . + "6f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732291010a175365617263685465726d4d6174636854797065456e" . + "756d22760a135365617263685465726d4d6174636854797065120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112090a0542" . + "524f4144100212090a0545584143541003120a0a06504852415345100412" . + "0e0a0a4e4541525f45584143541005120f0a0b4e4541525f504852415345" . + "100642ed010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d7342185365617263685465726d4d61746368547970" . + "6550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f656e756d733b656e756d73a20203474141aa021d476f6f676c" . + "652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f" . + "676c655c4164735c476f6f676c654164735c56325c456e756d73ea022147" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e75" . + "6d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatus.php new file mode 100644 index 000000000..584076225 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af3030a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7365617263685f7465726d5f746172676574696e675f737461" . + "7475732e70726f746f121d676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d732291010a1d5365617263685465726d5461726765" . + "74696e67537461747573456e756d22700a195365617263685465726d5461" . + "72676574696e67537461747573120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112090a0541444445441002120c0a084558" . + "434c55444544100312120a0e41444445445f4558434c5544454410041208" . + "0a044e4f4e45100542f3010a21636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d73421e5365617263685465726d5461" . + "72676574696e6753746174757350726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldType.php new file mode 100644 index 000000000..976446198 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0aff030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7365727665645f61737365745f6669656c645f747970652e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d7322a7010a1853657276656441737365744669656c6454797065" . + "456e756d228a010a1453657276656441737365744669656c645479706512" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "0e0a0a484541444c494e455f311002120e0a0a484541444c494e455f3210" . + "03120e0a0a484541444c494e455f33100412110a0d444553435249505449" . + "4f4e5f31100512110a0d4445534352495054494f4e5f32100642ee010a21" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d73421953657276656441737365744669656c645479706550726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetStatus.php new file mode 100644 index 000000000..0080fd226 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetStatus.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aac030a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7368617265645f7365745f7374617475732e70726f746f121d" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d7322" . + "600a13536861726564536574537461747573456e756d22490a0f53686172" . + "6564536574537461747573120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001120b0a07454e41424c45441002120b0a075245" . + "4d4f564544100342e9010a21636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d73421453686172656453657453746174" . + "757350726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetType.php new file mode 100644 index 000000000..61258333c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SharedSetType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aba030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7368617265645f7365745f747970652e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d7322720a" . + "1153686172656453657454797065456e756d225d0a0d5368617265645365" . + "7454797065120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112150a114e454741544956455f4b4559574f52445310021217" . + "0a134e454741544956455f504c4143454d454e5453100342e7010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7342125368617265645365745479706550726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethod.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethod.php new file mode 100644 index 000000000..be60b46c4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethod.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae0030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f73696d756c6174696f6e5f6d6f64696669636174696f6e5f6d" . + "6574686f642e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73227a0a2053696d756c6174696f6e4d6f6469" . + "6669636174696f6e4d6574686f64456e756d22560a1c53696d756c617469" . + "6f6e4d6f64696669636174696f6e4d6574686f64120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001120b0a07554e49464f52" . + "4d1002120b0a0744454641554c54100342f6010a21636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d73422153696d75" . + "6c6174696f6e4d6f64696669636174696f6e4d6574686f6450726f746f50" . + "015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f656e" . + "756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e456e756d73ca021d476f6f676c655c416473" . + "5c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SimulationType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SimulationType.php new file mode 100644 index 000000000..3f4bc45fb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SimulationType.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0aca030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f73696d756c6174696f6e5f747970652e70726f746f121d676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d73228001" . + "0a1253696d756c6174696f6e54797065456e756d226a0a0e53696d756c61" . + "74696f6e54797065120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120b0a074350435f4249441002120b0a074350565f42" . + "49441003120e0a0a5441524745545f435041100412100a0c4249445f4d4f" . + "444946494552100542e8010a21636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d73421353696d756c6174696f6e5479" . + "706550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderField.php new file mode 100644 index 000000000..f3e118ea1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderField.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa9040a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f736974656c696e6b5f706c616365686f6c6465725f6669656c" . + "642e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322ca010a1c536974656c696e6b506c616365686f6c64" . + "65724669656c64456e756d22a9010a18536974656c696e6b506c61636568" . + "6f6c6465724669656c64120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e100112080a04544558541002120a0a064c494e455f31" . + "1003120a0a064c494e455f321004120e0a0a46494e414c5f55524c531005" . + "12150a1146494e414c5f4d4f42494c455f55524c53100612100a0c545241" . + "434b494e475f55524c100712140a1046494e414c5f55524c5f5355464649" . + "58100842f2010a21636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d73421d536974656c696e6b506c616365686f6c64" . + "65724669656c6450726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/Slot.php b/metadata/Google/Ads/GoogleAds/V2/Enums/Slot.php new file mode 100644 index 000000000..d4c267b27 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/Slot.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae3030a28676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f736c6f742e70726f746f121d676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d7322ae010a08536c6f74456e756d22" . + "a1010a04536c6f74120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120f0a0b5345415243485f534944451002120e0a0a53" . + "45415243485f544f50100312100a0c5345415243485f4f54484552100412" . + "0b0a07434f4e54454e54100512160a125345415243485f504152544e4552" . + "5f544f50100612180a145345415243485f504152544e45525f4f54484552" . + "100712090a054d49584544100842de010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d734209536c6f7450726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SpendingLimitType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SpendingLimitType.php new file mode 100644 index 000000000..838d27ae2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SpendingLimitType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa8030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7370656e64696e675f6c696d69745f747970652e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7322580a155370656e64696e674c696d697454797065456e756d223f0a11" . + "5370656e64696e674c696d697454797065120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001120c0a08494e46494e49544510" . + "0242eb010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d7342165370656e64696e674c696d6974547970655072" . + "6f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e41" . + "64732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderField.php new file mode 100644 index 000000000..6c0c57905 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderField.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af6030a48676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f737472756374757265645f736e69707065745f706c61636568" . + "6f6c6465725f6669656c642e70726f746f121d676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732284010a2553747275637475" . + "726564536e6970706574506c616365686f6c6465724669656c64456e756d" . + "225b0a2153747275637475726564536e6970706574506c616365686f6c64" . + "65724669656c64120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e1001120a0a064845414445521002120c0a08534e4950504554" . + "53100342fb010a21636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d73422653747275637475726564536e6970706574" . + "506c616365686f6c6465724669656c6450726f746f50015a42676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f656e756d733b656e756d" . + "73a20203474141aa021d476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/SystemManagedEntitySource.php b/metadata/Google/Ads/GoogleAds/V2/Enums/SystemManagedEntitySource.php new file mode 100644 index 000000000..a19d22b80 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/SystemManagedEntitySource.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad2030a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f73797374656d5f6d616e616765645f656e746974795f736f75" . + "7263652e70726f746f121d676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d7322710a1f53797374656d4d616e61676564526573" . + "6f75726365536f75726365456e756d224e0a1b53797374656d4d616e6167" . + "65645265736f75726365536f75726365120f0a0b554e5350454349464945" . + "441000120b0a07554e4b4e4f574e100112110a0d41445f56415249415449" . + "4f4e53100242f3010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73421e53797374656d4d616e61676564456e" . + "74697479536f7572636550726f746f50015a42676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f656e756d733b656e756d73a202034741" . + "41aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e" . + "756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c" . + "456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoal.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoal.php new file mode 100644 index 000000000..6842139bd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoal.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a9f040a49676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7461726765745f6370615f6f70745f696e5f7265636f6d6d65" . + "6e646174696f6e5f676f616c2e70726f746f121d676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d7322ad010a24546172676574" . + "4370614f7074496e5265636f6d6d656e646174696f6e476f616c456e756d" . + "2284010a205461726765744370614f7074496e5265636f6d6d656e646174" . + "696f6e476f616c120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e1001120d0a0953414d455f434f5354100212140a1053414d45" . + "5f434f4e56455253494f4e531003120c0a0853414d455f4350411004120f" . + "0a0b434c4f534553545f435041100542fa010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d7342255461726765" . + "744370614f7074496e5265636f6d6d656e646174696f6e476f616c50726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocation.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocation.php new file mode 100644 index 000000000..85bcd0d89 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocation.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a8d040a44676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7461726765745f696d7072657373696f6e5f73686172655f6c" . + "6f636174696f6e2e70726f746f121d676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d7322a3010a21546172676574496d707265" . + "7373696f6e53686172654c6f636174696f6e456e756d227e0a1d54617267" . + "6574496d7072657373696f6e53686172654c6f636174696f6e120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112140a1041" . + "4e5957484552455f4f4e5f504147451002120f0a0b544f505f4f465f5041" . + "4745100312180a144142534f4c5554455f544f505f4f465f504147451004" . + "42f7010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d734222546172676574496d7072657373696f6e53686172" . + "654c6f636174696f6e50726f746f50015a42676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f656e756d733b656e756d73a20203474141" . + "aa021d476f6f676c652e4164732e476f6f676c654164732e56322e456e75" . + "6d73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "6e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TargetingDimension.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TargetingDimension.php new file mode 100644 index 000000000..92d4e1e36 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TargetingDimension.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a96040a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f746172676574696e675f64696d656e73696f6e2e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7322c4010a16546172676574696e6744696d656e73696f6e456e756d22a9" . + "010a12546172676574696e6744696d656e73696f6e120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001120b0a074b4559574f" . + "52441002120c0a0841554449454e4345100312090a05544f504943100412" . + "0a0a0647454e4445521005120d0a094147455f52414e47451006120d0a09" . + "504c4143454d454e54100712130a0f504152454e54414c5f535441545553" . + "100812100a0c494e434f4d455f52414e4745100942ec010a21636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d734217" . + "546172676574696e6744696d656e73696f6e50726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TimeType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TimeType.php new file mode 100644 index 000000000..8a8431bc1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TimeType.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a8b030a2d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f74696d655f747970652e70726f746f121d676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d73224e0a0c54696d6554" . + "797065456e756d223e0a0854696d6554797065120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112070a034e4f571002120b" . + "0a07464f5245564552100342e2010a21636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d73420d54696d655479706550" . + "726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f656e756d733b656e756d73a20203474141aa021d476f6f676c652e" . + "4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c" . + "655c4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d73" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormat.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormat.php new file mode 100644 index 000000000..e7c463135 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormat.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac2030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f747261636b696e675f636f64655f706167655f666f726d6174" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d7322670a1a547261636b696e67436f646550616765466f72" . + "6d6174456e756d22490a16547261636b696e67436f646550616765466f72" . + "6d6174120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112080a0448544d4c100212070a03414d50100342f0010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "421b547261636b696e67436f646550616765466f726d617450726f746f50" . + "015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f656e" . + "756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e456e756d73ca021d476f6f676c655c416473" . + "5c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodeType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodeType.php new file mode 100644 index 000000000..581c32f19 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TrackingCodeType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ade030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f747261636b696e675f636f64655f747970652e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "228f010a14547261636b696e67436f646554797065456e756d22770a1054" . + "7261636b696e67436f646554797065120f0a0b554e535045434946494544" . + "1000120b0a07554e4b4e4f574e1001120b0a075745425041474510021213" . + "0a0f574542504147455f4f4e434c49434b100312110a0d434c49434b5f54" . + "4f5f43414c4c100412100a0c574542534954455f43414c4c100542ea010a" . + "21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d734215547261636b696e67436f64655479706550726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderField.php b/metadata/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderField.php new file mode 100644 index 000000000..c317f15a4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderField.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0ab1060a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f74726176656c5f706c616365686f6c6465725f6669656c642e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d7322d6030a1a54726176656c506c616365686f6c6465724669" . + "656c64456e756d22b7030a1654726176656c506c616365686f6c64657246" . + "69656c64120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e100112120a0e44455354494e4154494f4e5f49441002120d0a094f52" . + "4947494e5f4944100312090a055449544c45100412140a1044455354494e" . + "4154494f4e5f4e414d451005120f0a0b4f524947494e5f4e414d45100612" . + "090a055052494345100712130a0f464f524d41545445445f505249434510" . + "08120e0a0a53414c455f5052494345100912180a14464f524d4154544544" . + "5f53414c455f5052494345100a120d0a09494d4147455f55524c100b120c" . + "0a0843415445474f5259100c12170a13434f4e5445585455414c5f4b4559" . + "574f524453100d12170a1344455354494e4154494f4e5f41444452455353" . + "100e120d0a0946494e414c5f55524c100f12150a1146494e414c5f4d4f42" . + "494c455f55524c53101012100a0c545241434b494e475f55524c10111214" . + "0a10414e44524f49445f4150505f4c494e4b1012121b0a1753494d494c41" . + "525f44455354494e4154494f4e5f494453101312100a0c494f535f415050" . + "5f4c494e4b101412140a10494f535f4150505f53544f52455f4944101542" . + "f0010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d73421b54726176656c506c616365686f6c6465724669656c" . + "6450726f746f50015a42676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f656e756d733b656e756d73a20203474141aa021d476f6f676c" . + "652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f6f" . + "676c655c4164735c476f6f676c654164735c56325c456e756d73ea022147" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e75" . + "6d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyType.php new file mode 100644 index 000000000..fc532f232 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyType.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a9f040a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f696e7465726573745f7461786f6e6f6d795f7479" . + "70652e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d7322bf010a1c55736572496e7465726573745461786f" . + "6e6f6d7954797065456e756d229e010a1855736572496e74657265737454" . + "61786f6e6f6d7954797065120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001120c0a08414646494e4954591002120d0a0949" . + "4e5f4d41524b45541003121b0a174d4f42494c455f4150505f494e535441" . + "4c4c5f55534552100412100a0c564552544943414c5f47454f100512180a" . + "144e45575f534d4152545f50484f4e455f55534552100642f2010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "73421d55736572496e7465726573745461786f6e6f6d795479706550726f" . + "746f50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f656e756d733b656e756d73a20203474141aa021d476f6f676c652e4164" . + "732e476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c" . + "4164735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a456e756d736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatus.php new file mode 100644 index 000000000..e416eb10b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac2030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f6163636573735f7374617475732e70" . + "726f746f121d676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d73226b0a18557365724c69737441636365737353746174757345" . + "6e756d224f0a14557365724c697374416363657373537461747573120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120b0a" . + "07454e41424c45441002120c0a0844495341424c4544100342ee010a2163" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d734219557365724c69737441636365737353746174757350726f746f50" . + "015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f656e" . + "756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e456e756d73ca021d476f6f676c655c416473" . + "5c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListClosingReason.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListClosingReason.php new file mode 100644 index 000000000..214897015 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListClosingReason.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab7030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f636c6f73696e675f726561736f6e2e" . + "70726f746f121d676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d73225e0a19557365724c697374436c6f73696e67526561736f" . + "6e456e756d22410a15557365724c697374436c6f73696e67526561736f6e" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "120a0a06554e55534544100242ef010a21636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d73421a557365724c697374" . + "436c6f73696e67526561736f6e50726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperator.php new file mode 100644 index 000000000..8e171b882 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperator.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ade030a44676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f636f6d62696e65645f72756c655f6f" . + "70657261746f722e70726f746f121d676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d7322760a20557365724c697374436f6d62" . + "696e656452756c654f70657261746f72456e756d22520a1c557365724c69" . + "7374436f6d62696e656452756c654f70657261746f72120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e100112070a03414e4410" . + "02120b0a07414e445f4e4f54100342f6010a21636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d734221557365724c69" . + "7374436f6d62696e656452756c654f70657261746f7250726f746f50015a" . + "42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f656e756d" . + "733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f6f" . + "676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceType.php new file mode 100644 index 000000000..ab05e89e3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceType.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a8b040a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f63726d5f646174615f736f75726365" . + "5f747970652e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d7322a7010a1d557365724c69737443726d4461" . + "7461536f7572636554797065456e756d2285010a19557365724c69737443" . + "726d44617461536f7572636554797065120f0a0b554e5350454349464945" . + "441000120b0a07554e4b4e4f574e1001120f0a0b46495253545f50415254" . + "591002121d0a1954484952445f50415254595f4352454449545f42555245" . + "41551003121a0a1654484952445f50415254595f564f5445525f46494c45" . + "100442f3010a21636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d73421e557365724c69737443726d44617461536f75" . + "7263655479706550726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperator.php new file mode 100644 index 000000000..0d3242ca7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperator.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0afd030a45676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f646174655f72756c655f6974656d5f" . + "6f70657261746f722e70726f746f121d676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732293010a20557365724c6973744461" . + "746552756c654974656d4f70657261746f72456e756d226f0a1c55736572" . + "4c6973744461746552756c654974656d4f70657261746f72120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e1001120a0a064551" . + "55414c531002120e0a0a4e4f545f455155414c531003120a0a064245464f" . + "5245100412090a054146544552100542f6010a21636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d734221557365724c" . + "6973744461746552756c654974656d4f70657261746f7250726f746f5001" . + "5a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f656e75" . + "6d733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f" . + "6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c" . + "476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperator.php new file mode 100644 index 000000000..0978f821f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperator.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae0030a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f6c6f676963616c5f72756c655f6f70" . + "657261746f722e70726f746f121d676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d73227a0a1f557365724c6973744c6f676963" . + "616c52756c654f70657261746f72456e756d22570a1b557365724c697374" . + "4c6f676963616c52756c654f70657261746f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112070a03414c4c10021207" . + "0a03414e59100312080a044e4f4e45100442f5010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d734220557365" . + "724c6973744c6f676963616c52756c654f70657261746f7250726f746f50" . + "015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f656e" . + "756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e456e756d73ca021d476f6f676c655c416473" . + "5c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatus.php new file mode 100644 index 000000000..2a06cc675 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatus.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acd030a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f6d656d626572736869705f73746174" . + "75732e70726f746f121d676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73226e0a1c557365724c6973744d656d626572736869" . + "70537461747573456e756d224e0a18557365724c6973744d656d62657273" . + "686970537461747573120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112080a044f50454e1002120a0a06434c4f53454410" . + "0342f2010a21636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d73421d557365724c6973744d656d6265727368697053" . + "746174757350726f746f50015a42676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f656e756d733b656e756d73a20203474141aa021d47" . + "6f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca02" . + "1d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d73" . + "ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperator.php new file mode 100644 index 000000000..ba5633eb7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperator.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ac3040a47676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f6e756d6265725f72756c655f697465" . + "6d5f6f70657261746f722e70726f746f121d676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d7322d5010a22557365724c697374" . + "4e756d62657252756c654974656d4f70657261746f72456e756d22ae010a" . + "1e557365724c6973744e756d62657252756c654974656d4f70657261746f" . + "72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "0112100a0c475245415445525f5448414e100212190a1547524541544552" . + "5f5448414e5f4f525f455155414c1003120a0a06455155414c531004120e" . + "0a0a4e4f545f455155414c531005120d0a094c4553535f5448414e100612" . + "160a124c4553535f5448414e5f4f525f455155414c100742f8010a21636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "734223557365724c6973744e756d62657252756c654974656d4f70657261" . + "746f7250726f746f50015a42676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f656e756d733b656e756d73a20203474141aa021d476f6f" . + "676c652e4164732e476f6f676c654164732e56322e456e756d73ca021d47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea02" . + "21476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "6e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatus.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatus.php new file mode 100644 index 000000000..b5a65c2e3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatus.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aed030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f707265706f70756c6174696f6e5f73" . + "74617475732e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732287010a1f557365724c697374507265706f" . + "70756c6174696f6e537461747573456e756d22640a1b557365724c697374" . + "507265706f70756c6174696f6e537461747573120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120d0a0952455155455354" . + "45441002120c0a0846494e49534845441003120a0a064641494c45441004" . + "42f5010a21636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d734220557365724c697374507265706f70756c6174696f" . + "6e53746174757350726f746f50015a42676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f656e756d733b656e756d73a20203474141aa02" . + "1d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73" . + "ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e75" . + "6d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListRuleType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListRuleType.php new file mode 100644 index 000000000..5f0ab1a2e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListRuleType.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab7030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f72756c655f747970652e70726f746f" . + "121d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "7322680a14557365724c69737452756c6554797065456e756d22500a1055" . + "7365724c69737452756c6554797065120f0a0b554e535045434946494544" . + "1000120b0a07554e4b4e4f574e1001120e0a0a414e445f4f465f4f525310" . + "02120e0a0a4f525f4f465f414e4453100342ea010a21636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d734215557365" . + "724c69737452756c655479706550726f746f50015a42676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f656e756d733b656e756d73a202" . + "03474141aa021d476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c" . + "56325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListSizeRange.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListSizeRange.php new file mode 100644 index 000000000..f2d91f2ae --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListSizeRange.php @@ -0,0 +1,58 @@ +internalAddGeneratedFile(hex2bin( + "0ae6070a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f73697a655f72616e67652e70726f74" . + "6f121d676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732294050a15557365724c69737453697a6552616e6765456e756d22fa" . + "040a11557365724c69737453697a6552616e6765120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001121a0a164c4553535f54" . + "48414e5f464956455f48554e445245441002121a0a164c4553535f544841" . + "4e5f4f4e455f54484f5553414e44100312200a1c4f4e455f54484f555341" . + "4e445f544f5f54454e5f54484f5553414e44100412220a1e54454e5f5448" . + "4f5553414e445f544f5f46494654595f54484f5553414e441005122a0a26" . + "46494654595f54484f5553414e445f544f5f4f4e455f48554e445245445f" . + "54484f5553414e44100612320a2e4f4e455f48554e445245445f54484f55" . + "53414e445f544f5f54485245455f48554e445245445f54484f5553414e44" . + "100712330a2f54485245455f48554e445245445f54484f5553414e445f54" . + "4f5f464956455f48554e445245445f54484f5553414e44100812280a2446" . + "4956455f48554e445245445f54484f5553414e445f544f5f4f4e455f4d49" . + "4c4c494f4e1009121e0a1a4f4e455f4d494c4c494f4e5f544f5f54574f5f" . + "4d494c4c494f4e100a12200a1c54574f5f4d494c4c494f4e5f544f5f5448" . + "5245455f4d494c4c494f4e100b12210a1d54485245455f4d494c4c494f4e" . + "5f544f5f464956455f4d494c4c494f4e100c121f0a1b464956455f4d494c" . + "4c494f4e5f544f5f54454e5f4d494c4c494f4e100d12210a1d54454e5f4d" . + "494c4c494f4e5f544f5f5457454e54595f4d494c4c494f4e100e12240a20" . + "5457454e54595f4d494c4c494f4e5f544f5f5448495254595f4d494c4c49" . + "4f4e100f12230a1f5448495254595f4d494c4c494f4e5f544f5f46494654" . + "595f4d494c4c494f4e101012160a124f5645525f46494654595f4d494c4c" . + "494f4e101142eb010a21636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d734216557365724c69737453697a6552616e" . + "676550726f746f50015a42676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f656e756d733b656e756d73a20203474141aa021d476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e456e756d73ca021d476f" . + "6f676c655c4164735c476f6f676c654164735c56325c456e756d73ea0221" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a456e" . + "756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperator.php new file mode 100644 index 000000000..a391c4a8f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperator.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0ad7040a47676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f737472696e675f72756c655f697465" . + "6d5f6f70657261746f722e70726f746f121d676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d7322e9010a22557365724c697374" . + "537472696e6752756c654974656d4f70657261746f72456e756d22c2010a" . + "1e557365724c697374537472696e6752756c654974656d4f70657261746f" . + "72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "01120c0a08434f4e5441494e531002120a0a06455155414c531003120f0a" . + "0b5354415254535f574954481004120d0a09454e44535f57495448100512" . + "0e0a0a4e4f545f455155414c53100612100a0c4e4f545f434f4e5441494e" . + "53100712130a0f4e4f545f5354415254535f57495448100812110a0d4e4f" . + "545f454e44535f57495448100942f8010a21636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d734223557365724c6973" . + "74537472696e6752756c654974656d4f70657261746f7250726f746f5001" . + "5a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f656e75" . + "6d733b656e756d73a20203474141aa021d476f6f676c652e4164732e476f" . + "6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164735c" . + "476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a456e756d73620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/UserListType.php b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListType.php new file mode 100644 index 000000000..d93a87a28 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/UserListType.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aec030a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f6c6973745f747970652e70726f746f121d676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d7322a5010a" . + "10557365724c69737454797065456e756d2290010a0c557365724c697374" . + "54797065120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e1001120f0a0b52454d41524b4554494e471002120b0a074c4f474943" . + "414c100312180a1445585445524e414c5f52454d41524b4554494e471004" . + "120e0a0a52554c455f42415345441005120b0a0753494d494c4152100612" . + "0d0a0943524d5f4241534544100742e6010a21636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d734211557365724c69" . + "73745479706550726f746f50015a42676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f656e756d733b656e756d73a20203474141aa021d" . + "476f6f676c652e4164732e476f6f676c654164732e56322e456e756d73ca" . + "021d476f6f676c655c4164735c476f6f676c654164735c56325c456e756d" . + "73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlMode.php b/metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlMode.php new file mode 100644 index 000000000..ff880ae33 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlMode.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af8030a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f76616e6974795f706861726d615f646973706c61795f75726c" . + "5f6d6f64652e70726f746f121d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732293010a1e56616e697479506861726d6144" . + "6973706c617955726c4d6f6465456e756d22710a1a56616e697479506861" . + "726d61446973706c617955726c4d6f6465120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e1001121c0a184d414e554641435455" . + "5245525f574542534954455f55524c100212170a13574542534954455f44" . + "45534352495054494f4e100342f4010a21636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d73421f56616e6974795068" . + "61726d61446973706c617955726c4d6f646550726f746f50015a42676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f656e756d733b656e" . + "756d73a20203474141aa021d476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e456e756d73ca021d476f6f676c655c4164735c476f6f676c" . + "654164735c56325c456e756d73ea0221476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaText.php b/metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaText.php new file mode 100644 index 000000000..57897e2dd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/VanityPharmaText.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0ada060a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f76616e6974795f706861726d615f746578742e70726f746f12" . + "1d676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "228b040a1456616e697479506861726d6154657874456e756d22f2030a10" . + "56616e697479506861726d6154657874120f0a0b554e5350454349464945" . + "441000120b0a07554e4b4e4f574e100112250a2150524553435249505449" . + "4f4e5f54524541544d454e545f574542534954455f454e100212250a2150" . + "5245534352495054494f4e5f54524541544d454e545f574542534954455f" . + "4553100312220a1e505245534352495054494f4e5f4445564943455f5745" . + "42534954455f454e100412220a1e505245534352495054494f4e5f444556" . + "4943455f574542534954455f45531005121d0a194d45444943414c5f4445" . + "564943455f574542534954455f454e1006121d0a194d45444943414c5f44" . + "45564943455f574542534954455f4553100712250a2150524556454e5441" . + "544956455f54524541544d454e545f574542534954455f454e100812250a" . + "2150524556454e5441544956455f54524541544d454e545f574542534954" . + "455f4553100912290a25505245534352495054494f4e5f434f4e54524143" . + "455054494f4e5f574542534954455f454e100a12290a2550524553435249" . + "5054494f4e5f434f4e54524143455054494f4e5f574542534954455f4553" . + "100b12230a1f505245534352495054494f4e5f56414343494e455f574542" . + "534954455f454e100c12230a1f505245534352495054494f4e5f56414343" . + "494e455f574542534954455f4553100d42ea010a21636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d73421556616e69" . + "7479506861726d615465787450726f746f50015a42676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f656e756d733b656e756d73a20203" . + "474141aa021d476f6f676c652e4164732e476f6f676c654164732e56322e" . + "456e756d73ca021d476f6f676c655c4164735c476f6f676c654164735c56" . + "325c456e756d73ea0221476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperand.php b/metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperand.php new file mode 100644 index 000000000..9af385ad0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperand.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0aff030a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f776562706167655f636f6e646974696f6e5f6f706572616e64" . + "2e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d7322a2010a1b57656270616765436f6e646974696f6e4f70" . + "6572616e64456e756d2282010a1757656270616765436f6e646974696f6e" . + "4f706572616e64120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e100112070a0355524c1002120c0a0843415445474f52591003" . + "120e0a0a504147455f5449544c45100412100a0c504147455f434f4e5445" . + "4e54100512100a0c435553544f4d5f4c4142454c100642f1010a21636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "421c57656270616765436f6e646974696f6e4f706572616e6450726f746f" . + "50015a42676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "6e756d733b656e756d73a20203474141aa021d476f6f676c652e4164732e" . + "476f6f676c654164732e56322e456e756d73ca021d476f6f676c655c4164" . + "735c476f6f676c654164735c56325c456e756d73ea0221476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a456e756d7362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperator.php b/metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperator.php new file mode 100644 index 000000000..5c03fb7cf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperator.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad0030a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f776562706167655f636f6e646974696f6e5f6f70657261746f" . + "722e70726f746f121d676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d7322720a1c57656270616765436f6e646974696f6e4f70" . + "657261746f72456e756d22520a1857656270616765436f6e646974696f6e" . + "4f70657261746f72120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001120a0a06455155414c531002120c0a08434f4e544149" . + "4e53100342f2010a21636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d73421d57656270616765436f6e646974696f6e" . + "4f70657261746f7250726f746f50015a42676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f656e756d733b656e756d73a20203474141aa" . + "021d476f6f676c652e4164732e476f6f676c654164732e56322e456e756d" . + "73ca021d476f6f676c655c4164735c476f6f676c654164735c56325c456e" . + "756d73ea0221476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a456e756d73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AccessInvitationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AccessInvitationError.php new file mode 100644 index 000000000..beef35159 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AccessInvitationError.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0af4030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6163636573735f696e7669746174696f6e5f6572726f722e" . + "70726f746f121e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72732293010a19416363657373496e7669746174696f6e4572" . + "726f72456e756d22760a15416363657373496e7669746174696f6e457272" . + "6f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "100112190a15494e56414c49445f454d41494c5f41444452455353100212" . + "240a20454d41494c5f414444524553535f414c52454144595f4841535f41" . + "4343455353100342f5010a22636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e6572726f7273421a416363657373496e76697461" . + "74696f6e4572726f7250726f746f50015a44676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f6572726f72733b6572726f7273a2020347" . + "4141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "72726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c56" . + "325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalError.php new file mode 100644 index 000000000..a9a0864d9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalError.php @@ -0,0 +1,65 @@ +internalAddGeneratedFile(hex2bin( + "0ac0090a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6163636f756e745f6275646765745f70726f706f73616c5f" . + "6572726f722e70726f746f121e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f727322d4060a1e4163636f756e744275646765" . + "7450726f706f73616c4572726f72456e756d22b1060a1a4163636f756e74" . + "42756467657450726f706f73616c4572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001121a0a164649454c445f4d" . + "41534b5f4e4f545f414c4c4f574544100212130a0f494d4d555441424c45" . + "5f4649454c441003121a0a1652455155495245445f4649454c445f4d4953" . + "53494e47100412230a1f43414e4e4f545f43414e43454c5f415050524f56" . + "45445f50524f504f53414c100512230a1f43414e4e4f545f52454d4f5645" . + "5f554e415050524f5645445f425544474554100612200a1c43414e4e4f54" . + "5f52454d4f56455f52554e4e494e475f425544474554100712200a1c4341" . + "4e4e4f545f454e445f554e415050524f5645445f4255444745541008121e" . + "0a1a43414e4e4f545f454e445f494e4143544956455f4255444745541009" . + "12180a144255444745545f4e414d455f5245515549524544100a121c0a18" . + "43414e4e4f545f5550444154455f4f4c445f425544474554100b12160a12" . + "43414e4e4f545f454e445f494e5f50415354100c121a0a1643414e4e4f54" . + "5f455854454e445f454e445f54494d45100d12220a1e5055524348415345" . + "5f4f524445525f4e554d4245525f5245515549524544100e12220a1e5045" . + "4e44494e475f5550444154455f50524f504f53414c5f455849535453100f" . + "123d0a394d554c5449504c455f425544474554535f4e4f545f414c4c4f57" . + "45445f464f525f554e415050524f5645445f42494c4c494e475f53455455" . + "501010122f0a2b43414e4e4f545f5550444154455f53544152545f54494d" . + "455f464f525f535441525445445f425544474554101112360a325350454e" . + "44494e475f4c494d49545f4c4f5745525f5448414e5f414343525545445f" . + "434f53545f4e4f545f414c4c4f574544101212130a0f5550444154455f49" . + "535f4e4f5f4f50101312230a1f454e445f54494d455f4d5553545f464f4c" . + "4c4f575f53544152545f54494d45101412350a314255444745545f444154" . + "455f52414e47455f494e434f4d50415449424c455f574954485f42494c4c" . + "494e475f5345545550101512120a0e4e4f545f415554484f52495a454410" . + "1612190a15494e56414c49445f42494c4c494e475f5345545550101742fa" . + "010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f7273421f4163636f756e7442756467657450726f706f73616c" . + "4572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f6572726f72733b6572726f7273a20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f72" . + "73ca021e476f6f676c655c4164735c476f6f676c654164735c56325c4572" . + "726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdCustomizerError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdCustomizerError.php new file mode 100644 index 000000000..fea1580c2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdCustomizerError.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ac1040a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f637573746f6d697a65725f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322e8010a154164437573746f6d697a65724572726f72456e756d22" . + "ce010a114164437573746f6d697a65724572726f72120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e100112210a1d434f554e54" . + "444f574e5f494e56414c49445f444154455f464f524d41541002121a0a16" . + "434f554e54444f574e5f444154455f494e5f504153541003121c0a18434f" . + "554e54444f574e5f494e56414c49445f4c4f43414c45100412270a23434f" . + "554e54444f574e5f494e56414c49445f53544152545f444159535f424546" . + "4f5245100512150a11554e4b4e4f574e5f555345525f4c495354100642f1" . + "010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f727342164164437573746f6d697a65724572726f7250726f74" . + "6f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "6572726f72733b6572726f7273a20203474141aa021e476f6f676c652e41" . + "64732e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c" . + "655c4164735c476f6f676c654164735c56325c4572726f7273ea0222476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f" . + "7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdError.php new file mode 100644 index 000000000..7224a82de --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdError.php @@ -0,0 +1,176 @@ +internalAddGeneratedFile(hex2bin( + "0ab4230a2d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f6572726f722e70726f746f121e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e6572726f727322f0200a0b416445" . + "72726f72456e756d22e0200a0741644572726f72120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001122c0a2841445f435553" . + "544f4d495a4552535f4e4f545f535550504f525445445f464f525f41445f" . + "545950451002121a0a16415050524f58494d4154454c595f544f4f5f4c4f" . + "4e471003121b0a17415050524f58494d4154454c595f544f4f5f53484f52" . + "541004120f0a0b4241445f534e4950504554100512140a1043414e4e4f54" . + "5f4d4f444946595f4144100612270a2343414e4e4f545f5345545f425553" . + "494e4553535f4e414d455f49465f55524c5f534554100712140a1043414e" . + "4e4f545f5345545f4649454c441008122a0a2643414e4e4f545f5345545f" . + "4649454c445f574954485f4f524947494e5f41445f49445f534554100912" . + "2f0a2b43414e4e4f545f5345545f4649454c445f574954485f41445f4944" . + "5f5345545f464f525f53484152494e47100a12290a2543414e4e4f545f53" . + "45545f414c4c4f575f464c455849424c455f434f4c4f525f46414c534510" . + "0b12370a3343414e4e4f545f5345545f434f4c4f525f434f4e54524f4c5f" . + "5748454e5f4e41544956455f464f524d41545f53455454494e47100c1212" . + "0a0e43414e4e4f545f5345545f55524c100d12210a1d43414e4e4f545f53" . + "45545f574954484f55545f46494e414c5f55524c53100e121e0a1a43414e" . + "4e4f545f5345545f574954485f46494e414c5f55524c53100f121c0a1843" . + "414e4e4f545f5345545f574954485f55524c5f44415441101112270a2343" . + "414e4e4f545f5553455f41445f535542434c4153535f464f525f4f504552" . + "41544f52101212230a1f435553544f4d45525f4e4f545f415050524f5645" . + "445f4d4f42494c45414453101312280a24435553544f4d45525f4e4f545f" . + "415050524f5645445f544849524450415254595f414453101412310a2d43" . + "5553544f4d45525f4e4f545f415050524f5645445f544849524450415254" . + "595f52454449524543545f414453101512190a15435553544f4d45525f4e" . + "4f545f454c494749424c45101612310a2d435553544f4d45525f4e4f545f" . + "454c494749424c455f464f525f5550444154494e475f424541434f4e5f55" . + "524c1017121e0a1a44494d454e53494f4e5f414c52454144595f494e5f55" . + "4e494f4e101812190a1544494d454e53494f4e5f4d5553545f42455f5345" . + "541019121a0a1644494d454e53494f4e5f4e4f545f494e5f554e494f4e10" . + "1a12230a1f444953504c41595f55524c5f43414e4e4f545f42455f535045" . + "434946494544101b12200a1c444f4d45535449435f50484f4e455f4e554d" . + "4245525f464f524d4154101c121a0a16454d455247454e43595f50484f4e" . + "455f4e554d424552101d120f0a0b454d5054595f4649454c44101e12300a" . + "2c464545445f4154545249425554455f4d5553545f484156455f4d415050" . + "494e475f464f525f545950455f4944101f12280a24464545445f41545452" . + "49425554455f4d415050494e475f545950455f4d49534d41544348102012" . + "210a1d494c4c4547414c5f41445f435553544f4d495a45525f5441475f55" . + "5345102112130a0f494c4c4547414c5f5441475f5553451022121b0a1749" . + "4e434f4e53495354454e545f44494d454e53494f4e53102312290a25494e" . + "434f4e53495354454e545f5354415455535f494e5f54454d504c4154455f" . + "554e494f4e102412140a10494e434f52524543545f4c454e475448102512" . + "1a0a16494e454c494749424c455f464f525f55504752414445102612260a" . + "22494e56414c49445f41445f414444524553535f43414d504149474e5f54" . + "4152474554102712130a0f494e56414c49445f41445f5459504510281227" . + "0a23494e56414c49445f415454524942555445535f464f525f4d4f42494c" . + "455f494d414745102912260a22494e56414c49445f415454524942555445" . + "535f464f525f4d4f42494c455f54455854102a121f0a1b494e56414c4944" . + "5f43414c4c5f544f5f414354494f4e5f54455854102b121d0a19494e5641" . + "4c49445f4348415241435445525f464f525f55524c102c12180a14494e56" . + "414c49445f434f554e5452595f434f4445102d122a0a26494e56414c4944" . + "5f455850414e4445445f44594e414d49435f5345415243485f41445f5441" . + "47102f12110a0d494e56414c49445f494e5055541030121b0a17494e5641" . + "4c49445f4d41524b55505f4c414e47554147451031121a0a16494e56414c" . + "49445f4d4f42494c455f43415252494552103212210a1d494e56414c4944" . + "5f4d4f42494c455f434152524945525f5441524745541033121e0a1a494e" . + "56414c49445f4e554d4245525f4f465f454c454d454e54531034121f0a1b" . + "494e56414c49445f50484f4e455f4e554d4245525f464f524d4154103512" . + "310a2d494e56414c49445f524943485f4d454449415f4345525449464945" . + "445f56454e444f525f464f524d41545f4944103612190a15494e56414c49" . + "445f54454d504c4154455f44415441103712270a23494e56414c49445f54" . + "454d504c4154455f454c454d454e545f4649454c445f5459504510381217" . + "0a13494e56414c49445f54454d504c4154455f4944103912110a0d4c494e" . + "455f544f4f5f57494445103a12210a1d4d495353494e475f41445f435553" . + "544f4d495a45525f4d415050494e47103b121d0a194d495353494e475f41" . + "4444524553535f434f4d504f4e454e54103c121e0a1a4d495353494e475f" . + "4144564552544953454d454e545f4e414d45103d12190a154d495353494e" . + "475f425553494e4553535f4e414d45103e12180a144d495353494e475f44" . + "45534352495054494f4e31103f12180a144d495353494e475f4445534352" . + "495054494f4e321040121f0a1b4d495353494e475f44455354494e415449" . + "4f4e5f55524c5f544147104112200a1c4d495353494e475f4c414e44494e" . + "475f504147455f55524c5f544147104212150a114d495353494e475f4449" . + "4d454e53494f4e104312170a134d495353494e475f444953504c41595f55" . + "524c104412140a104d495353494e475f484541444c494e45104512120a0e" . + "4d495353494e475f484549474854104612110a0d4d495353494e475f494d" . + "4147451047122d0a294d495353494e475f4d41524b4554494e475f494d41" . + "47455f4f525f50524f445543545f564944454f531048121c0a184d495353" . + "494e475f4d41524b55505f4c414e4755414745531049121a0a164d495353" . + "494e475f4d4f42494c455f43415252494552104a12110a0d4d495353494e" . + "475f50484f4e45104b12240a204d495353494e475f52455155495245445f" . + "54454d504c4154455f4649454c4453104c12200a1c4d495353494e475f54" . + "454d504c4154455f4649454c445f56414c5545104d12100a0c4d49535349" . + "4e475f54455854104e12170a134d495353494e475f56495349424c455f55" . + "524c104f12110a0d4d495353494e475f5749445448105012270a234d554c" . + "5449504c455f44495354494e43545f46454544535f554e535550504f5254" . + "4544105112240a204d5553545f5553455f54454d505f41445f554e494f4e" . + "5f49445f4f4e5f4144441052120c0a08544f4f5f4c4f4e471053120d0a09" . + "544f4f5f53484f5254105412220a1e554e494f4e5f44494d454e53494f4e" . + "535f43414e4e4f545f4348414e47451055121d0a19554e4b4e4f574e5f41" . + "4444524553535f434f4d504f4e454e54105612160a12554e4b4e4f574e5f" . + "4649454c445f4e414d45105712170a13554e4b4e4f574e5f554e49515545" . + "5f4e414d451058121a0a16554e535550504f525445445f44494d454e5349" . + "4f4e53105912160a1255524c5f494e56414c49445f534348454d45105a12" . + "200a1c55524c5f494e56414c49445f544f505f4c4556454c5f444f4d4149" . + "4e105b12110a0d55524c5f4d414c464f524d4544105c120f0a0b55524c5f" . + "4e4f5f484f5354105d12160a1255524c5f4e4f545f4551554956414c454e" . + "54105e121a0a1655524c5f484f53545f4e414d455f544f4f5f4c4f4e4710" . + "5f12110a0d55524c5f4e4f5f534348454d451060121b0a1755524c5f4e4f" . + "5f544f505f4c4556454c5f444f4d41494e106112180a1455524c5f504154" . + "485f4e4f545f414c4c4f574544106212180a1455524c5f504f52545f4e4f" . + "545f414c4c4f574544106312190a1555524c5f51554552595f4e4f545f41" . + "4c4c4f574544106412340a3055524c5f534348454d455f4245464f52455f" . + "455850414e4445445f44594e414d49435f5345415243485f41445f544147" . + "106612290a25555345525f444f45535f4e4f545f484156455f4143434553" . + "535f544f5f54454d504c415445106712240a20494e434f4e53495354454e" . + "545f455850414e4441424c455f53455454494e4753106812120a0e494e56" . + "414c49445f464f524d4154106912160a12494e56414c49445f4649454c44" . + "5f54455854106a12170a13454c454d454e545f4e4f545f50524553454e54" . + "106b120f0a0b494d4147455f4552524f52106c12160a1256414c55455f4e" . + "4f545f494e5f52414e4745106d12150a114649454c445f4e4f545f505245" . + "53454e54106e12180a14414444524553535f4e4f545f434f4d504c455445" . + "106f12130a0f414444524553535f494e56414c4944107012190a15564944" . + "454f5f52455452494556414c5f4552524f521071120f0a0b415544494f5f" . + "4552524f521072121f0a1b494e56414c49445f594f55545542455f444953" . + "504c41595f55524c1073121b0a17544f4f5f4d414e595f50524f44554354" . + "5f494d414745531074121b0a17544f4f5f4d414e595f50524f445543545f" . + "564944454f531075122e0a2a494e434f4d50415449424c455f41445f5459" . + "50455f414e445f4445564943455f505245464552454e43451076122a0a26" . + "43414c4c545241434b494e475f4e4f545f535550504f525445445f464f52" . + "5f434f554e5452591077122d0a29434152524945525f5350454349464943" . + "5f53484f52545f4e554d4245525f4e4f545f414c4c4f5745441078121a0a" . + "16444953414c4c4f5745445f4e554d4245525f545950451079122a0a2650" . + "484f4e455f4e554d4245525f4e4f545f535550504f525445445f464f525f" . + "434f554e545259107a123c0a3850484f4e455f4e554d4245525f4e4f545f" . + "535550504f525445445f574954485f43414c4c545241434b494e475f464f" . + "525f434f554e545259107b12230a1f5052454d49554d5f524154455f4e55" . + "4d4245525f4e4f545f414c4c4f574544107c12230a1f56414e4954595f50" . + "484f4e455f4e554d4245525f4e4f545f414c4c4f574544107d12230a1f49" . + "4e56414c49445f43414c4c5f434f4e56455253494f4e5f545950455f4944" . + "107e123d0a3943414e4e4f545f44495341424c455f43414c4c5f434f4e56" . + "455253494f4e5f414e445f5345545f434f4e56455253494f4e5f54595045" . + "5f4944107f12230a1e43414e4e4f545f5345545f50415448325f57495448" . + "4f55545f504154483110800112330a2e4d495353494e475f44594e414d49" . + "435f5345415243485f4144535f53455454494e475f444f4d41494e5f4e41" . + "4d4510810112270a22494e434f4d50415449424c455f574954485f524553" . + "5452494354494f4e5f5459504510820112310a2c435553544f4d45525f43" . + "4f4e53454e545f464f525f43414c4c5f5245434f5244494e475f52455155" . + "4952454410830112220a1d4d495353494e475f494d4147455f4f525f4d45" . + "4449415f42554e444c4510840112300a2b50524f445543545f545950455f" . + "4e4f545f535550504f525445445f494e5f544849535f43414d504149474e" . + "10850142e7010a22636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f7273420c41644572726f7250726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f6572726f72" . + "733b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e4572726f7273ca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupAdError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupAdError.php new file mode 100644 index 000000000..d0a3ace4c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupAdError.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0aa0050a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f67726f75705f61645f6572726f722e70726f746f12" . + "1e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "7322cc020a12416447726f757041644572726f72456e756d22b5020a0e41" . + "6447726f757041644572726f72120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112240a2041445f47524f55505f41445f4c" . + "4142454c5f444f45535f4e4f545f4558495354100212240a2041445f4752" . + "4f55505f41445f4c4142454c5f414c52454144595f455849535453100312" . + "180a1441445f4e4f545f554e4445525f414447524f5550100412270a2343" . + "414e4e4f545f4f5045524154455f4f4e5f52454d4f5645445f414447524f" . + "55504144100512200a1c43414e4e4f545f4352454154455f444550524543" . + "415445445f4144531006121a0a1643414e4e4f545f4352454154455f5445" . + "58545f4144531007120f0a0b454d5054595f4649454c44100812270a2352" . + "45534f555243455f5245464552454e4345445f494e5f4d554c5449504c45" . + "5f4f5053100942ee010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f72734213416447726f757041644572726f" . + "7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierError.php new file mode 100644 index 000000000..ecf889106 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierError.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a9d040a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f67726f75705f6269645f6d6f6469666965725f6572" . + "726f722e70726f746f121e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f727322b6010a1b416447726f75704269644d6f6469" . + "666965724572726f72456e756d2296010a17416447726f75704269644d6f" . + "6469666965724572726f72120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001121e0a1a435249544552494f4e5f49445f4e4f" . + "545f535550504f525445441002123d0a3943414e4e4f545f4f5645525249" . + "44455f4f505445445f4f55545f43414d504149474e5f435249544552494f" . + "4e5f4249445f4d4f444946494552100342f7010a22636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f7273421c416447" . + "726f75704269644d6f6469666965724572726f7250726f746f50015a4467" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f6572726f7273" . + "3b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f6f" . + "676c654164732e56322e4572726f7273ca021e476f6f676c655c4164735c" . + "476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a4572726f727362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionError.php new file mode 100644 index 000000000..2ee82ae26 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionError.php @@ -0,0 +1,90 @@ +internalAddGeneratedFile(hex2bin( + "0ab90f0a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f67726f75705f637269746572696f6e5f6572726f72" . + "2e70726f746f121e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e6572726f727322d70c0a19416447726f7570437269746572696f6e45" . + "72726f72456e756d22b90c0a15416447726f7570437269746572696f6e45" . + "72726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e1001122b0a2741445f47524f55505f435249544552494f4e5f4c4142" . + "454c5f444f45535f4e4f545f45584953541002122b0a2741445f47524f55" . + "505f435249544552494f4e5f4c4142454c5f414c52454144595f45584953" . + "54531003122a0a2643414e4e4f545f4144445f4c4142454c5f544f5f4e45" . + "4741544956455f435249544552494f4e100412170a13544f4f5f4d414e59" . + "5f4f5045524154494f4e53100512180a1443414e545f5550444154455f4e" . + "454741544956451006121a0a16434f4e43524554455f545950455f524551" . + "5549524544100712210a1d4249445f494e434f4d50415449424c455f5749" . + "54485f414447524f55501008121d0a1943414e4e4f545f5441524745545f" . + "414e445f4558434c5544451009120f0a0b494c4c4547414c5f55524c100a" . + "12180a14494e56414c49445f4b4559574f52445f54455854100b121b0a17" . + "494e56414c49445f44455354494e4154494f4e5f55524c100c121f0a1b4d" . + "495353494e475f44455354494e4154494f4e5f55524c5f544147100d1231" . + "0a2d4b4559574f52445f4c4556454c5f4249445f4e4f545f535550504f52" . + "5445445f464f525f4d414e55414c43504d100e12170a13494e56414c4944" . + "5f555345525f535441545553100f121c0a1843414e4e4f545f4144445f43" . + "524954455249415f54595045101012200a1c43414e4e4f545f4558434c55" . + "44455f43524954455249415f54595045101112350a3143414d504149474e" . + "5f545950455f4e4f545f434f4d50415449424c455f574954485f50415254" . + "49414c5f4641494c555245101b122d0a294f5045524154494f4e535f464f" . + "525f544f4f5f4d414e595f53484f5050494e475f414447524f555053101c" . + "12340a3043414e4e4f545f4d4f444946595f55524c5f4649454c44535f57" . + "4954485f4455504c49434154455f454c454d454e5453101d12210a1d4341" . + "4e4e4f545f5345545f574954484f55545f46494e414c5f55524c53101e12" . + "360a3243414e4e4f545f434c4541525f46494e414c5f55524c535f49465f" . + "46494e414c5f4d4f42494c455f55524c535f4558495354101f12330a2f43" . + "414e4e4f545f434c4541525f46494e414c5f55524c535f49465f46494e41" . + "4c5f4150505f55524c535f45584953541020123b0a3743414e4e4f545f43" . + "4c4541525f46494e414c5f55524c535f49465f545241434b494e475f5552" . + "4c5f54454d504c4154455f4558495354531021123a0a3643414e4e4f545f" . + "434c4541525f46494e414c5f55524c535f49465f55524c5f435553544f4d" . + "5f504152414d45544552535f4558495354102212320a2e43414e4e4f545f" . + "5345545f424f54485f44455354494e4154494f4e5f55524c5f414e445f46" . + "494e414c5f55524c531023123d0a3943414e4e4f545f5345545f424f5448" . + "5f44455354494e4154494f4e5f55524c5f414e445f545241434b494e475f" . + "55524c5f54454d504c4154451024122f0a2b46494e414c5f55524c535f4e" . + "4f545f535550504f525445445f464f525f435249544552494f4e5f545950" . + "45102512360a3246494e414c5f4d4f42494c455f55524c535f4e4f545f53" . + "5550504f525445445f464f525f435249544552494f4e5f54595045102612" . + "230a1f494e56414c49445f4c495354494e475f47524f55505f4849455241" . + "524348591027122b0a274c495354494e475f47524f55505f554e49545f43" . + "414e4e4f545f484156455f4348494c4452454e102812320a2e4c49535449" . + "4e475f47524f55505f5355424449564953494f4e5f52455155495245535f" . + "4f54484552535f434153451029123a0a364c495354494e475f47524f5550" . + "5f52455155495245535f53414d455f44494d454e53494f4e5f545950455f" . + "41535f5349424c494e4753102a12200a1c4c495354494e475f47524f5550" . + "5f414c52454144595f455849535453102b12200a1c4c495354494e475f47" . + "524f55505f444f45535f4e4f545f4558495354102c12230a1f4c49535449" . + "4e475f47524f55505f43414e4e4f545f42455f52454d4f564544102d121e" . + "0a1a494e56414c49445f4c495354494e475f47524f55505f54595045102e" . + "122a0a264c495354494e475f47524f55505f4144445f4d41595f4f4e4c59" . + "5f5553455f54454d505f4944102f42f5010a22636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f7273421a416447726f" . + "7570437269746572696f6e4572726f7250726f746f50015a44676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f6572726f72733b657272" . + "6f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupError.php new file mode 100644 index 000000000..6ddb6eac0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupError.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0aef060a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f67726f75705f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f727322a0" . + "040a10416447726f75704572726f72456e756d228b040a0c416447726f75" . + "704572726f72120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001121a0a164455504c49434154455f414447524f55505f4e41" . + "4d45100212180a14494e56414c49445f414447524f55505f4e414d451003" . + "12250a21414456455254495345525f4e4f545f4f4e5f434f4e54454e545f" . + "4e4554574f524b1005120f0a0b4249445f544f4f5f4249471006122a0a26" . + "4249445f545950455f414e445f42494444494e475f53545241544547595f" . + "4d49534d41544348100712180a144d495353494e475f414447524f55505f" . + "4e414d45100812200a1c414447524f55505f4c4142454c5f444f45535f4e" . + "4f545f4558495354100912200a1c414447524f55505f4c4142454c5f414c" . + "52454144595f455849535453100a122c0a28494e56414c49445f434f4e54" . + "454e545f4249445f435249544552494f4e5f545950455f47524f5550100b" . + "12380a3441445f47524f55505f545950455f4e4f545f56414c49445f464f" . + "525f4144564552544953494e475f4348414e4e454c5f54595045100c1239" . + "0a35414447524f55505f545950455f4e4f545f535550504f525445445f46" . + "4f525f43414d504149474e5f53414c45535f434f554e545259100d12420a" . + "3e43414e4e4f545f4144445f414447524f55505f4f465f545950455f4453" . + "415f544f5f43414d504149474e5f574954484f55545f4453415f53455454" . + "494e47100e42ec010a22636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f72734211416447726f75704572726f725072" . + "6f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f6f" . + "676c655c4164735c476f6f676c654164735c56325c4572726f7273ea0222" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572" . + "726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedError.php new file mode 100644 index 000000000..dcf79467c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedError.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0ab4050a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f67726f75705f666565645f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322dc020a14416447726f7570466565644572726f72456e756d22c3" . + "020a10416447726f7570466565644572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001122c0a28464545445f414c" . + "52454144595f4558495354535f464f525f504c414345484f4c4445525f54" . + "595045100212220a1e43414e4e4f545f4352454154455f464f525f52454d" . + "4f5645445f464545441003121f0a1b414447524f55505f464545445f414c" . + "52454144595f4558495354531004122a0a2643414e4e4f545f4f50455241" . + "54455f4f4e5f52454d4f5645445f414447524f55505f464545441005121c" . + "0a18494e56414c49445f504c414345484f4c4445525f545950451006122c" . + "0a284d495353494e475f464545444d415050494e475f464f525f504c4143" . + "45484f4c4445525f54595045100712260a224e4f5f4558495354494e475f" . + "4c4f434154494f4e5f435553544f4d45525f46454544100842f0010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f72734215416447726f7570466565644572726f7250726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f6572726f72" . + "733b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e4572726f7273ca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdParameterError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdParameterError.php new file mode 100644 index 000000000..49dc1940c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdParameterError.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aea030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f706172616d657465725f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "72732293010a144164506172616d657465724572726f72456e756d227b0a" . + "104164506172616d657465724572726f72120f0a0b554e53504543494649" . + "45441000120b0a07554e4b4e4f574e100112260a2241445f47524f55505f" . + "435249544552494f4e5f4d5553545f42455f4b4559574f5244100212210a" . + "1d494e56414c49445f494e53455254494f4e5f544558545f464f524d4154" . + "100342f0010a22636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f727342154164506172616d657465724572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdSharingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdSharingError.php new file mode 100644 index 000000000..c71364f04 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdSharingError.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0afc030a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61645f73686172696e675f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "22a9010a12416453686172696e674572726f72456e756d2292010a0e4164" . + "53686172696e674572726f72120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e100112200a1c41445f47524f55505f414c524541" . + "44595f434f4e5441494e535f4144100212220a1e494e434f4d5041544942" . + "4c455f41445f554e4445525f41445f47524f55501003121c0a1843414e4e" . + "4f545f53484152455f494e4143544956455f4144100442ee010a22636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "734213416453686172696e674572726f7250726f746f50015a44676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f6572726f72733b6572" . + "726f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f" . + "676c654164735c56325c4572726f7273ea0222476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AdxError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AdxError.php new file mode 100644 index 000000000..89c453170 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AdxError.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a96030a2e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6164785f6572726f722e70726f746f121e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f727322510a0c416478" . + "4572726f72456e756d22410a084164784572726f72120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e100112170a13554e535550" . + "504f525445445f46454154555245100242e8010a22636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f7273420d416478" . + "4572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f6572726f72733b6572726f7273a20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f72" . + "73ca021e476f6f676c655c4164735c476f6f676c654164735c56325c4572" . + "726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AssetError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AssetError.php new file mode 100644 index 000000000..e069a5fdf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AssetError.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a9c040a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61737365745f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f727322d2010a0e" . + "41737365744572726f72456e756d22bf010a0a41737365744572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "2b0a27435553544f4d45525f4e4f545f57484954454c49535445445f464f" . + "525f41535345545f54595045100212130a0f4455504c49434154455f4153" . + "534554100312180a144455504c49434154455f41535345545f4e414d4510" . + "0412190a1541535345545f444154415f49535f4d495353494e471005121c" . + "0a1843414e4e4f545f4d4f444946595f41535345545f4e414d45100642ea" . + "010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f7273420f41737365744572726f7250726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f6572726f72733b" . + "6572726f7273a20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e4572726f7273ca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AuthenticationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AuthenticationError.php new file mode 100644 index 000000000..689ce51c2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AuthenticationError.php @@ -0,0 +1,57 @@ +internalAddGeneratedFile(hex2bin( + "0ac4070a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f61757468656e7469636174696f6e5f6572726f722e70726f" . + "746f121e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f727322e8040a1741757468656e7469636174696f6e4572726f72456e" . + "756d22cc040a1341757468656e7469636174696f6e4572726f72120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e100112180a14" . + "41555448454e5449434154494f4e5f4552524f521002121e0a1a434c4945" . + "4e545f435553544f4d45525f49445f494e56414c4944100512160a124355" . + "53544f4d45525f4e4f545f464f554e441008121a0a16474f4f474c455f41" . + "43434f554e545f44454c45544544100912210a1d474f4f474c455f414343" . + "4f554e545f434f4f4b49455f494e56414c4944100a12280a24474f4f474c" . + "455f4143434f554e545f41555448454e5449434154494f4e5f4641494c45" . + "441019122d0a29474f4f474c455f4143434f554e545f555345525f414e44" . + "5f4144535f555345525f4d49534d41544348100c12190a154c4f47494e5f" . + "434f4f4b49455f5245515549524544100d12100a0c4e4f545f4144535f55" . + "534552100e12170a134f415554485f544f4b454e5f494e56414c4944100f" . + "12170a134f415554485f544f4b454e5f45585049524544101012180a144f" . + "415554485f544f4b454e5f44495341424c4544101112170a134f41555448" . + "5f544f4b454e5f5245564f4b45441012121e0a1a4f415554485f544f4b45" . + "4e5f4845414445525f494e56414c4944101312180a144c4f47494e5f434f" . + "4f4b49455f494e56414c4944101412130a0f555345525f49445f494e5641" . + "4c4944101612260a2254574f5f535445505f564552494649434154494f4e" . + "5f4e4f545f454e524f4c4c4544101712240a20414456414e4345445f5052" . + "4f54454354494f4e5f4e4f545f454e524f4c4c4544101842f3010a22636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "7273421841757468656e7469636174696f6e4572726f7250726f746f5001" . + "5a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f657272" . + "6f72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e" . + "476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c41" . + "64735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f727362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/AuthorizationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/AuthorizationError.php new file mode 100644 index 000000000..6a594c889 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/AuthorizationError.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0ab5050a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f617574686f72697a6174696f6e5f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322db020a16417574686f72697a6174696f6e4572726f72456e756d" . + "22c0020a12417574686f72697a6174696f6e4572726f72120f0a0b554e53" . + "50454349464945441000120b0a07554e4b4e4f574e1001121a0a16555345" . + "525f5045524d495353494f4e5f44454e494544100212230a1f444556454c" . + "4f5045525f544f4b454e5f4e4f545f57484954454c49535445441003121e" . + "0a1a444556454c4f5045525f544f4b454e5f50524f484942495445441004" . + "12140a1050524f4a4543545f44495341424c4544100512170a1341555448" . + "4f52495a4154494f4e5f4552524f52100612180a14414354494f4e5f4e4f" . + "545f5045524d4954544544100712150a11494e434f4d504c4554455f5349" . + "474e5550100812180a14435553544f4d45525f4e4f545f454e41424c4544" . + "1018120f0a0b4d495353494e475f544f53100912200a1c444556454c4f50" . + "45525f544f4b454e5f4e4f545f415050524f564544100a42f2010a22636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "72734217417574686f72697a6174696f6e4572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/BiddingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/BiddingError.php new file mode 100644 index 000000000..8ce0fe8e3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/BiddingError.php @@ -0,0 +1,72 @@ +internalAddGeneratedFile(hex2bin( + "0a810b0a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f62696464696e675f6572726f722e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f727322b308" . + "0a1042696464696e674572726f72456e756d229e080a0c42696464696e67" . + "4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e1001122b0a2742494444494e475f53545241544547595f5452414e" . + "534954494f4e5f4e4f545f414c4c4f5745441002122e0a2a43414e4e4f54" . + "5f4154544143485f42494444494e475f53545241544547595f544f5f4341" . + "4d504149474e1007122b0a27494e56414c49445f414e4f4e594d4f55535f" . + "42494444494e475f53545241544547595f54595045100a12210a1d494e56" . + "414c49445f42494444494e475f53545241544547595f54595045100e120f" . + "0a0b494e56414c49445f424944101112330a2f42494444494e475f535452" . + "41544547595f4e4f545f415641494c41424c455f464f525f4143434f554e" . + "545f54595045101212230a1f434f4e56455253494f4e5f545241434b494e" . + "475f4e4f545f454e41424c45441013121a0a164e4f545f454e4f5547485f" . + "434f4e56455253494f4e53101412300a2c43414e4e4f545f435245415445" . + "5f43414d504149474e5f574954485f42494444494e475f53545241544547" . + "591015124f0a4b43414e4e4f545f5441524745545f434f4e54454e545f4e" . + "4554574f524b5f4f4e4c595f574954485f43414d504149474e5f4c455645" . + "4c5f504f505f42494444494e475f5354524154454759101712330a2f4249" . + "4444494e475f53545241544547595f4e4f545f535550504f525445445f57" . + "4954485f41445f5343484544554c45101812310a2d5041595f5045525f43" . + "4f4e56455253494f4e5f4e4f545f415641494c41424c455f464f525f4355" . + "53544f4d4552101912320a2e5041595f5045525f434f4e56455253494f4e" . + "5f4e4f545f414c4c4f5745445f574954485f5441524745545f435041101a" . + "123a0a3642494444494e475f53545241544547595f4e4f545f414c4c4f57" . + "45445f464f525f5345415243485f4f4e4c595f43414d504149474e53101b" . + "123b0a3742494444494e475f53545241544547595f4e4f545f535550504f" . + "525445445f494e5f4452414654535f4f525f4558504552494d454e545310" . + "1c12490a4542494444494e475f53545241544547595f545950455f444f45" . + "535f4e4f545f535550504f52545f50524f445543545f545950455f414447" . + "524f55505f435249544552494f4e101d12110a0d4249445f544f4f5f534d" . + "414c4c101e120f0a0b4249445f544f4f5f424947101f12220a1e4249445f" . + "544f4f5f4d414e595f4652414354494f4e414c5f44494749545310201217" . + "0a13494e56414c49445f444f4d41494e5f4e414d45102112240a204e4f54" . + "5f434f4d50415449424c455f574954485f5041594d454e545f4d4f444510" . + "2212230a1f4e4f545f434f4d50415449424c455f574954485f4255444745" . + "545f545950451023122d0a294e4f545f434f4d50415449424c455f574954" . + "485f42494444494e475f53545241544547595f54595045102442ec010a22" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f7273421142696464696e674572726f7250726f746f50015a44676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f6572726f72733b65" . + "72726f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c" . + "654164732e56322e4572726f7273ca021e476f6f676c655c4164735c476f" . + "6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyError.php new file mode 100644 index 000000000..e02e84623 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyError.php @@ -0,0 +1,46 @@ +internalAddGeneratedFile(hex2bin( + "0afa040a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f62696464696e675f73747261746567795f6572726f722e70" . + "726f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f7273229b020a1842696464696e6753747261746567794572726f" . + "72456e756d22fe010a1442696464696e6753747261746567794572726f72" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "12120a0e4455504c49434154455f4e414d45100212270a2343414e4e4f54" . + "5f4348414e47455f42494444494e475f53545241544547595f5459504510" . + "0312250a2143414e4e4f545f52454d4f56455f4153534f4349415445445f" . + "5354524154454759100412220a1e42494444494e475f5354524154454759" . + "5f4e4f545f535550504f52544544100512400a3c494e434f4d5041544942" . + "4c455f42494444494e475f53545241544547595f414e445f42494444494e" . + "475f53545241544547595f474f414c5f54595045100642f4010a22636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "73421942696464696e6753747261746567794572726f7250726f746f5001" . + "5a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f657272" . + "6f72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e" . + "476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c41" . + "64735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f727362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/BillingSetupError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/BillingSetupError.php new file mode 100644 index 000000000..394600ddd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/BillingSetupError.php @@ -0,0 +1,57 @@ +internalAddGeneratedFile(hex2bin( + "0ad4070a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f62696c6c696e675f73657475705f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322fb040a1542696c6c696e6753657475704572726f72456e756d22" . + "e1040a1142696c6c696e6753657475704572726f72120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e100112270a2343414e4e4f" . + "545f5553455f4558495354494e475f414e445f4e45575f4143434f554e54" . + "100212270a2343414e4e4f545f52454d4f56455f535441525445445f4249" . + "4c4c494e475f5345545550100312320a2e43414e4e4f545f4348414e4745" . + "5f42494c4c494e475f544f5f53414d455f5041594d454e54535f4143434f" . + "554e54100412330a2f42494c4c494e475f53455455505f4e4f545f504552" . + "4d49545445445f464f525f435553544f4d45525f5354415455531005121c" . + "0a18494e56414c49445f5041594d454e54535f4143434f554e5410061235" . + "0a3142494c4c494e475f53455455505f4e4f545f5045524d49545445445f" . + "464f525f435553544f4d45525f43415445474f52591007121b0a17494e56" . + "414c49445f53544152545f54494d455f54595045100812230a1f54484952" . + "445f50415254595f414c52454144595f4841535f42494c4c494e47100912" . + "1d0a1942494c4c494e475f53455455505f494e5f50524f4752455353100a" . + "12180a144e4f5f5349474e55505f5045524d495353494f4e100b12210a1d" . + "4348414e47455f4f465f42494c4c5f544f5f494e5f50524f475245535310" . + "0c121e0a1a5041594d454e54535f50524f46494c455f4e4f545f464f554e" . + "44100d121e0a1a5041594d454e54535f4143434f554e545f4e4f545f464f" . + "554e44100e121f0a1b5041594d454e54535f50524f46494c455f494e454c" . + "494749424c45100f121f0a1b5041594d454e54535f4143434f554e545f49" . + "4e454c494749424c45101042f1010a22636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f7273421642696c6c696e6753" . + "657475704572726f7250726f746f50015a44676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f6572726f72733b6572726f7273a2020347" . + "4141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "72726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c56" . + "325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetError.php new file mode 100644 index 000000000..4553de724 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetError.php @@ -0,0 +1,61 @@ +internalAddGeneratedFile(hex2bin( + "0abd080a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f6275646765745f6572726f722e7072" . + "6f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f727322e0050a1743616d706169676e4275646765744572726f7245" . + "6e756d22c4050a1343616d706169676e4275646765744572726f72120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e100112240a" . + "2043414d504149474e5f4255444745545f43414e4e4f545f42455f534841" . + "5245441011121b0a1743414d504149474e5f4255444745545f52454d4f56" . + "45441002121a0a1643414d504149474e5f4255444745545f494e5f555345" . + "100312280a2443414d504149474e5f4255444745545f504552494f445f4e" . + "4f545f415641494c41424c451004123c0a3843414e4e4f545f4d4f444946" . + "595f4649454c445f4f465f494d504c494349544c595f5348415245445f43" . + "414d504149474e5f425544474554100612360a3243414e4e4f545f555044" . + "4154455f43414d504149474e5f4255444745545f544f5f494d504c494349" . + "544c595f534841524544100712430a3f43414e4e4f545f5550444154455f" . + "43414d504149474e5f4255444745545f544f5f4558504c494349544c595f" . + "5348415245445f574954484f55545f4e414d45100812360a3243414e4e4f" . + "545f5550444154455f43414d504149474e5f4255444745545f544f5f4558" . + "504c494349544c595f534841524544100912480a4443414e4e4f545f5553" . + "455f494d504c494349544c595f5348415245445f43414d504149474e5f42" . + "55444745545f574954485f4d554c5449504c455f43414d504149474e5310" . + "0a12120a0e4455504c49434154455f4e414d45100b12220a1e4d4f4e4559" . + "5f414d4f554e545f494e5f57524f4e475f43555252454e4359100c122f0a" . + "2b4d4f4e45595f414d4f554e545f4c4553535f5448414e5f43555252454e" . + "43595f4d494e494d554d5f435043100d121a0a164d4f4e45595f414d4f55" . + "4e545f544f4f5f4c41524745100e12190a154e454741544956455f4d4f4e" . + "45595f414d4f554e54100f12290a254e4f4e5f4d554c5449504c455f4f46" . + "5f4d494e494d554d5f43555252454e43595f554e4954101042f3010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f7273421843616d706169676e4275646765744572726f7250726f746f50" . + "015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f6572" . + "726f72733b6572726f7273a20203474141aa021e476f6f676c652e416473" . + "2e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c" . + "4164735c476f6f676c654164735c56325c4572726f7273ea0222476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionError.php new file mode 100644 index 000000000..3237dcf0c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionError.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0ad8060a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f637269746572696f6e5f6572726f72" . + "2e70726f746f121e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e6572726f727322f5030a1a43616d706169676e437269746572696f6e" . + "4572726f72456e756d22d6030a1643616d706169676e437269746572696f" . + "6e4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001121a0a16434f4e43524554455f545950455f524551554952" . + "4544100212190a15494e56414c49445f504c4143454d454e545f55524c10" . + "0312200a1c43414e4e4f545f4558434c5544455f43524954455249415f54" . + "595045100412270a2343414e4e4f545f5345545f5354415455535f464f52" . + "5f43524954455249415f545950451005122b0a2743414e4e4f545f534554" . + "5f5354415455535f464f525f4558434c554445445f435249544552494110" . + "06121d0a1943414e4e4f545f5441524745545f414e445f4558434c554445" . + "100712170a13544f4f5f4d414e595f4f5045524154494f4e531008122d0a" . + "294f50455241544f525f4e4f545f535550504f525445445f464f525f4352" . + "49544552494f4e5f54595045100912430a3f53484f5050494e475f43414d" . + "504149474e5f53414c45535f434f554e5452595f4e4f545f535550504f52" . + "5445445f464f525f53414c45535f4348414e4e454c100a121d0a1943414e" . + "4e4f545f4144445f4558495354494e475f4649454c44100b12240a204341" . + "4e4e4f545f5550444154455f4e454741544956455f435249544552494f4e" . + "100c42f6010a22636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f7273421b43616d706169676e437269746572696f6e" . + "4572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f6572726f72733b6572726f7273a20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f72" . + "73ca021e476f6f676c655c4164735c476f6f676c654164735c56325c4572" . + "726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignDraftError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignDraftError.php new file mode 100644 index 000000000..c9e032979 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignDraftError.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0aa3060a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f64726166745f6572726f722e70726f" . + "746f121e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f727322c8030a1643616d706169676e44726166744572726f72456e75" . + "6d22ad030a1243616d706169676e44726166744572726f72120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e100112180a144455" . + "504c49434154455f44524146545f4e414d451002122a0a26494e56414c49" . + "445f5354415455535f5452414e534954494f4e5f46524f4d5f52454d4f56" . + "45441003122b0a27494e56414c49445f5354415455535f5452414e534954" . + "494f4e5f46524f4d5f50524f4d4f544544100412310a2d494e56414c4944" . + "5f5354415455535f5452414e534954494f4e5f46524f4d5f50524f4d4f54" . + "455f4641494c4544100512200a1c435553544f4d45525f43414e4e4f545f" . + "4352454154455f4452414654100612200a1c43414d504149474e5f43414e" . + "4e4f545f4352454154455f4452414654100712180a14494e56414c49445f" . + "44524146545f4348414e47451008121d0a19494e56414c49445f53544154" . + "55535f5452414e534954494f4e1009122d0a294d41585f4e554d4245525f" . + "4f465f4452414654535f5045525f43414d504149474e5f52454143484544" . + "100a12270a234c4953545f4552524f52535f464f525f50524f4d4f544544" . + "5f44524146545f4f4e4c59100b42f2010a22636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e6572726f7273421743616d706169" . + "676e44726166744572726f7250726f746f50015a44676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f6572726f72733b6572726f7273a2" . + "0203474141aa021e476f6f676c652e4164732e476f6f676c654164732e56" . + "322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164" . + "735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignError.php new file mode 100644 index 000000000..6f5f7525c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignError.php @@ -0,0 +1,93 @@ +internalAddGeneratedFile(hex2bin( + "0a8e100a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f727322be" . + "0d0a1143616d706169676e4572726f72456e756d22a80d0a0d43616d7061" . + "69676e4572726f72120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e100112210a1d43414e4e4f545f5441524745545f434f4e54" . + "454e545f4e4554574f524b100312200a1c43414e4e4f545f544152474554" . + "5f5345415243485f4e4554574f524b100412360a3243414e4e4f545f5441" . + "524745545f5345415243485f4e4554574f524b5f574954484f55545f474f" . + "4f474c455f534541524348100512300a2c43414e4e4f545f544152474554" . + "5f474f4f474c455f5345415243485f464f525f43504d5f43414d50414947" . + "4e1006122d0a2943414d504149474e5f4d5553545f5441524745545f4154" . + "5f4c454153545f4f4e455f4e4554574f524b100712280a2443414e4e4f54" . + "5f5441524745545f504152544e45525f5345415243485f4e4554574f524b" . + "1008124b0a4743414e4e4f545f5441524745545f434f4e54454e545f4e45" . + "54574f524b5f4f4e4c595f574954485f43524954455249415f4c4556454c" . + "5f42494444494e475f5354524154454759100912360a3243414d50414947" . + "4e5f4455524154494f4e5f4d5553545f434f4e5441494e5f414c4c5f5255" . + "4e4e41424c455f545249414c53100a12240a2043414e4e4f545f4d4f4449" . + "46595f464f525f545249414c5f43414d504149474e100b121b0a17445550" . + "4c49434154455f43414d504149474e5f4e414d45100c121f0a1b494e434f" . + "4d50415449424c455f43414d504149474e5f4649454c44100d12190a1549" . + "4e56414c49445f43414d504149474e5f4e414d45100e122a0a26494e5641" . + "4c49445f41445f53455256494e475f4f5054494d495a4154494f4e5f5354" . + "41545553100f12180a14494e56414c49445f545241434b494e475f55524c" . + "1010123e0a3a43414e4e4f545f5345545f424f54485f545241434b494e47" . + "5f55524c5f54454d504c4154455f414e445f545241434b494e475f534554" . + "54494e47101112200a1c4d41585f494d5052455353494f4e535f4e4f545f" . + "494e5f52414e47451012121b0a1754494d455f554e49545f4e4f545f5355" . + "50504f52544544101312310a2d494e56414c49445f4f5045524154494f4e" . + "5f49465f53455256494e475f5354415455535f4841535f454e4445441014" . + "121b0a174255444745545f43414e4e4f545f42455f534841524544101512" . + "250a2143414d504149474e5f43414e4e4f545f5553455f5348415245445f" . + "425544474554101612300a2c43414e4e4f545f4348414e47455f42554447" . + "45545f4f4e5f43414d504149474e5f574954485f545249414c5310171221" . + "0a1d43414d504149474e5f4c4142454c5f444f45535f4e4f545f45584953" . + "54101812210a1d43414d504149474e5f4c4142454c5f414c52454144595f" . + "4558495354531019121c0a184d495353494e475f53484f5050494e475f53" . + "455454494e47101a12220a1e494e56414c49445f53484f5050494e475f53" . + "414c45535f434f554e545259101b122a0a264d495353494e475f554e4956" . + "455253414c5f4150505f43414d504149474e5f53455454494e47101e123b" . + "0a374144564552544953494e475f4348414e4e454c5f545950455f4e4f54" . + "5f415641494c41424c455f464f525f4143434f554e545f54595045101f12" . + "280a24494e56414c49445f4144564552544953494e475f4348414e4e454c" . + "5f5355425f545950451020122c0a2841545f4c454153545f4f4e455f434f" . + "4e56455253494f4e5f4d5553545f42455f53454c45435445441021121f0a" . + "1b43414e4e4f545f5345545f41445f524f544154494f4e5f4d4f44451022" . + "122f0a2b43414e4e4f545f4d4f444946595f53544152545f444154455f49" . + "465f414c52454144595f535441525445441023121b0a1743414e4e4f545f" . + "5345545f444154455f544f5f504153541024121f0a1b4d495353494e475f" . + "484f54454c5f435553544f4d45525f4c494e4b1025121f0a1b494e56414c" . + "49445f484f54454c5f435553544f4d45525f4c494e4b102612190a154d49" . + "5353494e475f484f54454c5f53455454494e47102712420a3e43414e4e4f" . + "545f5553455f5348415245445f43414d504149474e5f4255444745545f57" . + "48494c455f504152545f4f465f43414d504149474e5f47524f5550102812" . + "110a0d4150505f4e4f545f464f554e44102912390a3553484f5050494e47" . + "5f454e41424c455f4c4f43414c5f4e4f545f535550504f525445445f464f" . + "525f43414d504149474e5f54595045102a12330a2f4d45524348414e545f" . + "4e4f545f414c4c4f5745445f464f525f434f4d50415249534f4e5f4c4953" . + "54494e475f414453102b12230a1f494e53554646494349454e545f415050" . + "5f494e5354414c4c535f434f554e54102c42ed010a22636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f727342124361" . + "6d706169676e4572726f7250726f746f50015a44676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f6572726f72733b6572726f7273a202" . + "03474141aa021e476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentError.php new file mode 100644 index 000000000..5b4b0b781 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentError.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ae5060a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f6578706572696d656e745f6572726f" . + "722e70726f746f121e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732280040a1b43616d706169676e4578706572696d65" . + "6e744572726f72456e756d22e0030a1743616d706169676e457870657269" . + "6d656e744572726f72120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112120a0e4455504c49434154455f4e414d45100212" . + "160a12494e56414c49445f5452414e534954494f4e1003122f0a2b43414e" . + "4e4f545f4352454154455f4558504552494d454e545f574954485f534841" . + "5245445f425544474554100412360a3243414e4e4f545f4352454154455f" . + "4558504552494d454e545f464f525f52454d4f5645445f424153455f4341" . + "4d504149474e100512330a2f43414e4e4f545f4352454154455f45585045" . + "52494d454e545f464f525f4e4f4e5f50524f504f5345445f445241465410" . + "0612250a21435553544f4d45525f43414e4e4f545f4352454154455f4558" . + "504552494d454e54100712250a2143414d504149474e5f43414e4e4f545f" . + "4352454154455f4558504552494d454e54100812290a254558504552494d" . + "454e545f4455524154494f4e535f4d5553545f4e4f545f4f5645524c4150" . + "100912380a344558504552494d454e545f4455524154494f4e5f4d555354" . + "5f42455f57495448494e5f43414d504149474e5f4455524154494f4e100a" . + "122a0a2643414e4e4f545f4d55544154455f4558504552494d454e545f44" . + "55455f544f5f535441545553100b42f7010a22636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f7273421c43616d7061" . + "69676e4578706572696d656e744572726f7250726f746f50015a44676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f6572726f72733b65" . + "72726f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c" . + "654164732e56322e4572726f7273ca021e476f6f676c655c4164735c476f" . + "6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignFeedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignFeedError.php new file mode 100644 index 000000000..f405e5034 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignFeedError.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0a9d050a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f666565645f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322c4020a1543616d706169676e466565644572726f72456e756d22" . + "aa020a1143616d706169676e466565644572726f72120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001122c0a28464545445f" . + "414c52454144595f4558495354535f464f525f504c414345484f4c444552" . + "5f54595045100212220a1e43414e4e4f545f4352454154455f464f525f52" . + "454d4f5645445f46454544100412300a2c43414e4e4f545f435245415445" . + "5f414c52454144595f4558495354494e475f43414d504149474e5f464545" . + "44100512270a2343414e4e4f545f4d4f444946595f52454d4f5645445f43" . + "414d504149474e5f464545441006121c0a18494e56414c49445f504c4143" . + "45484f4c4445525f545950451007122c0a284d495353494e475f46454544" . + "4d415050494e475f464f525f504c414345484f4c4445525f545950451008" . + "42f1010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f7273421643616d706169676e466565644572726f725072" . + "6f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f6f" . + "676c655c4164735c476f6f676c654164735c56325c4572726f7273ea0222" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572" . + "726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetError.php new file mode 100644 index 000000000..6e8dd5935 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad5030a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63616d706169676e5f7368617265645f7365745f6572726f" . + "722e70726f746f121e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f727322720a1a43616d706169676e536861726564536574" . + "4572726f72456e756d22540a1643616d706169676e536861726564536574" . + "4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e1001121c0a185348415245445f5345545f4143434553535f44454e" . + "494544100242f6010a22636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f7273421b43616d706169676e536861726564" . + "5365744572726f7250726f746f50015a44676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f6572726f72733b6572726f7273a202034741" . + "41aa021e476f6f676c652e4164732e476f6f676c654164732e56322e4572" . + "726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ChangeStatusError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ChangeStatusError.php new file mode 100644 index 000000000..87e83a07d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ChangeStatusError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aba030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6368616e67655f7374617475735f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322620a154368616e67655374617475734572726f72456e756d2249" . + "0a114368616e67655374617475734572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112160a1253544152545f44" . + "4154455f544f4f5f4f4c44100342f1010a22636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e6572726f727342164368616e6765" . + "5374617475734572726f7250726f746f50015a44676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f6572726f72733b6572726f7273a202" . + "03474141aa021e476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CollectionSizeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CollectionSizeError.php new file mode 100644 index 000000000..8820fe3cc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CollectionSizeError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac5030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f636f6c6c656374696f6e5f73697a655f6572726f722e7072" . + "6f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f727322690a17436f6c6c656374696f6e53697a654572726f72456e" . + "756d224e0a13436f6c6c656374696f6e53697a654572726f72120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001120b0a0754" . + "4f4f5f4645571002120c0a08544f4f5f4d414e59100342f3010a22636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "734218436f6c6c656374696f6e53697a654572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ContextError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ContextError.php new file mode 100644 index 000000000..1d6d4e79b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ContextError.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0aea030a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f636f6e746578745f6572726f722e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f7273229c01" . + "0a10436f6e746578744572726f72456e756d2287010a0c436f6e74657874" . + "4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112270a234f5045524154494f4e5f4e4f545f5045524d495454" . + "45445f464f525f434f4e54455854100212300a2c4f5045524154494f4e5f" . + "4e4f545f5045524d49545445445f464f525f52454d4f5645445f5245534f" . + "55524345100342ec010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f72734211436f6e746578744572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionActionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionActionError.php new file mode 100644 index 000000000..2c90efbdb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionActionError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ad0050a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f636f6e76657273696f6e5f616374696f6e5f6572726f722e" . + "70726f746f121e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f727322ef020a19436f6e76657273696f6e416374696f6e4572" . + "726f72456e756d22d1020a15436f6e76657273696f6e416374696f6e4572" . + "726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112120a0e4455504c49434154455f4e414d45100212140a10445550" . + "4c49434154455f4150505f4944100312370a3354574f5f434f4e56455253" . + "494f4e5f414354494f4e535f42494444494e475f4f4e5f53414d455f4150" . + "505f444f574e4c4f4144100412310a2d42494444494e475f4f4e5f53414d" . + "455f4150505f444f574e4c4f41445f41535f474c4f42414c5f414354494f" . + "4e100512290a25444154415f44524956454e5f4d4f44454c5f5741535f4e" . + "455645525f47454e4552415445441006121d0a19444154415f4452495645" . + "4e5f4d4f44454c5f455850495245441007121b0a17444154415f44524956" . + "454e5f4d4f44454c5f5354414c451008121d0a19444154415f4452495645" . + "4e5f4d4f44454c5f554e4b4e4f574e100942f5010a22636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f7273421a436f" . + "6e76657273696f6e416374696f6e4572726f7250726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f6572726f72733b" . + "6572726f7273a20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e4572726f7273ca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadError.php new file mode 100644 index 000000000..f56f2851d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadError.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0aa4060a47676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f636f6e76657273696f6e5f61646a7573746d656e745f7570" . + "6c6f61645f6572726f722e70726f746f121e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f727322ae030a23436f6e76657273" . + "696f6e41646a7573746d656e7455706c6f61644572726f72456e756d2286" . + "030a1f436f6e76657273696f6e41646a7573746d656e7455706c6f616445" . + "72726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f" . + "574e100112200a1c544f4f5f524543454e545f434f4e56455253494f4e5f" . + "414354494f4e1002121d0a19494e56414c49445f434f4e56455253494f4e" . + "5f414354494f4e100312200a1c434f4e56455253494f4e5f414c52454144" . + "595f524554524143544544100412180a14434f4e56455253494f4e5f4e4f" . + "545f464f554e44100512160a12434f4e56455253494f4e5f455850495245" . + "44100612220a1e41444a5553544d454e545f50524543454445535f434f4e" . + "56455253494f4e100712210a1d4d4f52455f524543454e545f5245535441" . + "54454d454e545f464f554e44100812190a15544f4f5f524543454e545f43" . + "4f4e56455253494f4e1009124e0a4a43414e4e4f545f524553544154455f" . + "434f4e56455253494f4e5f414354494f4e5f544841545f414c574159535f" . + "555345535f44454641554c545f434f4e56455253494f4e5f56414c554510" . + "0a42ff010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f72734224436f6e76657273696f6e41646a7573746d65" . + "6e7455706c6f61644572726f7250726f746f50015a44676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f6572726f72733b6572726f7273" . + "a20203474141aa021e476f6f676c652e4164732e476f6f676c654164732e" . + "56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionUploadError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionUploadError.php new file mode 100644 index 000000000..907526571 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ConversionUploadError.php @@ -0,0 +1,65 @@ +internalAddGeneratedFile(hex2bin( + "0ab5090a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f636f6e76657273696f6e5f75706c6f61645f6572726f722e" . + "70726f746f121e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f727322d4060a19436f6e76657273696f6e55706c6f61644572" . + "726f72456e756d22b6060a15436f6e76657273696f6e55706c6f61644572" . + "726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112230a1f544f4f5f4d414e595f434f4e56455253494f4e535f494e" . + "5f52455155455354100212150a11554e504152534541424c455f47434c49" . + "441003121d0a19434f4e56455253494f4e5f50524543454445535f47434c" . + "4944100412110a0d455850495245445f47434c4944100512140a10544f4f" . + "5f524543454e545f47434c4944100612130a0f47434c49445f4e4f545f46" . + "4f554e44100712190a15554e415554484f52495a45445f435553544f4d45" . + "521008121d0a19494e56414c49445f434f4e56455253494f4e5f41435449" . + "4f4e100912200a1c544f4f5f524543454e545f434f4e56455253494f4e5f" . + "414354494f4e100a12360a32434f4e56455253494f4e5f545241434b494e" . + "475f4e4f545f454e41424c45445f41545f494d5052455353494f4e5f5449" . + "4d45100b12510a4d45585445524e414c5f4154545249425554494f4e5f44" . + "4154415f5345545f464f525f4e4f4e5f45585445524e414c4c595f415454" . + "524942555445445f434f4e56455253494f4e5f414354494f4e100c12510a" . + "4d45585445524e414c5f4154545249425554494f4e5f444154415f4e4f54" . + "5f5345545f464f525f45585445524e414c4c595f41545452494255544544" . + "5f434f4e56455253494f4e5f414354494f4e100d12460a424f524445525f" . + "49445f4e4f545f5045524d49545445445f464f525f45585445524e414c4c" . + "595f415454524942555445445f434f4e56455253494f4e5f414354494f4e" . + "100e121b0a174f524445525f49445f414c52454144595f494e5f55534510" . + "0f12160a124455504c49434154455f4f524445525f4944101012130a0f54" . + "4f4f5f524543454e545f43414c4c101112100a0c455850495245445f4341" . + "4c4c101212120a0e43414c4c5f4e4f545f464f554e441013121c0a18434f" . + "4e56455253494f4e5f50524543454445535f43414c4c101412300a2c434f" . + "4e56455253494f4e5f545241434b494e475f4e4f545f454e41424c45445f" . + "41545f43414c4c5f54494d45101512240a20554e504152534541424c455f" . + "43414c4c4552535f50484f4e455f4e554d424552101642f5010a22636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "73421a436f6e76657273696f6e55706c6f61644572726f7250726f746f50" . + "015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f6572" . + "726f72733b6572726f7273a20203474141aa021e476f6f676c652e416473" . + "2e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c" . + "4164735c476f6f676c654164735c56325c4572726f7273ea0222476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CountryCodeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CountryCodeError.php new file mode 100644 index 000000000..6d000f52a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CountryCodeError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab8030a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f636f756e7472795f636f64655f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727322620a14436f756e747279436f64654572726f72456e756d224a0a10" . + "436f756e747279436f64654572726f72120f0a0b554e5350454349464945" . + "441000120b0a07554e4b4e4f574e100112180a14494e56414c49445f434f" . + "554e5452595f434f4445100242f0010a22636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f72734215436f756e747279" . + "436f64654572726f7250726f746f50015a44676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f6572726f72733b6572726f7273a2020347" . + "4141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "72726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c56" . + "325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CriterionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CriterionError.php new file mode 100644 index 000000000..260d7083a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CriterionError.php @@ -0,0 +1,161 @@ +internalAddGeneratedFile(hex2bin( + "0afa1f0a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f637269746572696f6e5f6572726f722e70726f746f121e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f727322" . + "a81d0a12437269746572696f6e4572726f72456e756d22911d0a0e437269" . + "746572696f6e4572726f72120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001121a0a16434f4e43524554455f545950455f52" . + "455155495245441002121d0a19494e56414c49445f4558434c554445445f" . + "43415445474f5259100312180a14494e56414c49445f4b4559574f52445f" . + "54455854100412190a154b4559574f52445f544558545f544f4f5f4c4f4e" . + "471005121e0a1a4b4559574f52445f4841535f544f4f5f4d414e595f574f" . + "5244531006121d0a194b4559574f52445f4841535f494e56414c49445f43" . + "48415253100712190a15494e56414c49445f504c4143454d454e545f5552" . + "4c100812150a11494e56414c49445f555345525f4c495354100912190a15" . + "494e56414c49445f555345525f494e544552455354100a12240a20494e56" . + "414c49445f464f524d41545f464f525f504c4143454d454e545f55524c10" . + "0b121d0a19504c4143454d454e545f55524c5f49535f544f4f5f4c4f4e47" . + "100c12220a1e504c4143454d454e545f55524c5f4841535f494c4c454741" . + "4c5f43484152100d122c0a28504c4143454d454e545f55524c5f4841535f" . + "4d554c5449504c455f53495445535f494e5f4c494e45100e12390a35504c" . + "4143454d454e545f49535f4e4f545f415641494c41424c455f464f525f54" . + "4152474554494e475f4f525f4558434c5553494f4e100f12160a12494e56" . + "414c49445f544f5049435f504154481010121e0a1a494e56414c49445f59" . + "4f55545542455f4348414e4e454c5f49441011121c0a18494e56414c4944" . + "5f594f55545542455f564944454f5f4944101212270a23594f5554554245" . + "5f564552544943414c5f4348414e4e454c5f444550524543415445441013" . + "122a0a26594f55545542455f44454d4f475241504849435f4348414e4e45" . + "4c5f444550524543415445441014121b0a17594f55545542455f55524c5f" . + "554e535550504f52544544101512200a1c43414e4e4f545f4558434c5544" . + "455f43524954455249415f545950451016121c0a1843414e4e4f545f4144" . + "445f43524954455249415f545950451017121a0a16494e56414c49445f50" . + "524f445543545f46494c5445521018121b0a1750524f445543545f46494c" . + "5445525f544f4f5f4c4f4e47101912240a2043414e4e4f545f4558434c55" . + "44455f53494d494c41525f555345525f4c495354101a121f0a1b43414e4e" . + "4f545f4144445f434c4f5345445f555345525f4c495354101b123a0a3643" . + "414e4e4f545f4144445f444953504c41595f4f4e4c595f4c495354535f54" . + "4f5f5345415243485f4f4e4c595f43414d504149474e53101c12350a3143" . + "414e4e4f545f4144445f444953504c41595f4f4e4c595f4c495354535f54" . + "4f5f5345415243485f43414d504149474e53101d12370a3343414e4e4f54" . + "5f4144445f444953504c41595f4f4e4c595f4c495354535f544f5f53484f" . + "5050494e475f43414d504149474e53101e12310a2d43414e4e4f545f4144" . + "445f555345525f494e544552455354535f544f5f5345415243485f43414d" . + "504149474e53101f12390a3543414e4e4f545f5345545f424944535f4f4e" . + "5f435249544552494f4e5f545950455f494e5f5345415243485f43414d50" . + "4149474e53102012370a3343414e4e4f545f4144445f55524c535f544f5f" . + "435249544552494f4e5f545950455f464f525f43414d504149474e5f5459" . + "50451021121b0a17494e56414c49445f435553544f4d5f414646494e4954" . + "59106012190a15494e56414c49445f435553544f4d5f494e54454e541061" . + "12160a12494e56414c49445f49505f41444452455353102212150a11494e" . + "56414c49445f49505f464f524d4154102312160a12494e56414c49445f4d" . + "4f42494c455f4150501024121f0a1b494e56414c49445f4d4f42494c455f" . + "4150505f43415445474f5259102512180a14494e56414c49445f43524954" . + "4552494f4e5f49441026121b0a1743414e4e4f545f5441524745545f4352" . + "49544552494f4e102712240a2043414e4e4f545f5441524745545f4f4253" . + "4f4c4554455f435249544552494f4e102812220a1e435249544552494f4e" . + "5f49445f414e445f545950455f4d49534d415443481029121c0a18494e56" . + "414c49445f50524f58494d4954595f524144495553102a12220a1e494e56" . + "414c49445f50524f58494d4954595f5241444955535f554e495453102b12" . + "200a1c494e56414c49445f535452454554414444524553535f4c454e4754" . + "48102c121b0a17494e56414c49445f434954594e414d455f4c454e475448" . + "102d121d0a19494e56414c49445f524547494f4e434f44455f4c454e4754" . + "48102e121d0a19494e56414c49445f524547494f4e4e414d455f4c454e47" . + "5448102f121d0a19494e56414c49445f504f5354414c434f44455f4c454e" . + "475448103012180a14494e56414c49445f434f554e5452595f434f444510" . + "3112140a10494e56414c49445f4c41544954554445103212150a11494e56" . + "414c49445f4c4f4e474954554445103312360a3250524f58494d4954595f" . + "47454f504f494e545f414e445f414444524553535f424f54485f43414e4e" . + "4f545f42455f4e554c4c1034121d0a19494e56414c49445f50524f58494d" . + "4954595f414444524553531035121c0a18494e56414c49445f555345525f" . + "444f4d41494e5f4e414d45103612200a1c435249544552494f4e5f504152" . + "414d455445525f544f4f5f4c4f4e47103712260a2241445f534348454455" . + "4c455f54494d455f494e54455256414c535f4f5645524c4150103812320a" . + "2e41445f5343484544554c455f494e54455256414c5f43414e4e4f545f53" . + "50414e5f4d554c5449504c455f44415953103912250a2141445f53434845" . + "44554c455f494e56414c49445f54494d455f494e54455256414c103a1230" . + "0a2c41445f5343484544554c455f45584345454445445f494e5445525641" . + "4c535f5045525f4441595f4c494d4954103b122f0a2b41445f5343484544" . + "554c455f435249544552494f4e5f49445f4d49534d41544348494e475f46" . + "49454c4453103c12240a2043414e4e4f545f4249445f4d4f444946595f43" . + "5249544552494f4e5f54595045103d12320a2e43414e4e4f545f4249445f" . + "4d4f444946595f435249544552494f4e5f43414d504149474e5f4f505445" . + "445f4f5554103e12280a2443414e4e4f545f4249445f4d4f444946595f4e" . + "454741544956455f435249544552494f4e103f121f0a1b4249445f4d4f44" . + "49464945525f414c52454144595f455849535453104012170a1346454544" . + "5f49445f4e4f545f414c4c4f574544104112280a244143434f554e545f49" . + "4e454c494749424c455f464f525f43524954455249415f54595045104212" . + "2e0a2a43524954455249415f545950455f494e56414c49445f464f525f42" . + "494444494e475f53545241544547591043121c0a1843414e4e4f545f4558" . + "434c5544455f435249544552494f4e1044121b0a1743414e4e4f545f5245" . + "4d4f56455f435249544552494f4e1045121a0a1650524f445543545f5343" . + "4f50455f544f4f5f4c4f4e47104612250a2150524f445543545f53434f50" . + "455f544f4f5f4d414e595f44494d454e53494f4e531047121e0a1a50524f" . + "445543545f504152544954494f4e5f544f4f5f4c4f4e47104812290a2550" . + "524f445543545f504152544954494f4e5f544f4f5f4d414e595f44494d45" . + "4e53494f4e531049121d0a19494e56414c49445f50524f445543545f4449" . + "4d454e53494f4e104a12220a1e494e56414c49445f50524f445543545f44" . + "494d454e53494f4e5f54595045104b12240a20494e56414c49445f50524f" . + "445543545f42494444494e475f43415445474f5259104c121c0a184d4953" . + "53494e475f53484f5050494e475f53455454494e47104d121d0a19494e56" . + "414c49445f4d41544348494e475f46554e4354494f4e104e121f0a1b4c4f" . + "434154494f4e5f46494c5445525f4e4f545f414c4c4f574544104f12240a" . + "20494e56414c49445f464545445f464f525f4c4f434154494f4e5f46494c" . + "5445521062121b0a174c4f434154494f4e5f46494c5445525f494e56414c" . + "4944105012320a2e43414e4e4f545f4154544143485f4352495445524941" . + "5f41545f43414d504149474e5f414e445f414447524f5550105112390a35" . + "484f54454c5f4c454e4754485f4f465f535441595f4f5645524c4150535f" . + "574954485f4558495354494e475f435249544552494f4e105212410a3d48" . + "4f54454c5f414456414e43455f424f4f4b494e475f57494e444f575f4f56" . + "45524c4150535f574954485f4558495354494e475f435249544552494f4e" . + "1053122e0a2a4649454c445f494e434f4d50415449424c455f574954485f" . + "4e454741544956455f544152474554494e471054121d0a19494e56414c49" . + "445f574542504147455f434f4e444954494f4e105512210a1d494e56414c" . + "49445f574542504147455f434f4e444954494f4e5f55524c105612290a25" . + "574542504147455f434f4e444954494f4e5f55524c5f43414e4e4f545f42" . + "455f454d5054591057122e0a2a574542504147455f434f4e444954494f4e" . + "5f55524c5f554e535550504f525445445f50524f544f434f4c1058122e0a" . + "2a574542504147455f434f4e444954494f4e5f55524c5f43414e4e4f545f" . + "42455f49505f41444452455353105912450a41574542504147455f434f4e" . + "444954494f4e5f55524c5f444f4d41494e5f4e4f545f434f4e5349535445" . + "4e545f574954485f43414d504149474e5f53455454494e47105a12310a2d" . + "574542504147455f434f4e444954494f4e5f55524c5f43414e4e4f545f42" . + "455f5055424c49435f535546464958105b122f0a2b574542504147455f43" . + "4f4e444954494f4e5f55524c5f494e56414c49445f5055424c49435f5355" . + "46464958105c12390a35574542504147455f434f4e444954494f4e5f5552" . + "4c5f56414c55455f545241434b5f56414c55455f4e4f545f535550504f52" . + "544544105d123c0a38574542504147455f435249544552494f4e5f55524c" . + "5f455155414c535f43414e5f484156455f4f4e4c595f4f4e455f434f4e44" . + "4954494f4e105e12370a33574542504147455f435249544552494f4e5f4e" . + "4f545f535550504f525445445f4f4e5f4e4f4e5f4453415f41445f47524f" . + "5550105f42ee010a22636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f72734213437269746572696f6e4572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeError.php new file mode 100644 index 000000000..41482a150 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab3030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f63757272656e63795f636f64655f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f7273225b0a1543757272656e6379436f64654572726f72456e756d2242" . + "0a1143757272656e6379436f64654572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120f0a0b554e535550504f" . + "52544544100242f1010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f7273421643757272656e6379436f646545" . + "72726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f6572726f72733b6572726f7273a20203474141aa021e" . + "476f6f676c652e4164732e476f6f676c654164732e56322e4572726f7273" . + "ca021e476f6f676c655c4164735c476f6f676c654164735c56325c457272" . + "6f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CustomInterestError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomInterestError.php new file mode 100644 index 000000000..4f7aa5d4d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomInterestError.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0ab6050a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f637573746f6d5f696e7465726573745f6572726f722e7072" . + "6f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f727322d9020a17437573746f6d496e7465726573744572726f7245" . + "6e756d22bd020a13437573746f6d496e7465726573744572726f72120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e100112150a" . + "114e414d455f414c52454144595f55534544100212460a42435553544f4d" . + "5f494e5445524553545f4d454d4245525f49445f414e445f545950455f50" . + "4152414d455445525f4e4f545f50524553454e545f494e5f52454d4f5645" . + "100312200a1c545950455f414e445f504152414d455445525f4e4f545f46" . + "4f554e44100412260a22545950455f414e445f504152414d455445525f41" . + "4c52454144595f45584953544544100512270a23494e56414c49445f4355" . + "53544f4d5f494e5445524553545f4d454d4245525f545950451006121e0a" . + "1a43414e4e4f545f52454d4f56455f5748494c455f494e5f555345100712" . + "160a1243414e4e4f545f4348414e47455f54595045100842f3010a22636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "72734218437573746f6d496e7465726573744572726f7250726f746f5001" . + "5a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f657272" . + "6f72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e" . + "476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c41" . + "64735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f727362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkError.php new file mode 100644 index 000000000..73d31e4a0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ad3050a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f637573746f6d65725f636c69656e745f6c696e6b5f657272" . + "6f722e70726f746f121e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f727322ed020a1b437573746f6d6572436c69656e744c" . + "696e6b4572726f72456e756d22cd020a17437573746f6d6572436c69656e" . + "744c696e6b4572726f72120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e1001122a0a26434c49454e545f414c52454144595f49" . + "4e56495445445f42595f544849535f4d414e41474552100212270a23434c" . + "49454e545f414c52454144595f4d414e414745445f494e5f484945524152" . + "4348591003121b0a174359434c49435f4c494e4b5f4e4f545f414c4c4f57" . + "4544100412220a1e435553544f4d45525f4841535f544f4f5f4d414e595f" . + "4143434f554e5453100512230a1f434c49454e545f4841535f544f4f5f4d" . + "414e595f494e5649544154494f4e531006122a0a2643414e4e4f545f4849" . + "44455f4f525f554e484944455f4d414e414745525f4143434f554e545310" . + "07122d0a29435553544f4d45525f4841535f544f4f5f4d414e595f414343" . + "4f554e54535f41545f4d414e41474552100842f7010a22636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f7273421c43" . + "7573746f6d6572436c69656e744c696e6b4572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerError.php new file mode 100644 index 000000000..3695494b9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac7030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f637573746f6d65725f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72732278" . + "0a11437573746f6d65724572726f72456e756d22630a0d437573746f6d65" . + "724572726f72120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001121c0a185354415455535f4348414e47455f444953414c4c" . + "4f574544100212160a124143434f554e545f4e4f545f5345545f55501003" . + "42ed010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72734212437573746f6d65724572726f7250726f746f50" . + "015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f6572" . + "726f72733b6572726f7273a20203474141aa021e476f6f676c652e416473" . + "2e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c" . + "4164735c476f6f676c654164735c56325c4572726f7273ea0222476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerFeedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerFeedError.php new file mode 100644 index 000000000..05bfdc70f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerFeedError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ad0050a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f637573746f6d65725f666565645f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322f7020a15437573746f6d6572466565644572726f72456e756d22" . + "dd020a11437573746f6d6572466565644572726f72120f0a0b554e535045" . + "4349464945441000120b0a07554e4b4e4f574e1001122c0a28464545445f" . + "414c52454144595f4558495354535f464f525f504c414345484f4c444552" . + "5f54595045100212220a1e43414e4e4f545f4352454154455f464f525f52" . + "454d4f5645445f46454544100312300a2c43414e4e4f545f435245415445" . + "5f414c52454144595f4558495354494e475f435553544f4d45525f464545" . + "44100412270a2343414e4e4f545f4d4f444946595f52454d4f5645445f43" . + "5553544f4d45525f464545441005121c0a18494e56414c49445f504c4143" . + "45484f4c4445525f545950451006122c0a284d495353494e475f46454544" . + "4d415050494e475f464f525f504c414345484f4c4445525f545950451007" . + "12310a2d504c414345484f4c4445525f545950455f4e4f545f414c4c4f57" . + "45445f4f4e5f435553544f4d45525f46454544100842f1010a22636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "4216437573746f6d6572466565644572726f7250726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f6572726f72733b" . + "6572726f7273a20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e4572726f7273ca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkError.php new file mode 100644 index 000000000..d7ab353bc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkError.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0a88060a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f637573746f6d65725f6d616e616765725f6c696e6b5f6572" . + "726f722e70726f746f121e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f727322a0030a1c437573746f6d65724d616e616765" . + "724c696e6b4572726f72456e756d22ff020a18437573746f6d65724d616e" . + "616765724c696e6b4572726f72120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112150a114e4f5f50454e44494e475f494e" . + "56495445100212270a2353414d455f434c49454e545f4d4f52455f544841" . + "4e5f4f4e43455f5045525f43414c4c1003122d0a294d414e414745525f48" . + "41535f4d41585f4e554d4245525f4f465f4c494e4b45445f4143434f554e" . + "54531004122d0a2943414e4e4f545f554e4c494e4b5f4143434f554e545f" . + "574954484f55545f4143544956455f555345521005122b0a2743414e4e4f" . + "545f52454d4f56455f4c4153545f434c49454e545f4143434f554e545f4f" . + "574e45521006122b0a2743414e4e4f545f4348414e47455f524f4c455f42" . + "595f4e4f4e5f4143434f554e545f4f574e4552100712320a2e43414e4e4f" . + "545f4348414e47455f524f4c455f464f525f4e4f4e5f4143544956455f4c" . + "494e4b5f4143434f554e54100812190a154455504c49434154455f434849" . + "4c445f464f554e44100942f8010a22636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f7273421d437573746f6d65724d" . + "616e616765724c696e6b4572726f7250726f746f50015a44676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f6572726f72733b6572726f" . + "7273a20203474141aa021e476f6f676c652e4164732e476f6f676c654164" . + "732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c" . + "654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/DatabaseError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/DatabaseError.php new file mode 100644 index 000000000..1770a0355 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/DatabaseError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acd030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f64617461626173655f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f7273227e" . + "0a1144617461626173654572726f72456e756d22690a0d44617461626173" . + "654572726f72120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001121b0a17434f4e43555252454e545f4d4f44494649434154" . + "494f4e1002121d0a19444154415f434f4e53545241494e545f56494f4c41" . + "54494f4e100342ed010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f7273421244617461626173654572726f72" . + "50726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea" . + "0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/DateError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/DateError.php new file mode 100644 index 000000000..54a126e22 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/DateError.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0a87060a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f646174655f6572726f722e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f727322bf030a0d44" . + "6174654572726f72456e756d22ad030a09446174654572726f72120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e100112200a1c" . + "494e56414c49445f4649454c445f56414c5545535f494e5f444154451002" . + "12250a21494e56414c49445f4649454c445f56414c5545535f494e5f4441" . + "54455f54494d45100312170a13494e56414c49445f535452494e475f4441" . + "5445100412230a1f494e56414c49445f535452494e475f444154455f5449" . + "4d455f4d4943524f53100612240a20494e56414c49445f535452494e475f" . + "444154455f54494d455f5345434f4e4453100b12300a2c494e56414c4944" . + "5f535452494e475f444154455f54494d455f5345434f4e44535f57495448" . + "5f4f4646534554100c121d0a194541524c4945525f5448414e5f4d494e49" . + "4d554d5f444154451007121b0a174c415445525f5448414e5f4d4158494d" . + "554d5f44415445100812330a2f444154455f52414e47455f4d494e494d55" . + "4d5f444154455f4c415445525f5448414e5f4d4158494d554d5f44415445" . + "100912320a2e444154455f52414e47455f4d494e494d554d5f414e445f4d" . + "4158494d554d5f44415445535f424f54485f4e554c4c100a42e9010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f7273420e446174654572726f7250726f746f50015a44676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f6572726f72733b6572726f72" . + "73a20203474141aa021e476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/DateRangeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/DateRangeError.php new file mode 100644 index 000000000..65568c42b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/DateRangeError.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ab9040a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f646174655f72616e67655f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "22e6010a124461746552616e67654572726f72456e756d22cf010a0e4461" . + "746552616e67654572726f72120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e100112100a0c494e56414c49445f444154451002" . + "121d0a1953544152545f444154455f41465445525f454e445f4441544510" . + "03121b0a1743414e4e4f545f5345545f444154455f544f5f504153541004" . + "12200a1c41465445525f4d4158494d554d5f414c4c4f5741424c455f4441" . + "54451005122f0a2b43414e4e4f545f4d4f444946595f53544152545f4441" . + "54455f49465f414c52454144595f53544152544544100642ee010a22636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727342134461746552616e67654572726f7250726f746f50015a44676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f6572726f72733b65" . + "72726f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c" . + "654164732e56322e4572726f7273ca021e476f6f676c655c4164735c476f" . + "6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/DistinctError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/DistinctError.php new file mode 100644 index 000000000..17d9af140 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/DistinctError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0abc030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f64697374696e63745f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f7273226d" . + "0a1144697374696e63744572726f72456e756d22580a0d44697374696e63" . + "744572726f72120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e100112150a114455504c49434154455f454c454d454e54100212" . + "120a0e4455504c49434154455f54595045100342ed010a22636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72734212" . + "44697374696e63744572726f7250726f746f50015a44676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f6572726f72733b6572726f7273" . + "a20203474141aa021e476f6f676c652e4164732e476f6f676c654164732e" . + "56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/EnumError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/EnumError.php new file mode 100644 index 000000000..dcca14590 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/EnumError.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a9f030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f656e756d5f6572726f722e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f727322580a0d456e" . + "756d4572726f72456e756d22470a09456e756d4572726f72120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e1001121c0a18454e" . + "554d5f56414c55455f4e4f545f5045524d4954544544100342e9010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f7273420e456e756d4572726f7250726f746f50015a44676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f6572726f72733b6572726f72" . + "73a20203474141aa021e476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/Errors.php b/metadata/Google/Ads/GoogleAds/V2/Errors/Errors.php new file mode 100644 index 000000000..f0a383dca --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/Errors.php @@ -0,0 +1,746 @@ +internalAddGeneratedFile(hex2bin( + "0a8690010a2b676f6f676c652f6164732f676f6f676c656164732f76322f" . + "6572726f72732f6572726f72732e70726f746f121e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f72731a2a676f6f676c652f" . + "6164732f676f6f676c656164732f76322f636f6d6d6f6e2f76616c75652e" . + "70726f746f1a3c676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f6572726f72732f6163636573735f696e7669746174696f6e5f6572726f" . + "722e70726f746f1a42676f6f676c652f6164732f676f6f676c656164732f" . + "76322f6572726f72732f6163636f756e745f6275646765745f70726f706f" . + "73616c5f6572726f722e70726f746f1a38676f6f676c652f6164732f676f" . + "6f676c656164732f76322f6572726f72732f61645f637573746f6d697a65" . + "725f6572726f722e70726f746f1a2d676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f61645f6572726f722e70726f746f" . + "1a36676f6f676c652f6164732f676f6f676c656164732f76322f6572726f" . + "72732f61645f67726f75705f61645f6572726f722e70726f746f1a40676f" . + "6f676c652f6164732f676f6f676c656164732f76322f6572726f72732f61" . + "645f67726f75705f6269645f6d6f6469666965725f6572726f722e70726f" . + "746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f6572" . + "726f72732f61645f67726f75705f637269746572696f6e5f6572726f722e" . + "70726f746f1a33676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f6572726f72732f61645f67726f75705f6572726f722e70726f746f1a38" . + "676f6f676c652f6164732f676f6f676c656164732f76322f6572726f7273" . + "2f61645f67726f75705f666565645f6572726f722e70726f746f1a37676f" . + "6f676c652f6164732f676f6f676c656164732f76322f6572726f72732f61" . + "645f706172616d657465725f6572726f722e70726f746f1a35676f6f676c" . + "652f6164732f676f6f676c656164732f76322f6572726f72732f61645f73" . + "686172696e675f6572726f722e70726f746f1a2e676f6f676c652f616473" . + "2f676f6f676c656164732f76322f6572726f72732f6164785f6572726f72" . + "2e70726f746f1a30676f6f676c652f6164732f676f6f676c656164732f76" . + "322f6572726f72732f61737365745f6572726f722e70726f746f1a39676f" . + "6f676c652f6164732f676f6f676c656164732f76322f6572726f72732f61" . + "757468656e7469636174696f6e5f6572726f722e70726f746f1a38676f6f" . + "676c652f6164732f676f6f676c656164732f76322f6572726f72732f6175" . + "74686f72697a6174696f6e5f6572726f722e70726f746f1a32676f6f676c" . + "652f6164732f676f6f676c656164732f76322f6572726f72732f62696464" . + "696e675f6572726f722e70726f746f1a3b676f6f676c652f6164732f676f" . + "6f676c656164732f76322f6572726f72732f62696464696e675f73747261" . + "746567795f6572726f722e70726f746f1a38676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f6572726f72732f62696c6c696e675f736574" . + "75705f6572726f722e70726f746f1a3a676f6f676c652f6164732f676f6f" . + "676c656164732f76322f6572726f72732f63616d706169676e5f62756467" . + "65745f6572726f722e70726f746f1a3d676f6f676c652f6164732f676f6f" . + "676c656164732f76322f6572726f72732f63616d706169676e5f63726974" . + "6572696f6e5f6572726f722e70726f746f1a39676f6f676c652f6164732f" . + "676f6f676c656164732f76322f6572726f72732f63616d706169676e5f64" . + "726166745f6572726f722e70726f746f1a33676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f6572726f72732f63616d706169676e5f6572" . + "726f722e70726f746f1a3e676f6f676c652f6164732f676f6f676c656164" . + "732f76322f6572726f72732f63616d706169676e5f6578706572696d656e" . + "745f6572726f722e70726f746f1a38676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f63616d706169676e5f666565645f" . + "6572726f722e70726f746f1a3e676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f6572726f72732f63616d706169676e5f7368617265645f" . + "7365745f6572726f722e70726f746f1a38676f6f676c652f6164732f676f" . + "6f676c656164732f76322f6572726f72732f6368616e67655f7374617475" . + "735f6572726f722e70726f746f1a3a676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f636f6c6c656374696f6e5f73697a" . + "655f6572726f722e70726f746f1a32676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f636f6e746578745f6572726f722e" . + "70726f746f1a3c676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f6572726f72732f636f6e76657273696f6e5f616374696f6e5f6572726f" . + "722e70726f746f1a47676f6f676c652f6164732f676f6f676c656164732f" . + "76322f6572726f72732f636f6e76657273696f6e5f61646a7573746d656e" . + "745f75706c6f61645f6572726f722e70726f746f1a3c676f6f676c652f61" . + "64732f676f6f676c656164732f76322f6572726f72732f636f6e76657273" . + "696f6e5f75706c6f61645f6572726f722e70726f746f1a37676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f6572726f72732f636f756e74" . + "72795f636f64655f6572726f722e70726f746f1a34676f6f676c652f6164" . + "732f676f6f676c656164732f76322f6572726f72732f637269746572696f" . + "6e5f6572726f722e70726f746f1a38676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f63757272656e63795f636f64655f" . + "6572726f722e70726f746f1a3a676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f6572726f72732f637573746f6d5f696e7465726573745f" . + "6572726f722e70726f746f1a3f676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f6572726f72732f637573746f6d65725f636c69656e745f" . + "6c696e6b5f6572726f722e70726f746f1a33676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f6572726f72732f637573746f6d65725f6572" . + "726f722e70726f746f1a38676f6f676c652f6164732f676f6f676c656164" . + "732f76322f6572726f72732f637573746f6d65725f666565645f6572726f" . + "722e70726f746f1a40676f6f676c652f6164732f676f6f676c656164732f" . + "76322f6572726f72732f637573746f6d65725f6d616e616765725f6c696e" . + "6b5f6572726f722e70726f746f1a33676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f64617461626173655f6572726f72" . + "2e70726f746f1a2f676f6f676c652f6164732f676f6f676c656164732f76" . + "322f6572726f72732f646174655f6572726f722e70726f746f1a35676f6f" . + "676c652f6164732f676f6f676c656164732f76322f6572726f72732f6461" . + "74655f72616e67655f6572726f722e70726f746f1a33676f6f676c652f61" . + "64732f676f6f676c656164732f76322f6572726f72732f64697374696e63" . + "745f6572726f722e70726f746f1a2f676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f6572726f72732f656e756d5f6572726f722e70726f" . + "746f1a3e676f6f676c652f6164732f676f6f676c656164732f76322f6572" . + "726f72732f657874656e73696f6e5f666565645f6974656d5f6572726f72" . + "2e70726f746f1a3c676f6f676c652f6164732f676f6f676c656164732f76" . + "322f6572726f72732f657874656e73696f6e5f73657474696e675f657272" . + "6f722e70726f746f1a43676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f6572726f72732f666565645f6174747269627574655f72656665" . + "72656e63655f6572726f722e70726f746f1a2f676f6f676c652f6164732f" . + "676f6f676c656164732f76322f6572726f72732f666565645f6572726f72" . + "2e70726f746f1a34676f6f676c652f6164732f676f6f676c656164732f76" . + "322f6572726f72732f666565645f6974656d5f6572726f722e70726f746f" . + "1a3b676f6f676c652f6164732f676f6f676c656164732f76322f6572726f" . + "72732f666565645f6974656d5f7461726765745f6572726f722e70726f74" . + "6f1a3f676f6f676c652f6164732f676f6f676c656164732f76322f657272" . + "6f72732f666565645f6974656d5f76616c69646174696f6e5f6572726f72" . + "2e70726f746f1a37676f6f676c652f6164732f676f6f676c656164732f76" . + "322f6572726f72732f666565645f6d617070696e675f6572726f722e7072" . + "6f746f1a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6669656c645f6572726f722e70726f746f1a35676f6f676c" . + "652f6164732f676f6f676c656164732f76322f6572726f72732f6669656c" . + "645f6d61736b5f6572726f722e70726f746f1a33676f6f676c652f616473" . + "2f676f6f676c656164732f76322f6572726f72732f66756e6374696f6e5f" . + "6572726f722e70726f746f1a3b676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f6572726f72732f66756e6374696f6e5f70617273696e67" . + "5f6572726f722e70726f746f1a49676f6f676c652f6164732f676f6f676c" . + "656164732f76322f6572726f72732f67656f5f7461726765745f636f6e73" . + "74616e745f73756767657374696f6e5f6572726f722e70726f746f1a3167" . + "6f6f676c652f6164732f676f6f676c656164732f76322f6572726f72732f" . + "6865616465725f6572726f722e70726f746f1a2d676f6f676c652f616473" . + "2f676f6f676c656164732f76322f6572726f72732f69645f6572726f722e" . + "70726f746f1a30676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f6572726f72732f696d6167655f6572726f722e70726f746f1a33676f6f" . + "676c652f6164732f676f6f676c656164732f76322f6572726f72732f696e" . + "7465726e616c5f6572726f722e70726f746f1a40676f6f676c652f616473" . + "2f676f6f676c656164732f76322f6572726f72732f6b6579776f72645f70" . + "6c616e5f61645f67726f75705f6572726f722e70726f746f1a40676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f6572726f72732f6b6579" . + "776f72645f706c616e5f63616d706169676e5f6572726f722e70726f746f" . + "1a37676f6f676c652f6164732f676f6f676c656164732f76322f6572726f" . + "72732f6b6579776f72645f706c616e5f6572726f722e70726f746f1a3c67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f6572726f72732f" . + "6b6579776f72645f706c616e5f696465615f6572726f722e70726f746f1a" . + "3f676f6f676c652f6164732f676f6f676c656164732f76322f6572726f72" . + "732f6b6579776f72645f706c616e5f6b6579776f72645f6572726f722e70" . + "726f746f1a48676f6f676c652f6164732f676f6f676c656164732f76322f" . + "6572726f72732f6b6579776f72645f706c616e5f6e656761746976655f6b" . + "6579776f72645f6572726f722e70726f746f1a30676f6f676c652f616473" . + "2f676f6f676c656164732f76322f6572726f72732f6c6162656c5f657272" . + "6f722e70726f746f1a38676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f6572726f72732f6c616e67756167655f636f64655f6572726f72" . + "2e70726f746f1a39676f6f676c652f6164732f676f6f676c656164732f76" . + "322f6572726f72732f6c6973745f6f7065726174696f6e5f6572726f722e" . + "70726f746f1a37676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f6572726f72732f6d616e616765725f6c696e6b5f6572726f722e70726f" . + "746f1a37676f6f676c652f6164732f676f6f676c656164732f76322f6572" . + "726f72732f6d656469615f62756e646c655f6572726f722e70726f746f1a" . + "35676f6f676c652f6164732f676f6f676c656164732f76322f6572726f72" . + "732f6d656469615f66696c655f6572726f722e70726f746f1a37676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f6572726f72732f6d6564" . + "69615f75706c6f61645f6572726f722e70726f746f1a35676f6f676c652f" . + "6164732f676f6f676c656164732f76322f6572726f72732f6d756c746970" . + "6c6965725f6572726f722e70726f746f1a31676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f6572726f72732f6d75746174655f6572726f" . + "722e70726f746f1a35676f6f676c652f6164732f676f6f676c656164732f" . + "76322f6572726f72732f6d75746174655f6a6f625f6572726f722e70726f" . + "746f1a40676f6f676c652f6164732f676f6f676c656164732f76322f6572" . + "726f72732f6e65775f7265736f757263655f6372656174696f6e5f657272" . + "6f722e70726f746f1a34676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f6572726f72732f6e6f745f656d7074795f6572726f722e70726f" . + "746f1a3a676f6f676c652f6164732f676f6f676c656164732f76322f6572" . + "726f72732f6e6f745f77686974656c69737465645f6572726f722e70726f" . + "746f1a2f676f6f676c652f6164732f676f6f676c656164732f76322f6572" . + "726f72732f6e756c6c5f6572726f722e70726f746f1a42676f6f676c652f" . + "6164732f676f6f676c656164732f76322f6572726f72732f6f7065726174" . + "696f6e5f6163636573735f64656e6965645f6572726f722e70726f746f1a" . + "33676f6f676c652f6164732f676f6f676c656164732f76322f6572726f72" . + "732f6f70657261746f725f6572726f722e70726f746f1a3a676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f6572726f72732f7061727469" . + "616c5f6661696c7572655f6572726f722e70726f746f1a39676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f6572726f72732f706f6c6963" . + "795f66696e64696e675f6572726f722e70726f746f1a46676f6f676c652f" . + "6164732f676f6f676c656164732f76322f6572726f72732f706f6c696379" . + "5f76616c69646174696f6e5f706172616d657465725f6572726f722e7072" . + "6f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f706f6c6963795f76696f6c6174696f6e5f6572726f722e70" . + "726f746f1a30676f6f676c652f6164732f676f6f676c656164732f76322f" . + "6572726f72732f71756572795f6572726f722e70726f746f1a30676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f6572726f72732f71756f" . + "74615f6572726f722e70726f746f1a30676f6f676c652f6164732f676f6f" . + "676c656164732f76322f6572726f72732f72616e67655f6572726f722e70" . + "726f746f1a39676f6f676c652f6164732f676f6f676c656164732f76322f" . + "6572726f72732f7265636f6d6d656e646174696f6e5f6572726f722e7072" . + "6f746f1a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f726567696f6e5f636f64655f6572726f722e70726f746f1a" . + "32676f6f676c652f6164732f676f6f676c656164732f76322f6572726f72" . + "732f726571756573745f6572726f722e70726f746f1a41676f6f676c652f" . + "6164732f676f6f676c656164732f76322f6572726f72732f7265736f7572" . + "63655f6163636573735f64656e6965645f6572726f722e70726f746f1a48" . + "676f6f676c652f6164732f676f6f676c656164732f76322f6572726f7273" . + "2f7265736f757263655f636f756e745f6c696d69745f6578636565646564" . + "5f6572726f722e70726f746f1a32676f6f676c652f6164732f676f6f676c" . + "656164732f76322f6572726f72732f73657474696e675f6572726f722e70" . + "726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76322f" . + "6572726f72732f7368617265645f637269746572696f6e5f6572726f722e" . + "70726f746f1a35676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f6572726f72732f7368617265645f7365745f6572726f722e70726f746f" . + "1a35676f6f676c652f6164732f676f6f676c656164732f76322f6572726f" . + "72732f73697a655f6c696d69745f6572726f722e70726f746f1a38676f6f" . + "676c652f6164732f676f6f676c656164732f76322f6572726f72732f7374" . + "72696e675f666f726d61745f6572726f722e70726f746f1a38676f6f676c" . + "652f6164732f676f6f676c656164732f76322f6572726f72732f73747269" . + "6e675f6c656e6774685f6572726f722e70726f746f1a34676f6f676c652f" . + "6164732f676f6f676c656164732f76322f6572726f72732f75726c5f6669" . + "656c645f6572726f722e70726f746f1a34676f6f676c652f6164732f676f" . + "6f676c656164732f76322f6572726f72732f757365725f6c6973745f6572" . + "726f722e70726f746f1a45676f6f676c652f6164732f676f6f676c656164" . + "732f76322f6572726f72732f796f75747562655f766964656f5f72656769" . + "7374726174696f6e5f6572726f722e70726f746f1a1e676f6f676c652f70" . + "726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f22520a10476f6f67" . + "6c654164734661696c757265123e0a066572726f727318012003280b322e" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e476f6f676c654164734572726f722298020a0e476f6f676c65416473" . + "4572726f72123d0a0a6572726f725f636f646518012001280b32292e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72732e45" . + "72726f72436f6465120f0a076d65737361676518022001280912360a0774" . + "72696767657218032001280b32252e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e56616c7565123f0a086c6f636174" . + "696f6e18042001280b322d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f72732e4572726f724c6f636174696f6e123d0a07" . + "64657461696c7318052001280b322c2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e6572726f72732e4572726f7244657461696c7322" . + "8d550a094572726f72436f646512560a0d726571756573745f6572726f72" . + "18012001280e323d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e526571756573744572726f72456e756d2e526571" . + "756573744572726f724800126f0a1662696464696e675f73747261746567" . + "795f6572726f7218022001280e324d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e6572726f72732e42696464696e67537472617465" . + "67794572726f72456e756d2e42696464696e675374726174656779457272" . + "6f724800125a0a0f75726c5f6669656c645f6572726f7218032001280e32" . + "3f2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "72732e55726c4669656c644572726f72456e756d2e55726c4669656c6445" . + "72726f72480012690a146c6973745f6f7065726174696f6e5f6572726f72" . + "18042001280e32492e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e4c6973744f7065726174696f6e4572726f72456e" . + "756d2e4c6973744f7065726174696f6e4572726f72480012500a0b717565" . + "72795f6572726f7218052001280e32392e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e51756572794572726f72456e" . + "756d2e51756572794572726f72480012530a0c6d75746174655f6572726f" . + "7218072001280e323b2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f72732e4d75746174654572726f72456e756d2e4d7574" . + "6174654572726f724800125d0a106669656c645f6d61736b5f6572726f72" . + "18082001280e32412e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e4669656c644d61736b4572726f72456e756d2e46" . + "69656c644d61736b4572726f72480012680a13617574686f72697a617469" . + "6f6e5f6572726f7218092001280e32492e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e417574686f72697a6174696f" . + "6e4572726f72456e756d2e417574686f72697a6174696f6e4572726f7248" . + "0012590a0e696e7465726e616c5f6572726f72180a2001280e323f2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72732e49" . + "6e7465726e616c4572726f72456e756d2e496e7465726e616c4572726f72" . + "480012500a0b71756f74615f6572726f72180b2001280e32392e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f72732e51756f" . + "74614572726f72456e756d2e51756f74614572726f72480012470a086164" . + "5f6572726f72180c2001280e32332e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f72732e41644572726f72456e756d2e4164" . + "4572726f72480012570a0e61645f67726f75705f6572726f72180d200128" . + "0e323d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f72732e416447726f75704572726f72456e756d2e416447726f757045" . + "72726f724800126c0a1563616d706169676e5f6275646765745f6572726f" . + "72180e2001280e324b2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f72732e43616d706169676e4275646765744572726f72" . + "456e756d2e43616d706169676e4275646765744572726f72480012590a0e" . + "63616d706169676e5f6572726f72180f2001280e323f2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f72732e43616d706169" . + "676e4572726f72456e756d2e43616d706169676e4572726f724800126b0a" . + "1461757468656e7469636174696f6e5f6572726f7218112001280e324b2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "2e41757468656e7469636174696f6e4572726f72456e756d2e4175746865" . + "6e7469636174696f6e4572726f72480012730a1861645f67726f75705f63" . + "7269746572696f6e5f6572726f7218122001280e324f2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f72732e416447726f75" . + "70437269746572696f6e4572726f72456e756d2e416447726f7570437269" . + "746572696f6e4572726f72480012660a1361645f637573746f6d697a6572" . + "5f6572726f7218132001280e32472e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f72732e4164437573746f6d697a65724572" . + "726f72456e756d2e4164437573746f6d697a65724572726f724800125e0a" . + "1161645f67726f75705f61645f6572726f7218152001280e32412e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e4164" . + "47726f757041644572726f72456e756d2e416447726f757041644572726f" . + "724800125d0a1061645f73686172696e675f6572726f7218182001280e32" . + "412e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "72732e416453686172696e674572726f72456e756d2e416453686172696e" . + "674572726f724800124a0a096164785f6572726f7218192001280e32352e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "2e4164784572726f72456e756d2e4164784572726f72480012500a0b6173" . + "7365745f6572726f72186b2001280e32392e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f72732e41737365744572726f7245" . + "6e756d2e41737365744572726f72480012560a0d62696464696e675f6572" . + "726f72181a2001280e323d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f72732e42696464696e674572726f72456e756d2e" . + "42696464696e674572726f72480012750a1863616d706169676e5f637269" . + "746572696f6e5f6572726f72181d2001280e32512e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f72732e43616d706169676e" . + "437269746572696f6e4572726f72456e756d2e43616d706169676e437269" . + "746572696f6e4572726f724800126c0a15636f6c6c656374696f6e5f7369" . + "7a655f6572726f72181f2001280e324b2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e436f6c6c656374696f6e5369" . + "7a654572726f72456e756d2e436f6c6c656374696f6e53697a654572726f" . + "72480012630a12636f756e7472795f636f64655f6572726f72186d200128" . + "0e32452e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f72732e436f756e747279436f64654572726f72456e756d2e436f756e" . + "747279436f64654572726f724800125c0a0f637269746572696f6e5f6572" . + "726f7218202001280e32412e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f72732e437269746572696f6e4572726f72456e75" . + "6d2e437269746572696f6e4572726f72480012590a0e637573746f6d6572" . + "5f6572726f72185a2001280e323f2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f72732e437573746f6d65724572726f7245" . + "6e756d2e437573746f6d65724572726f724800124d0a0a646174655f6572" . + "726f7218212001280e32372e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f72732e446174654572726f72456e756d2e446174" . + "654572726f724800125d0a10646174655f72616e67655f6572726f721822" . + "2001280e32412e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72732e4461746552616e67654572726f72456e756d2e446174" . + "6552616e67654572726f72480012590a0e64697374696e63745f6572726f" . + "7218232001280e323f2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f72732e44697374696e63744572726f72456e756d2e44" . + "697374696e63744572726f7248001285010a1e666565645f617474726962" . + "7574655f7265666572656e63655f6572726f7218242001280e325b2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72732e46" . + "6565644174747269627574655265666572656e63654572726f72456e756d" . + "2e466565644174747269627574655265666572656e63654572726f724800" . + "12590a0e66756e6374696f6e5f6572726f7218252001280e323f2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e4675" . + "6e6374696f6e4572726f72456e756d2e46756e6374696f6e4572726f7248" . + "00126f0a1666756e6374696f6e5f70617273696e675f6572726f72182620" . + "01280e324d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f72732e46756e6374696f6e50617273696e674572726f72456e75" . + "6d2e46756e6374696f6e50617273696e674572726f72480012470a086964" . + "5f6572726f7218272001280e32332e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f72732e49644572726f72456e756d2e4964" . + "4572726f72480012500a0b696d6167655f6572726f7218282001280e3239" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e496d6167654572726f72456e756d2e496d6167654572726f72480012" . + "660a136c616e67756167655f636f64655f6572726f72186e2001280e3247" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e4c616e6775616765436f64654572726f72456e756d2e4c616e677561" . + "6765436f64654572726f72480012630a126d656469615f62756e646c655f" . + "6572726f72182a2001280e32452e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f72732e4d6564696142756e646c654572726f" . + "72456e756d2e4d6564696142756e646c654572726f72480012630a126d65" . + "6469615f75706c6f61645f6572726f7218742001280e32452e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f72732e4d656469" . + "6155706c6f61644572726f72456e756d2e4d6564696155706c6f61644572" . + "726f724800125d0a106d656469615f66696c655f6572726f721856200128" . + "0e32412e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f72732e4d6564696146696c654572726f72456e756d2e4d6564696146" . + "696c654572726f724800125f0a106d756c7469706c6965725f6572726f72" . + "182c2001280e32432e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e4d756c7469706c6965724572726f72456e756d2e" . + "4d756c7469706c6965724572726f724800127c0a1b6e65775f7265736f75" . + "7263655f6372656174696f6e5f6572726f72182d2001280e32552e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e4e65" . + "775265736f757263654372656174696f6e4572726f72456e756d2e4e6577" . + "5265736f757263654372656174696f6e4572726f724800125a0a0f6e6f74" . + "5f656d7074795f6572726f72182e2001280e323f2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f72732e4e6f74456d707479" . + "4572726f72456e756d2e4e6f74456d7074794572726f724800124d0a0a6e" . + "756c6c5f6572726f72182f2001280e32372e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f72732e4e756c6c4572726f72456e" . + "756d2e4e756c6c4572726f72480012590a0e6f70657261746f725f657272" . + "6f7218302001280e323f2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f72732e4f70657261746f724572726f72456e756d2e" . + "4f70657261746f724572726f72480012500a0b72616e67655f6572726f72" . + "18312001280e32392e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e52616e67654572726f72456e756d2e52616e6765" . + "4572726f724800126b0a147265636f6d6d656e646174696f6e5f6572726f" . + "72183a2001280e324b2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f72732e5265636f6d6d656e646174696f6e4572726f72" . + "456e756d2e5265636f6d6d656e646174696f6e4572726f72480012600a11" . + "726567696f6e5f636f64655f6572726f7218332001280e32432e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f72732e526567" . + "696f6e436f64654572726f72456e756d2e526567696f6e436f6465457272" . + "6f72480012560a0d73657474696e675f6572726f7218342001280e323d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "2e53657474696e674572726f72456e756d2e53657474696e674572726f72" . + "480012660a13737472696e675f666f726d61745f6572726f721835200128" . + "0e32472e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f72732e537472696e67466f726d61744572726f72456e756d2e537472" . + "696e67466f726d61744572726f72480012660a13737472696e675f6c656e" . + "6774685f6572726f7218362001280e32472e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f72732e537472696e674c656e6774" . + "684572726f72456e756d2e537472696e674c656e6774684572726f724800" . + "1282010a1d6f7065726174696f6e5f6163636573735f64656e6965645f65" . + "72726f7218372001280e32592e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f72732e4f7065726174696f6e41636365737344" . + "656e6965644572726f72456e756d2e4f7065726174696f6e416363657373" . + "44656e6965644572726f724800127f0a1c7265736f757263655f61636365" . + "73735f64656e6965645f6572726f7218382001280e32572e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f72732e5265736f75" . + "72636541636365737344656e6965644572726f72456e756d2e5265736f75" . + "72636541636365737344656e6965644572726f7248001292010a23726573" . + "6f757263655f636f756e745f6c696d69745f65786365656465645f657272" . + "6f7218392001280e32632e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f72732e5265736f75726365436f756e744c696d6974" . + "45786365656465644572726f72456e756d2e5265736f75726365436f756e" . + "744c696d697445786365656465644572726f724800128b010a20796f7574" . + "7562655f766964656f5f726567697374726174696f6e5f6572726f721875" . + "2001280e325f2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72732e596f7574756265566964656f52656769737472617469" . + "6f6e4572726f72456e756d2e596f7574756265566964656f526567697374" . + "726174696f6e4572726f724800127a0a1b61645f67726f75705f6269645f" . + "6d6f6469666965725f6572726f72183b2001280e32532e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f72732e416447726f75" . + "704269644d6f6469666965724572726f72456e756d2e416447726f757042" . + "69644d6f6469666965724572726f72480012560a0d636f6e746578745f65" . + "72726f72183c2001280e323d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f72732e436f6e746578744572726f72456e756d" . + "2e436f6e746578744572726f72480012500a0b6669656c645f6572726f72" . + "183d2001280e32392e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e4669656c644572726f72456e756d2e4669656c64" . + "4572726f724800125d0a107368617265645f7365745f6572726f72183e20" . + "01280e32412e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f72732e5368617265645365744572726f72456e756d2e53686172" . + "65645365744572726f724800126f0a167368617265645f63726974657269" . + "6f6e5f6572726f72183f2001280e324d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e536861726564437269746572" . + "696f6e4572726f72456e756d2e536861726564437269746572696f6e4572" . + "726f72480012760a1963616d706169676e5f7368617265645f7365745f65" . + "72726f7218402001280e32512e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f72732e43616d706169676e5368617265645365" . + "744572726f72456e756d2e43616d706169676e5368617265645365744572" . + "726f72480012720a17636f6e76657273696f6e5f616374696f6e5f657272" . + "6f7218412001280e324f2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f72732e436f6e76657273696f6e416374696f6e4572" . + "726f72456e756d2e436f6e76657273696f6e416374696f6e4572726f7248" . + "001291010a22636f6e76657273696f6e5f61646a7573746d656e745f7570" . + "6c6f61645f6572726f7218732001280e32632e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f72732e436f6e76657273696f6e" . + "41646a7573746d656e7455706c6f61644572726f72456e756d2e436f6e76" . + "657273696f6e41646a7573746d656e7455706c6f61644572726f72480012" . + "720a17636f6e76657273696f6e5f75706c6f61645f6572726f72186f2001" . + "280e324f2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f72732e436f6e76657273696f6e55706c6f61644572726f72456e75" . + "6d2e436f6e76657273696f6e55706c6f61644572726f72480012530a0c68" . + "65616465725f6572726f7218422001280e323b2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f72732e486561646572457272" . + "6f72456e756d2e4865616465724572726f72480012590a0e646174616261" . + "73655f6572726f7218432001280e323f2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e44617461626173654572726f" . + "72456e756d2e44617461626173654572726f72480012690a14706f6c6963" . + "795f66696e64696e675f6572726f7218442001280e32492e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f72732e506f6c6963" . + "7946696e64696e674572726f72456e756d2e506f6c69637946696e64696e" . + "674572726f724800124d0a0a656e756d5f6572726f7218462001280e3237" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e456e756d4572726f72456e756d2e456e756d4572726f72480012630a" . + "126b6579776f72645f706c616e5f6572726f7218472001280e32452e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72732e4b" . + "6579776f7264506c616e4572726f72456e756d2e4b6579776f7264506c61" . + "6e4572726f724800127c0a1b6b6579776f72645f706c616e5f63616d7061" . + "69676e5f6572726f7218482001280e32552e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f72732e4b6579776f7264506c616e" . + "43616d706169676e4572726f72456e756d2e4b6579776f7264506c616e43" . + "616d706169676e4572726f7248001292010a236b6579776f72645f706c61" . + "6e5f6e656761746976655f6b6579776f72645f6572726f7218492001280e" . + "32632e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f72732e4b6579776f7264506c616e4e656761746976654b6579776f7264" . + "4572726f72456e756d2e4b6579776f7264506c616e4e656761746976654b" . + "6579776f72644572726f724800127a0a1b6b6579776f72645f706c616e5f" . + "61645f67726f75705f6572726f72184a2001280e32532e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f72732e4b6579776f72" . + "64506c616e416447726f75704572726f72456e756d2e4b6579776f726450" . + "6c616e416447726f75704572726f72480012790a1a6b6579776f72645f70" . + "6c616e5f6b6579776f72645f6572726f72184b2001280e32532e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f72732e4b6579" . + "776f7264506c616e4b6579776f72644572726f72456e756d2e4b6579776f" . + "7264506c616e4b6579776f72644572726f72480012700a176b6579776f72" . + "645f706c616e5f696465615f6572726f72184c2001280e324d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f72732e4b6579" . + "776f7264506c616e496465614572726f72456e756d2e4b6579776f726450" . + "6c616e496465614572726f7248001282010a1d6163636f756e745f627564" . + "6765745f70726f706f73616c5f6572726f72184d2001280e32592e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e4163" . + "636f756e7442756467657450726f706f73616c4572726f72456e756d2e41" . + "63636f756e7442756467657450726f706f73616c4572726f724800125a0a" . + "0f757365725f6c6973745f6572726f72184e2001280e323f2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f72732e55736572" . + "4c6973744572726f72456e756d2e557365724c6973744572726f72480012" . + "660a136368616e67655f7374617475735f6572726f72184f2001280e3247" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e4368616e67655374617475734572726f72456e756d2e4368616e6765" . + "5374617475734572726f724800124d0a0a666565645f6572726f72185020" . + "01280e32372e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f72732e466565644572726f72456e756d2e466565644572726f72" . + "48001295010a2467656f5f7461726765745f636f6e7374616e745f737567" . + "67657374696f6e5f6572726f7218512001280e32652e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e6572726f72732e47656f54617267" . + "6574436f6e7374616e7453756767657374696f6e4572726f72456e756d2e" . + "47656f546172676574436f6e7374616e7453756767657374696f6e457272" . + "6f72480012690a1463616d706169676e5f64726166745f6572726f721852" . + "2001280e32492e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72732e43616d706169676e44726166744572726f72456e756d" . + "2e43616d706169676e44726166744572726f724800125a0a0f666565645f" . + "6974656d5f6572726f7218532001280e323f2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f72732e466565644974656d4572" . + "726f72456e756d2e466565644974656d4572726f72480012500a0b6c6162" . + "656c5f6572726f7218542001280e32392e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e4c6162656c4572726f72456e" . + "756d2e4c6162656c4572726f72480012660a1362696c6c696e675f736574" . + "75705f6572726f7218572001280e32472e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e42696c6c696e675365747570" . + "4572726f72456e756d2e42696c6c696e6753657475704572726f72480012" . + "790a1a637573746f6d65725f636c69656e745f6c696e6b5f6572726f7218" . + "582001280e32532e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e6572726f72732e437573746f6d6572436c69656e744c696e6b457272" . + "6f72456e756d2e437573746f6d6572436c69656e744c696e6b4572726f72" . + "4800127c0a1b637573746f6d65725f6d616e616765725f6c696e6b5f6572" . + "726f72185b2001280e32552e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f72732e437573746f6d65724d616e616765724c69" . + "6e6b4572726f72456e756d2e437573746f6d65724d616e616765724c696e" . + "6b4572726f72480012630a12666565645f6d617070696e675f6572726f72" . + "185c2001280e32452e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f72732e466565644d617070696e674572726f72456e756d" . + "2e466565644d617070696e674572726f72480012660a13637573746f6d65" . + "725f666565645f6572726f72185d2001280e32472e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f72732e437573746f6d6572" . + "466565644572726f72456e756d2e437573746f6d6572466565644572726f" . + "72480012640a1361645f67726f75705f666565645f6572726f72185e2001" . + "280e32452e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f72732e416447726f7570466565644572726f72456e756d2e416447" . + "726f7570466565644572726f72480012660a1363616d706169676e5f6665" . + "65645f6572726f7218602001280e32472e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72732e43616d706169676e46656564" . + "4572726f72456e756d2e43616d706169676e466565644572726f72480012" . + "6c0a15637573746f6d5f696e7465726573745f6572726f7218612001280e" . + "324b2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f72732e437573746f6d496e7465726573744572726f72456e756d2e4375" . + "73746f6d496e7465726573744572726f72480012780a1963616d70616967" . + "6e5f6578706572696d656e745f6572726f7218622001280e32532e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e4361" . + "6d706169676e4578706572696d656e744572726f72456e756d2e43616d70" . + "6169676e4578706572696d656e744572726f72480012760a19657874656e" . + "73696f6e5f666565645f6974656d5f6572726f7218642001280e32512e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f72732e" . + "457874656e73696f6e466565644974656d4572726f72456e756d2e457874" . + "656e73696f6e466565644974656d4572726f72480012630a1261645f7061" . + "72616d657465725f6572726f7218652001280e32452e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e6572726f72732e4164506172616d" . + "657465724572726f72456e756d2e4164506172616d657465724572726f72" . + "480012790a1a666565645f6974656d5f76616c69646174696f6e5f657272" . + "6f7218662001280e32532e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f72732e466565644974656d56616c69646174696f6e" . + "4572726f72456e756d2e466565644974656d56616c69646174696f6e4572" . + "726f72480012720a17657874656e73696f6e5f73657474696e675f657272" . + "6f7218672001280e324f2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f72732e457874656e73696f6e53657474696e674572" . + "726f72456e756d2e457874656e73696f6e53657474696e674572726f7248" . + "00126d0a16666565645f6974656d5f7461726765745f6572726f72186820" . + "01280e324b2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f72732e466565644974656d5461726765744572726f72456e756d" . + "2e466565644974656d5461726765744572726f724800126f0a16706f6c69" . + "63795f76696f6c6174696f6e5f6572726f7218692001280e324d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e506f" . + "6c69637956696f6c6174696f6e4572726f72456e756d2e506f6c69637956" . + "696f6c6174696f6e4572726f724800125d0a106d75746174655f6a6f625f" . + "6572726f72186c2001280e32412e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f72732e4d75746174654a6f624572726f7245" . + "6e756d2e4d75746174654a6f624572726f724800126c0a15706172746961" . + "6c5f6661696c7572655f6572726f7218702001280e324b2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f72732e5061727469" . + "616c4661696c7572654572726f72456e756d2e5061727469616c4661696c" . + "7572654572726f724800128e010a21706f6c6963795f76616c6964617469" . + "6f6e5f706172616d657465725f6572726f7218722001280e32612e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f72732e506f" . + "6c69637956616c69646174696f6e506172616d657465724572726f72456e" . + "756d2e506f6c69637956616c69646174696f6e506172616d657465724572" . + "726f724800125d0a1073697a655f6c696d69745f6572726f721876200128" . + "0e32412e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f72732e53697a654c696d69744572726f72456e756d2e53697a654c69" . + "6d69744572726f724800126c0a156e6f745f77686974656c69737465645f" . + "6572726f7218782001280e324b2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f72732e4e6f7457686974656c697374656445" . + "72726f72456e756d2e4e6f7457686974656c69737465644572726f724800" . + "12630a126d616e616765725f6c696e6b5f6572726f7218792001280e3245" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e4d616e616765724c696e6b4572726f72456e756d2e4d616e61676572" . + "4c696e6b4572726f72480012660a1363757272656e63795f636f64655f65" . + "72726f72187a2001280e32472e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f72732e43757272656e6379436f64654572726f" . + "72456e756d2e43757272656e6379436f64654572726f72480012720a1761" . + "63636573735f696e7669746174696f6e5f6572726f72187c2001280e324f" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "732e416363657373496e7669746174696f6e4572726f72456e756d2e4163" . + "63657373496e7669746174696f6e4572726f724800420c0a0a6572726f72" . + "5f636f646522c0010a0d4572726f724c6f636174696f6e125b0a13666965" . + "6c645f706174685f656c656d656e747318022003280b323e2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f72732e4572726f" . + "724c6f636174696f6e2e4669656c6450617468456c656d656e741a520a10" . + "4669656c6450617468456c656d656e7412120a0a6669656c645f6e616d65" . + "180120012809122a0a05696e64657818022001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756522de010a0c4572726f72" . + "44657461696c73121e0a16756e7075626c69736865645f6572726f725f63" . + "6f646518012001280912580a18706f6c6963795f76696f6c6174696f6e5f" . + "64657461696c7318022001280b32362e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e6572726f72732e506f6c69637956696f6c617469" . + "6f6e44657461696c7312540a16706f6c6963795f66696e64696e675f6465" . + "7461696c7318032001280b32342e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f72732e506f6c69637946696e64696e674465" . + "7461696c7322b3010a16506f6c69637956696f6c6174696f6e4465746169" . + "6c7312230a1b65787465726e616c5f706f6c6963795f6465736372697074" . + "696f6e180220012809123f0a036b657918042001280b32322e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c69" . + "637956696f6c6174696f6e4b6579121c0a1465787465726e616c5f706f6c" . + "6963795f6e616d6518052001280912150a0d69735f6578656d707469626c" . + "6518062001280822660a14506f6c69637946696e64696e6744657461696c" . + "73124e0a14706f6c6963795f746f7069635f656e74726965731801200328" . + "0b32302e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e506f6c696379546f706963456e74727942e6010a22636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "420b4572726f727350726f746f50015a44676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f6572726f72733b6572726f7273a202034741" . + "41aa021e476f6f676c652e4164732e476f6f676c654164732e56322e4572" . + "726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemError.php new file mode 100644 index 000000000..fba64d69e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemError.php @@ -0,0 +1,93 @@ +internalAddGeneratedFile(hex2bin( + "0a91100a3e676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f657874656e73696f6e5f666565645f6974656d5f6572726f" . + "722e70726f746f121e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f727322ad0d0a1a457874656e73696f6e46656564497465" . + "6d4572726f72456e756d228e0d0a16457874656e73696f6e466565644974" . + "656d4572726f72120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e100112160a1256414c55455f4f55545f4f465f52414e474510" . + "0212150a1155524c5f4c4953545f544f4f5f4c4f4e47100312320a2e4341" . + "4e4e4f545f484156455f5245535452494354494f4e5f4f4e5f454d505459" . + "5f47454f5f544152474554494e471004121e0a1a43414e4e4f545f534554" . + "5f574954485f46494e414c5f55524c53100512210a1d43414e4e4f545f53" . + "45545f574954484f55545f46494e414c5f55524c53100612180a14494e56" . + "414c49445f50484f4e455f4e554d4245521007122a0a2650484f4e455f4e" . + "554d4245525f4e4f545f535550504f525445445f464f525f434f554e5452" . + "591008122d0a29434152524945525f53504543494649435f53484f52545f" . + "4e554d4245525f4e4f545f414c4c4f574544100912230a1f5052454d4955" . + "4d5f524154455f4e554d4245525f4e4f545f414c4c4f574544100a121a0a" . + "16444953414c4c4f5745445f4e554d4245525f54595045100b12280a2449" . + "4e56414c49445f444f4d45535449435f50484f4e455f4e554d4245525f46" . + "4f524d4154100c12230a1f56414e4954595f50484f4e455f4e554d424552" . + "5f4e4f545f414c4c4f574544100d12220a1e494e56414c49445f43414c4c" . + "5f434f4e56455253494f4e5f414354494f4e100e122d0a29435553544f4d" . + "45525f4e4f545f57484954454c49535445445f464f525f43414c4c545241" . + "434b494e47100f122a0a2643414c4c545241434b494e475f4e4f545f5355" . + "50504f525445445f464f525f434f554e545259101012300a2c435553544f" . + "4d45525f434f4e53454e545f464f525f43414c4c5f5245434f5244494e47" . + "5f5245515549524544101112120a0e494e56414c49445f4150505f494410" . + "1212260a2251554f5445535f494e5f5245564945575f455854454e53494f" . + "4e5f534e4950504554101312270a2348595048454e535f494e5f52455649" . + "45575f455854454e53494f4e5f534e4950504554101412260a2252455649" . + "45575f455854454e53494f4e5f534f555243455f494e454c494749424c45" . + "101512280a24534f555243455f4e414d455f494e5f5245564945575f4558" . + "54454e53494f4e5f544558541016121f0a1b494e434f4e53495354454e54" . + "5f43555252454e43595f434f4445531017122a0a2650524943455f455854" . + "454e53494f4e5f4841535f4455504c4943415445445f4845414445525310" . + "1812340a3050524943455f4954454d5f4841535f4455504c494341544544" . + "5f4845414445525f414e445f4445534352495054494f4e101912250a2150" . + "524943455f455854454e53494f4e5f4841535f544f4f5f4645575f495445" . + "4d53101a12260a2250524943455f455854454e53494f4e5f4841535f544f" . + "4f5f4d414e595f4954454d53101b12150a11554e535550504f525445445f" . + "56414c5545101c122a0a26554e535550504f525445445f56414c55455f49" . + "4e5f53454c45435445445f4c414e4755414745101d121d0a19494e56414c" . + "49445f4445564943455f505245464552454e4345101e12180a14494e5641" . + "4c49445f5343484544554c455f454e44101f122a0a26444154455f54494d" . + "455f4d5553545f42455f494e5f4143434f554e545f54494d455f5a4f4e45" . + "1020121b0a17494e56414c49445f534e4950504554535f48454144455210" . + "2112270a2343414e4e4f545f4f5045524154455f4f4e5f52454d4f564544" . + "5f464545445f4954454d1022123c0a3850484f4e455f4e554d4245525f4e" . + "4f545f535550504f525445445f574954485f43414c4c545241434b494e47" . + "5f464f525f434f554e545259102312280a24434f4e464c494354494e475f" . + "43414c4c5f434f4e56455253494f4e5f53455454494e47531024121b0a17" . + "455854454e53494f4e5f545950455f4d49534d415443481025121e0a1a45" . + "5854454e53494f4e5f535542545950455f52455155495245441026121e0a" . + "1a455854454e53494f4e5f545950455f554e535550504f52544544102712" . + "310a2d43414e4e4f545f4f5045524154455f4f4e5f464545445f57495448" . + "5f4d554c5449504c455f4d415050494e47531028122e0a2a43414e4e4f54" . + "5f4f5045524154455f4f4e5f464545445f574954485f4b45595f41545452" . + "494255544553102912180a14494e56414c49445f50524943455f464f524d" . + "4154102a121a0a1650524f4d4f54494f4e5f494e56414c49445f54494d45" . + "102b12250a21544f4f5f4d414e595f444543494d414c5f504c414345535f" . + "535045434946494544102c42f6010a22636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f7273421b457874656e73696f" . + "6e466565644974656d4572726f7250726f746f50015a44676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f6572726f72733b6572726f72" . + "73a20203474141aa021e476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingError.php new file mode 100644 index 000000000..1ade95fb9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingError.php @@ -0,0 +1,122 @@ +internalAddGeneratedFile(hex2bin( + "0af9160a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f657874656e73696f6e5f73657474696e675f6572726f722e" . + "70726f746f121e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72732298140a19457874656e73696f6e53657474696e674572" . + "726f72456e756d22fa130a15457874656e73696f6e53657474696e674572" . + "726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100112170a13455854454e53494f4e535f524551554952454410021225" . + "0a21464545445f545950455f455854454e53494f4e5f545950455f4d4953" . + "4d41544348100312150a11494e56414c49445f464545445f545950451004" . + "12340a30494e56414c49445f464545445f545950455f464f525f43555354" . + "4f4d45525f455854454e53494f4e5f53455454494e47100512250a214341" . + "4e4e4f545f4348414e47455f464545445f4954454d5f4f4e5f4352454154" . + "45100612290a2543414e4e4f545f5550444154455f4e45574c595f435245" . + "415445445f455854454e53494f4e100712330a2f4e4f5f4558495354494e" . + "475f41445f47524f55505f455854454e53494f4e5f53455454494e475f46" . + "4f525f54595045100812330a2f4e4f5f4558495354494e475f43414d5041" . + "49474e5f455854454e53494f4e5f53455454494e475f464f525f54595045" . + "100912330a2f4e4f5f4558495354494e475f435553544f4d45525f455854" . + "454e53494f4e5f53455454494e475f464f525f54595045100a122d0a2941" . + "445f47524f55505f455854454e53494f4e5f53455454494e475f414c5245" . + "4144595f455849535453100b122d0a2943414d504149474e5f455854454e" . + "53494f4e5f53455454494e475f414c52454144595f455849535453100c12" . + "2d0a29435553544f4d45525f455854454e53494f4e5f53455454494e475f" . + "414c52454144595f455849535453100d12350a3141445f47524f55505f46" . + "4545445f414c52454144595f4558495354535f464f525f504c414345484f" . + "4c4445525f54595045100e12350a3143414d504149474e5f464545445f41" . + "4c52454144595f4558495354535f464f525f504c414345484f4c4445525f" . + "54595045100f12350a31435553544f4d45525f464545445f414c52454144" . + "595f4558495354535f464f525f504c414345484f4c4445525f5459504510" . + "1012160a1256414c55455f4f55545f4f465f52414e4745101112240a2043" . + "414e4e4f545f5345545f4649454c445f574954485f46494e414c5f55524c" . + "53101212160a1246494e414c5f55524c535f4e4f545f534554101312180a" . + "14494e56414c49445f50484f4e455f4e554d4245521014122a0a2650484f" . + "4e455f4e554d4245525f4e4f545f535550504f525445445f464f525f434f" . + "554e5452591015122d0a29434152524945525f53504543494649435f5348" . + "4f52545f4e554d4245525f4e4f545f414c4c4f574544101612230a1f5052" . + "454d49554d5f524154455f4e554d4245525f4e4f545f414c4c4f57454410" . + "17121a0a16444953414c4c4f5745445f4e554d4245525f54595045101812" . + "280a24494e56414c49445f444f4d45535449435f50484f4e455f4e554d42" . + "45525f464f524d4154101912230a1f56414e4954595f50484f4e455f4e55" . + "4d4245525f4e4f545f414c4c4f574544101a12180a14494e56414c49445f" . + "434f554e5452595f434f4445101b12230a1f494e56414c49445f43414c4c" . + "5f434f4e56455253494f4e5f545950455f4944101c122d0a29435553544f" . + "4d45525f4e4f545f57484954454c49535445445f464f525f43414c4c5452" . + "41434b494e47101d122a0a2643414c4c545241434b494e475f4e4f545f53" . + "5550504f525445445f464f525f434f554e545259101e12120a0e494e5641" . + "4c49445f4150505f4944101f12260a2251554f5445535f494e5f52455649" . + "45575f455854454e53494f4e5f534e4950504554102012270a2348595048" . + "454e535f494e5f5245564945575f455854454e53494f4e5f534e49505045" . + "54102112280a245245564945575f455854454e53494f4e5f534f55524345" . + "5f4e4f545f454c494749424c45102212280a24534f555243455f4e414d45" . + "5f494e5f5245564945575f455854454e53494f4e5f54455854102312110a" . + "0d4d495353494e475f4649454c441024121f0a1b494e434f4e5349535445" . + "4e545f43555252454e43595f434f4445531025122a0a2650524943455f45" . + "5854454e53494f4e5f4841535f4455504c4943415445445f484541444552" . + "53102612340a3050524943455f4954454d5f4841535f4455504c49434154" . + "45445f4845414445525f414e445f4445534352495054494f4e102712250a" . + "2150524943455f455854454e53494f4e5f4841535f544f4f5f4645575f49" . + "54454d53102812260a2250524943455f455854454e53494f4e5f4841535f" . + "544f4f5f4d414e595f4954454d53102912150a11554e535550504f525445" . + "445f56414c5545102a121d0a19494e56414c49445f4445564943455f5052" . + "45464552454e4345102b12180a14494e56414c49445f5343484544554c45" . + "5f454e44102d122a0a26444154455f54494d455f4d5553545f42455f494e" . + "5f4143434f554e545f54494d455f5a4f4e45102f12250a214f5645524c41" . + "5050494e475f5343484544554c45535f4e4f545f414c4c4f574544103012" . + "200a1c5343484544554c455f454e445f4e4f545f41465445525f53544152" . + "541031121e0a1a544f4f5f4d414e595f5343484544554c45535f5045525f" . + "444159103212260a224455504c49434154455f455854454e53494f4e5f46" . + "4545445f4954454d5f454449541033121b0a17494e56414c49445f534e49" . + "50504554535f4845414445521034123c0a3850484f4e455f4e554d424552" . + "5f4e4f545f535550504f525445445f574954485f43414c4c545241434b49" . + "4e475f464f525f434f554e5452591035121f0a1b43414d504149474e5f54" . + "4152474554494e475f4d49534d41544348103612220a1e43414e4e4f545f" . + "4f5045524154455f4f4e5f52454d4f5645445f464545441037121b0a1745" . + "5854454e53494f4e5f545950455f52455155495245441038122d0a29494e" . + "434f4d50415449424c455f554e4445524c59494e475f4d41544348494e47" . + "5f46554e4354494f4e1039121d0a1953544152545f444154455f41465445" . + "525f454e445f44415445103a12180a14494e56414c49445f50524943455f" . + "464f524d4154103b121a0a1650524f4d4f54494f4e5f494e56414c49445f" . + "54494d45103c123c0a3850524f4d4f54494f4e5f43414e4e4f545f534554" . + "5f50455243454e545f444953434f554e545f414e445f4d4f4e45595f4449" . + "53434f554e54103d123e0a3a50524f4d4f54494f4e5f43414e4e4f545f53" . + "45545f50524f4d4f54494f4e5f434f44455f414e445f4f52444552535f4f" . + "5645525f414d4f554e54103e12250a21544f4f5f4d414e595f444543494d" . + "414c5f504c414345535f535045434946494544103f12190a15494e56414c" . + "49445f4c414e47554147455f434f4445104012180a14554e535550504f52" . + "5445445f4c414e4755414745104112300a2c435553544f4d45525f434f4e" . + "53454e545f464f525f43414c4c5f5245434f5244494e475f524551554952" . + "4544104212260a22455854454e53494f4e5f53455454494e475f55504441" . + "54455f49535f415f4e4f4f50104342f5010a22636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f7273421a457874656e" . + "73696f6e53657474696e674572726f7250726f746f50015a44676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f6572726f72733b657272" . + "6f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceError.php new file mode 100644 index 000000000..9dd64df0d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceError.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa8040a43676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f666565645f6174747269627574655f7265666572656e6365" . + "5f6572726f722e70726f746f121e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f727322ba010a1f4665656441747472696275" . + "74655265666572656e63654572726f72456e756d2296010a1b4665656441" . + "74747269627574655265666572656e63654572726f72120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e100112210a1d43414e4e" . + "4f545f5245464552454e43455f52454d4f5645445f46454544100212150a" . + "11494e56414c49445f464545445f4e414d451003121f0a1b494e56414c49" . + "445f464545445f4154545249425554455f4e414d45100442fb010a22636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "72734220466565644174747269627574655265666572656e63654572726f" . + "7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FeedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedError.php new file mode 100644 index 000000000..51a40739d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedError.php @@ -0,0 +1,61 @@ +internalAddGeneratedFile(hex2bin( + "0ac1080a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f666565645f6572726f722e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f727322f9050a0d46" . + "6565644572726f72456e756d22e7050a09466565644572726f72120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001121e0a1a" . + "4154545249425554455f4e414d45535f4e4f545f554e495155451002122f" . + "0a2b415454524942555445535f444f5f4e4f545f4d415443485f45584953" . + "54494e475f415454524942555445531003122e0a2a43414e4e4f545f5350" . + "45434946595f555345525f4f524947494e5f464f525f53595354454d5f46" . + "454544100412340a3043414e4e4f545f535045434946595f474f4f474c45" . + "5f4f524947494e5f464f525f4e4f4e5f53595354454d5f46454544100512" . + "320a2e43414e4e4f545f535045434946595f464545445f41545452494255" . + "5445535f464f525f53595354454d5f46454544100612340a3043414e4e4f" . + "545f5550444154455f464545445f415454524942555445535f574954485f" . + "4f524947494e5f474f4f474c45100712100a0c464545445f52454d4f5645" . + "44100812180a14494e56414c49445f4f524947494e5f56414c5545100912" . + "1b0a17464545445f4f524947494e5f49535f4e4f545f55534552100a1220" . + "0a1c494e56414c49445f415554485f544f4b454e5f464f525f454d41494c" . + "100b12110a0d494e56414c49445f454d41494c100c12170a134455504c49" . + "434154455f464545445f4e414d45100d12150a11494e56414c49445f4645" . + "45445f4e414d45100e12160a124d495353494e475f4f415554485f494e46" . + "4f100f122e0a2a4e45575f4154545249425554455f43414e4e4f545f4245" . + "5f504152545f4f465f554e495155455f4b4559101012170a13544f4f5f4d" . + "414e595f415454524942555445531011121c0a18494e56414c49445f4255" . + "53494e4553535f4143434f554e54101212330a2f425553494e4553535f41" . + "43434f554e545f43414e4e4f545f4143434553535f4c4f434154494f4e5f" . + "4143434f554e541013121e0a1a494e56414c49445f414646494c49415445" . + "5f434841494e5f4944101412190a154455504c49434154455f5359535445" . + "4d5f46454544101542e9010a22636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f7273420e466565644572726f725072" . + "6f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f6f" . + "676c655c4164735c476f6f676c654164735c56325c4572726f7273ea0222" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572" . + "726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemError.php new file mode 100644 index 000000000..f399ced43 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ad8050a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f666565645f6974656d5f6572726f722e70726f746f121e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f727322" . + "87030a11466565644974656d4572726f72456e756d22f1020a0d46656564" . + "4974656d4572726f72120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e1001122e0a2a43414e4e4f545f434f4e564552545f4154" . + "545249425554455f56414c55455f46524f4d5f535452494e47100212270a" . + "2343414e4e4f545f4f5045524154455f4f4e5f52454d4f5645445f464545" . + "445f4954454d1003122a0a26444154455f54494d455f4d5553545f42455f" . + "494e5f4143434f554e545f54494d455f5a4f4e451004121c0a184b45595f" . + "415454524942555445535f4e4f545f464f554e441005120f0a0b494e5641" . + "4c49445f55524c1006121a0a164d495353494e475f4b45595f4154545249" . + "42555445531007121d0a194b45595f415454524942555445535f4e4f545f" . + "554e49515545100812250a2143414e4e4f545f4d4f444946595f4b45595f" . + "4154545249425554455f56414c55451009122c0a2853495a455f544f4f5f" . + "4c415247455f464f525f4d554c54495f56414c55455f4154545249425554" . + "45100a42ed010a22636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f72734212466565644974656d4572726f7250726f" . + "746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f6572726f72733b6572726f7273a20203474141aa021e476f6f676c652e" . + "4164732e476f6f676c654164732e56322e4572726f7273ca021e476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c4572726f7273ea022247" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a457272" . + "6f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetError.php new file mode 100644 index 000000000..de08062ed --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ada050a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f666565645f6974656d5f7461726765745f6572726f722e70" . + "726f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f727322fc020a17466565644974656d5461726765744572726f72" . + "456e756d22e0020a13466565644974656d5461726765744572726f72120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10011223" . + "0a1f4d5553545f5345545f5441524745545f4f4e454f465f4f4e5f435245" . + "415445100212230a1f464545445f4954454d5f5441524745545f414c5245" . + "4144595f455849535453100312260a22464545445f4954454d5f53434845" . + "44554c45535f43414e4e4f545f4f5645524c4150100412280a2454415247" . + "45545f4c494d49545f45584345454445445f464f525f474956454e5f5459" . + "50451005121e0a1a544f4f5f4d414e595f5343484544554c45535f504552" . + "5f4441591006123d0a3943414e4e4f545f484156455f454e41424c45445f" . + "43414d504149474e5f414e445f454e41424c45445f41445f47524f55505f" . + "54415247455453100712190a154455504c49434154455f41445f53434845" . + "44554c45100812150a114455504c49434154455f4b4559574f5244100942" . + "f3010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e6572726f72734218466565644974656d5461726765744572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationError.php new file mode 100644 index 000000000..90352b9d4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationError.php @@ -0,0 +1,145 @@ +internalAddGeneratedFile(hex2bin( + "0a9a1c0a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f666565645f6974656d5f76616c69646174696f6e5f657272" . + "6f722e70726f746f121e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f727322b4190a1b466565644974656d56616c69646174" . + "696f6e4572726f72456e756d2294190a17466565644974656d56616c6964" . + "6174696f6e4572726f72120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e100112140a10535452494e475f544f4f5f53484f5254" . + "100212130a0f535452494e475f544f4f5f4c4f4e47100312170a1356414c" . + "55455f4e4f545f535045434946494544100412280a24494e56414c49445f" . + "444f4d45535449435f50484f4e455f4e554d4245525f464f524d41541005" . + "12180a14494e56414c49445f50484f4e455f4e554d4245521006122a0a26" . + "50484f4e455f4e554d4245525f4e4f545f535550504f525445445f464f52" . + "5f434f554e545259100712230a1f5052454d49554d5f524154455f4e554d" . + "4245525f4e4f545f414c4c4f5745441008121a0a16444953414c4c4f5745" . + "445f4e554d4245525f54595045100912160a1256414c55455f4f55545f4f" . + "465f52414e4745100a122a0a2643414c4c545241434b494e475f4e4f545f" . + "535550504f525445445f464f525f434f554e545259100b122d0a29435553" . + "544f4d45525f4e4f545f57484954454c49535445445f464f525f43414c4c" . + "545241434b494e47100c12180a14494e56414c49445f434f554e5452595f" . + "434f4445100d12120a0e494e56414c49445f4150505f4944100e12210a1d" . + "4d495353494e475f415454524942555445535f464f525f4649454c445310" . + "0f12130a0f494e56414c49445f545950455f4944101012190a15494e5641" . + "4c49445f454d41494c5f41444452455353101112150a11494e56414c4944" . + "5f48545450535f55524c1012121c0a184d495353494e475f44454c495645" . + "52595f414444524553531013121d0a1953544152545f444154455f414654" . + "45525f454e445f44415445101412200a1c4d495353494e475f464545445f" . + "4954454d5f53544152545f54494d451015121e0a1a4d495353494e475f46" . + "4545445f4954454d5f454e445f54494d45101612180a144d495353494e47" . + "5f464545445f4954454d5f4944101712230a1f56414e4954595f50484f4e" . + "455f4e554d4245525f4e4f545f414c4c4f574544101812240a20494e5641" . + "4c49445f5245564945575f455854454e53494f4e5f534e49505045541019" . + "12190a15494e56414c49445f4e554d4245525f464f524d4154101a12170a" . + "13494e56414c49445f444154455f464f524d4154101b12180a14494e5641" . + "4c49445f50524943455f464f524d4154101c121d0a19554e4b4e4f574e5f" . + "504c414345484f4c4445525f4649454c44101d122e0a2a4d495353494e47" . + "5f454e48414e4345445f534954454c494e4b5f4445534352495054494f4e" . + "5f4c494e45101e12260a225245564945575f455854454e53494f4e5f534f" . + "555243455f494e454c494749424c45101f12270a2348595048454e535f49" . + "4e5f5245564945575f455854454e53494f4e5f534e49505045541020122d" . + "0a29444f55424c455f51554f5445535f494e5f5245564945575f45585445" . + "4e53494f4e5f534e4950504554102112260a2251554f5445535f494e5f52" . + "45564945575f455854454e53494f4e5f534e49505045541022121f0a1b49" . + "4e56414c49445f464f524d5f454e434f4445445f504152414d531023121e" . + "0a1a494e56414c49445f55524c5f504152414d455445525f4e414d451024" . + "12170a134e4f5f47454f434f44494e475f524553554c54102512280a2453" . + "4f555243455f4e414d455f494e5f5245564945575f455854454e53494f4e" . + "5f544558541026122d0a29434152524945525f53504543494649435f5348" . + "4f52545f4e554d4245525f4e4f545f414c4c4f574544102712200a1c494e" . + "56414c49445f504c414345484f4c4445525f4649454c445f494410281213" . + "0a0f494e56414c49445f55524c5f544147102912110a0d4c4953545f544f" . + "4f5f4c4f4e47102a12220a1e494e56414c49445f41545452494255544553" . + "5f434f4d42494e4154494f4e102b12140a104455504c49434154455f5641" . + "4c554553102c12250a21494e56414c49445f43414c4c5f434f4e56455253" . + "494f4e5f414354494f4e5f4944102d12210a1d43414e4e4f545f5345545f" . + "574954484f55545f46494e414c5f55524c53102e12240a204150505f4944" . + "5f444f45534e545f45584953545f494e5f4150505f53544f5245102f1215" . + "0a11494e56414c49445f46494e414c5f55524c103012180a14494e56414c" . + "49445f545241434b494e475f55524c1031122a0a26494e56414c49445f46" . + "494e414c5f55524c5f464f525f4150505f444f574e4c4f41445f55524c10" . + "3212120a0e4c4953545f544f4f5f53484f5254103312170a13494e56414c" . + "49445f555345525f414354494f4e103412150a11494e56414c49445f5459" . + "50455f4e414d451035121f0a1b494e56414c49445f4556454e545f434841" . + "4e47455f5354415455531036121b0a17494e56414c49445f534e49505045" . + "54535f4845414445521037121c0a18494e56414c49445f414e44524f4944" . + "5f4150505f4c494e4b1038123b0a374e554d4245525f545950455f574954" . + "485f43414c4c545241434b494e475f4e4f545f535550504f525445445f46" . + "4f525f434f554e5452591039121a0a1652455345525645445f4b4559574f" . + "52445f4f54484552103a121b0a174455504c49434154455f4f5054494f4e" . + "5f4c4142454c53103b121d0a194455504c49434154455f4f5054494f4e5f" . + "50524546494c4c53103c12180a14554e455155414c5f4c4953545f4c454e" . + "47544853103d121f0a1b494e434f4e53495354454e545f43555252454e43" . + "595f434f444553103e122a0a2650524943455f455854454e53494f4e5f48" . + "41535f4455504c4943415445445f48454144455253103f122e0a2a495445" . + "4d5f4841535f4455504c4943415445445f4845414445525f414e445f4445" . + "534352495054494f4e104012250a2150524943455f455854454e53494f4e" . + "5f4841535f544f4f5f4645575f4954454d53104112150a11554e53555050" . + "4f525445445f56414c55451042121c0a18494e56414c49445f46494e414c" . + "5f4d4f42494c455f55524c104312250a21494e56414c49445f4b4559574f" . + "52444c4553535f41445f52554c455f4c4142454c104412270a2356414c55" . + "455f545241434b5f504152414d455445525f4e4f545f535550504f525445" . + "441045122a0a26554e535550504f525445445f56414c55455f494e5f5345" . + "4c45435445445f4c414e4755414745104612180a14494e56414c49445f49" . + "4f535f4150505f4c494e4b1047122c0a284d495353494e475f494f535f41" . + "50505f4c494e4b5f4f525f494f535f4150505f53544f52455f4944104812" . + "1a0a1650524f4d4f54494f4e5f494e56414c49445f54494d45104912390a" . + "3550524f4d4f54494f4e5f43414e4e4f545f5345545f50455243454e545f" . + "4f46465f414e445f4d4f4e45595f414d4f554e545f4f4646104a123e0a3a" . + "50524f4d4f54494f4e5f43414e4e4f545f5345545f50524f4d4f54494f4e" . + "5f434f44455f414e445f4f52444552535f4f5645525f414d4f554e54104b" . + "12250a21544f4f5f4d414e595f444543494d414c5f504c414345535f5350" . + "45434946494544104c121e0a1a41445f435553544f4d495a4552535f4e4f" . + "545f414c4c4f574544104d12190a15494e56414c49445f4c414e47554147" . + "455f434f4445104e12180a14554e535550504f525445445f4c414e475541" . + "4745104f121b0a1749465f46554e4354494f4e5f4e4f545f414c4c4f5745" . + "441050121c0a18494e56414c49445f46494e414c5f55524c5f5355464649" . + "58105112230a1f494e56414c49445f5441475f494e5f46494e414c5f5552" . + "4c5f535546464958105212230a1f494e56414c49445f46494e414c5f5552" . + "4c5f5355464649585f464f524d4154105312300a2c435553544f4d45525f" . + "434f4e53454e545f464f525f43414c4c5f5245434f5244494e475f524551" . + "5549524544105412270a234f4e4c595f4f4e455f44454c49564552595f4f" . + "5054494f4e5f49535f414c4c4f5745441055121d0a194e4f5f44454c4956" . + "4552595f4f5054494f4e5f49535f534554105612260a22494e56414c4944" . + "5f434f4e56455253494f4e5f5245504f5254494e475f5354415445105712" . + "140a10494d4147455f53495a455f57524f4e471058122b0a27454d41494c" . + "5f44454c49564552595f4e4f545f415641494c41424c455f494e5f434f55" . + "4e545259105912270a234155544f5f5245504c595f4e4f545f415641494c" . + "41424c455f494e5f434f554e545259105a121a0a16494e56414c49445f4c" . + "415449545544455f56414c5545105b121b0a17494e56414c49445f4c4f4e" . + "4749545544455f56414c5545105c12130a0f544f4f5f4d414e595f4c4142" . + "454c53105d12150a11494e56414c49445f494d4147455f55524c105e121a" . + "0a164d495353494e475f4c415449545544455f56414c5545105f121b0a17" . + "4d495353494e475f4c4f4e4749545544455f56414c5545106042f7010a22" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f7273421c466565644974656d56616c69646174696f6e4572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FeedMappingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedMappingError.php new file mode 100644 index 000000000..c26850644 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FeedMappingError.php @@ -0,0 +1,61 @@ +internalAddGeneratedFile(hex2bin( + "0abe080a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f666565645f6d617070696e675f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727322e7050a14466565644d617070696e674572726f72456e756d22ce05" . + "0a10466565644d617070696e674572726f72120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e1001121d0a19494e56414c49445f" . + "504c414345484f4c4445525f4649454c441002121b0a17494e56414c4944" . + "5f435249544552494f4e5f4649454c441003121c0a18494e56414c49445f" . + "504c414345484f4c4445525f545950451004121a0a16494e56414c49445f" . + "435249544552494f4e5f545950451005121f0a1b4e4f5f41545452494255" . + "54455f4649454c445f4d415050494e4753100712200a1c464545445f4154" . + "545249425554455f545950455f4d49534d41544348100812380a3443414e" . + "4e4f545f4f5045524154455f4f4e5f4d415050494e47535f464f525f5359" . + "5354454d5f47454e4552415445445f464545441009122a0a264d554c5449" . + "504c455f4d415050494e47535f464f525f504c414345484f4c4445525f54" . + "595045100a12280a244d554c5449504c455f4d415050494e47535f464f52" . + "5f435249544552494f4e5f54595045100b122b0a274d554c5449504c455f" . + "4d415050494e47535f464f525f504c414345484f4c4445525f4649454c44" . + "100c12290a254d554c5449504c455f4d415050494e47535f464f525f4352" . + "49544552494f4e5f4649454c44100d12270a23554e45585045435445445f" . + "4154545249425554455f4649454c445f4d415050494e4753100e122e0a2a" . + "4c4f434154494f4e5f504c414345484f4c4445525f4f4e4c595f464f525f" . + "504c414345535f4645454453100f12290a2543414e4e4f545f4d4f444946" . + "595f4d415050494e47535f464f525f54595045445f464545441010123a0a" . + "36494e56414c49445f504c414345484f4c4445525f545950455f464f525f" . + "4e4f4e5f53595354454d5f47454e4552415445445f464545441011123b0a" . + "37494e56414c49445f504c414345484f4c4445525f545950455f464f525f" . + "53595354454d5f47454e4552415445445f464545445f54595045101242f0" . + "010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72734215466565644d617070696e674572726f7250726f746f" . + "50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f65" . + "72726f72733b6572726f7273a20203474141aa021e476f6f676c652e4164" . + "732e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c4572726f7273ea0222476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FieldError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FieldError.php new file mode 100644 index 000000000..2f1c1b5b4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FieldError.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa6040a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6669656c645f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f727322dc010a0e" . + "4669656c644572726f72456e756d22c9010a0a4669656c644572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "0c0a085245515549524544100212130a0f494d4d555441424c455f464945" . + "4c44100312110a0d494e56414c49445f56414c5545100412170a1356414c" . + "55455f4d5553545f42455f554e5345541005121a0a165245515549524544" . + "5f4e4f4e454d5054595f4c4953541006121b0a174649454c445f43414e4e" . + "4f545f42455f434c4541524544100712150a11424c41434b4c4953544544" . + "5f56414c5545100842ea010a22636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f7273420f4669656c644572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FieldMaskError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FieldMaskError.php new file mode 100644 index 000000000..b0e129b08 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FieldMaskError.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0afa030a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6669656c645f6d61736b5f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "22a7010a124669656c644d61736b4572726f72456e756d2290010a0e4669" . + "656c644d61736b4572726f72120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e100112160a124649454c445f4d41534b5f4d4953" . + "53494e471005121a0a164649454c445f4d41534b5f4e4f545f414c4c4f57" . + "4544100412130a0f4649454c445f4e4f545f464f554e44100212170a1346" . + "49454c445f4841535f5355424649454c4453100342ee010a22636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f727342" . + "134669656c644d61736b4572726f7250726f746f50015a44676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f6572726f72733b6572726f" . + "7273a20203474141aa021e476f6f676c652e4164732e476f6f676c654164" . + "732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c" . + "654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FunctionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FunctionError.php new file mode 100644 index 000000000..f3b3e3427 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FunctionError.php @@ -0,0 +1,55 @@ +internalAddGeneratedFile(hex2bin( + "0a91070a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f66756e6374696f6e5f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f727322c1" . + "040a1146756e6374696f6e4572726f72456e756d22ab040a0d46756e6374" . + "696f6e4572726f72120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001121b0a17494e56414c49445f46554e4354494f4e5f46" . + "4f524d4154100212160a12444154415f545950455f4d49534d4154434810" . + "0312200a1c494e56414c49445f434f4e4a554e4354494f4e5f4f50455241" . + "4e44531004121e0a1a494e56414c49445f4e554d4245525f4f465f4f5045" . + "52414e4453100512180a14494e56414c49445f4f504552414e445f545950" . + "45100612140a10494e56414c49445f4f50455241544f52100712200a1c49" . + "4e56414c49445f524551554553545f434f4e544558545f54595045100812" . + "290a25494e56414c49445f46554e4354494f4e5f464f525f43414c4c5f50" . + "4c414345484f4c444552100912240a20494e56414c49445f46554e435449" . + "4f4e5f464f525f504c414345484f4c444552100a12130a0f494e56414c49" . + "445f4f504552414e44100b12220a1e4d495353494e475f434f4e5354414e" . + "545f4f504552414e445f56414c5545100c12220a1e494e56414c49445f43" . + "4f4e5354414e545f4f504552414e445f56414c5545100d12130a0f494e56" . + "414c49445f4e455354494e47100e12230a1f4d554c5449504c455f464545" . + "445f4944535f4e4f545f535550504f52544544100f122f0a2b494e56414c" . + "49445f46554e4354494f4e5f464f525f464545445f574954485f46495845" . + "445f534348454d411010121a0a16494e56414c49445f4154545249425554" . + "455f4e414d45101142ed010a22636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f7273421246756e6374696f6e457272" . + "6f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f6572726f72733b6572726f7273a20203474141aa021e476f" . + "6f676c652e4164732e476f6f676c654164732e56322e4572726f7273ca02" . + "1e476f6f676c655c4164735c476f6f676c654164735c56325c4572726f72" . + "73ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/FunctionParsingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/FunctionParsingError.php new file mode 100644 index 000000000..5f94667bb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/FunctionParsingError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ae1050a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f66756e6374696f6e5f70617273696e675f6572726f722e70" . + "726f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f72732282030a1846756e6374696f6e50617273696e674572726f" . + "72456e756d22e5020a1446756e6374696f6e50617273696e674572726f72" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "12110a0d4e4f5f4d4f52455f494e505554100212160a1245585045435445" . + "445f434841524143544552100312180a14554e45585045435445445f5345" . + "50415241544f521004121a0a16554e4d4154434845445f4c4546545f4252" . + "41434b45541005121b0a17554e4d4154434845445f52494748545f425241" . + "434b45541006121d0a19544f4f5f4d414e595f4e45535445445f46554e43" . + "54494f4e531007121e0a1a4d495353494e475f52494748545f48414e445f" . + "4f504552414e44100812190a15494e56414c49445f4f50455241544f525f" . + "4e414d451009122f0a2b464545445f4154545249425554455f4f50455241" . + "4e445f415247554d454e545f4e4f545f494e5445474552100a120f0a0b4e" . + "4f5f4f504552414e4453100b12150a11544f4f5f4d414e595f4f50455241" . + "4e4453100c42f4010a22636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f7273421946756e6374696f6e50617273696e" . + "674572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f6572726f72733b6572726f7273a20203474141aa" . + "021e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f" . + "7273ca021e476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "72726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionError.php new file mode 100644 index 000000000..6665fbf71 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionError.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0ad1040a49676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f67656f5f7461726765745f636f6e7374616e745f73756767" . + "657374696f6e5f6572726f722e70726f746f121e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f727322d8010a2447656f5461" . + "72676574436f6e7374616e7453756767657374696f6e4572726f72456e75" . + "6d22af010a2047656f546172676574436f6e7374616e7453756767657374" . + "696f6e4572726f72120f0a0b554e5350454349464945441000120b0a0755" . + "4e4b4e4f574e1001121c0a184c4f434154494f4e5f4e414d455f53495a45" . + "5f4c494d4954100212170a134c4f434154494f4e5f4e414d455f4c494d49" . + "54100312180a14494e56414c49445f434f554e5452595f434f4445100412" . + "1c0a18524551554553545f504152414d45544552535f554e534554100542" . + "80020a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e6572726f7273422547656f546172676574436f6e7374616e74537567" . + "67657374696f6e4572726f7250726f746f50015a44676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f6572726f72733b6572726f7273a2" . + "0203474141aa021e476f6f676c652e4164732e476f6f676c654164732e56" . + "322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164" . + "735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/HeaderError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/HeaderError.php new file mode 100644 index 000000000..990cbb6e4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/HeaderError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa8030a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6865616465725f6572726f722e70726f746f121e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f7273225d0a0f" . + "4865616465724572726f72456e756d224a0a0b4865616465724572726f72" . + "120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e1001" . + "121d0a19494e56414c49445f4c4f47494e5f435553544f4d45525f494410" . + "0342eb010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f727342104865616465724572726f7250726f746f5001" . + "5a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f657272" . + "6f72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e" . + "476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c41" . + "64735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f727362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/IdError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/IdError.php new file mode 100644 index 000000000..148c78484 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/IdError.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a88030a2d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f69645f6572726f722e70726f746f121e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e6572726f727322450a0b49644572" . + "726f72456e756d22360a0749644572726f72120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e1001120d0a094e4f545f464f554e" . + "44100242e7010a22636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f7273420c49644572726f7250726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f6572726f72" . + "733b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e4572726f7273ca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ImageError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ImageError.php new file mode 100644 index 000000000..6d0247d26 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ImageError.php @@ -0,0 +1,70 @@ +internalAddGeneratedFile(hex2bin( + "0ad40a0a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f696d6167655f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f7273228a080a0e" . + "496d6167654572726f72456e756d22f7070a0a496d6167654572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "110a0d494e56414c49445f494d414745100212110a0d53544f524147455f" . + "4552524f521003120f0a0b4241445f52455155455354100412130a0f554e" . + "45585045435445445f53495a45100512180a14414e494d415445445f4e4f" . + "545f414c4c4f574544100612160a12414e494d4154494f4e5f544f4f5f4c" . + "4f4e47100712100a0c5345525645525f4552524f52100812190a15434d59" . + "4b5f4a5045475f4e4f545f414c4c4f574544100912150a11464c4153485f" . + "4e4f545f414c4c4f574544100a121a0a16464c4153485f574954484f5554" . + "5f434c49434b544147100b12260a22464c4153485f4552524f525f414654" . + "45525f464958494e475f434c49434b5f544147100c121a0a16414e494d41" . + "5445445f56495355414c5f454646454354100d120f0a0b464c4153485f45" . + "52524f52100e12120a0e4c41594f55545f50524f424c454d100f121e0a1a" . + "50524f424c454d5f52454144494e475f494d4147455f46494c4510101217" . + "0a134552524f525f53544f52494e475f494d4147451011121c0a18415350" . + "4543545f524154494f5f4e4f545f414c4c4f5745441012121d0a19464c41" . + "53485f4841535f4e4554574f524b5f4f424a454354531013121d0a19464c" . + "4153485f4841535f4e4554574f524b5f4d4554484f4453101412110a0d46" . + "4c4153485f4841535f55524c1015121c0a18464c4153485f4841535f4d4f" . + "5553455f545241434b494e47101612180a14464c4153485f4841535f5241" . + "4e444f4d5f4e554d101712160a12464c4153485f53454c465f5441524745" . + "54531018121b0a17464c4153485f4241445f47455455524c5f5441524745" . + "541019121f0a1b464c4153485f56455253494f4e5f4e4f545f535550504f" . + "52544544101a12260a22464c4153485f574954484f55545f484152445f43" . + "4f4445445f434c49434b5f55524c101b12160a12494e56414c49445f464c" . + "4153485f46494c45101c12240a204641494c45445f544f5f4649585f434c" . + "49434b5f5441475f494e5f464c415348101d12240a20464c4153485f4143" . + "4345535345535f4e4554574f524b5f5245534f5552434553101e121a0a16" . + "464c4153485f45585445524e414c5f4a535f43414c4c101f121a0a16464c" . + "4153485f45585445524e414c5f46535f43414c4c102012120a0e46494c45" . + "5f544f4f5f4c41524745102112180a14494d4147455f444154415f544f4f" . + "5f4c415247451022121a0a16494d4147455f50524f43455353494e475f45" . + "52524f52102312130a0f494d4147455f544f4f5f534d414c4c102412110a" . + "0d494e56414c49445f494e505554102512180a1450524f424c454d5f5245" . + "4144494e475f46494c45102642ea010a22636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f7273420f496d6167654572" . + "726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f6572726f72733b6572726f7273a20203474141aa021e47" . + "6f6f676c652e4164732e476f6f676c654164732e56322e4572726f7273ca" . + "021e476f6f676c655c4164735c476f6f676c654164735c56325c4572726f" . + "7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/InternalError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/InternalError.php new file mode 100644 index 000000000..eaec3ecab --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/InternalError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad9030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f696e7465726e616c5f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f72732289" . + "010a11496e7465726e616c4572726f72456e756d22740a0d496e7465726e" . + "616c4572726f72120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e100112120a0e494e5445524e414c5f4552524f521002121c0a" . + "184552524f525f434f44455f4e4f545f5055424c4953484544100312130a" . + "0f5452414e5349454e545f4552524f52100442ed010a22636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f7273421249" . + "6e7465726e616c4572726f7250726f746f50015a44676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f6572726f72733b6572726f7273a2" . + "0203474141aa021e476f6f676c652e4164732e476f6f676c654164732e56" . + "322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164" . + "735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupError.php new file mode 100644 index 000000000..fd8dbdbb5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupError.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae2030a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6b6579776f72645f706c616e5f61645f67726f75705f6572" . + "726f722e70726f746f121e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f7273227c0a1b4b6579776f7264506c616e41644772" . + "6f75704572726f72456e756d225d0a174b6579776f7264506c616e416447" . + "726f75704572726f72120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112100a0c494e56414c49445f4e414d45100212120a" . + "0e4455504c49434154455f4e414d45100342f7010a22636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f7273421c4b65" . + "79776f7264506c616e416447726f75704572726f7250726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f6572726f72" . + "733b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e4572726f7273ca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignError.php new file mode 100644 index 000000000..95e4afd92 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignError.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa7040a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6b6579776f72645f706c616e5f63616d706169676e5f6572" . + "726f722e70726f746f121e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f727322bf010a1c4b6579776f7264506c616e43616d" . + "706169676e4572726f72456e756d229e010a184b6579776f7264506c616e" . + "43616d706169676e4572726f72120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112100a0c494e56414c49445f4e414d4510" . + "0212150a11494e56414c49445f4c414e475541474553100312100a0c494e" . + "56414c49445f47454f53100412120a0e4455504c49434154455f4e414d45" . + "100512150a114d41585f47454f535f4558434545444544100642f8010a22" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f7273421d4b6579776f7264506c616e43616d706169676e4572726f72" . + "50726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea" . + "0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanError.php new file mode 100644 index 000000000..21662a715 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanError.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0a9f060a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6b6579776f72645f706c616e5f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727322c8030a144b6579776f7264506c616e4572726f72456e756d22af03" . + "0a104b6579776f7264506c616e4572726f72120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e1001121f0a1b4249445f4d554c54" . + "49504c4945525f4f55545f4f465f52414e4745100212100a0c4249445f54" . + "4f4f5f484947481003120f0a0b4249445f544f4f5f4c4f57100412220a1e" . + "4249445f544f4f5f4d414e595f4652414354494f4e414c5f444947495453" . + "100512180a144441494c595f4255444745545f544f4f5f4c4f571006122b" . + "0a274441494c595f4255444745545f544f4f5f4d414e595f465241435449" . + "4f4e414c5f444947495453100712110a0d494e56414c49445f56414c5545" . + "100812200a1c4b4559574f52445f504c414e5f4841535f4e4f5f4b455957" . + "4f5244531009121c0a184b4559574f52445f504c414e5f4e4f545f454e41" . + "424c4544100a121a0a164b4559574f52445f504c414e5f4e4f545f464f55" . + "4e44100b120f0a0b4d495353494e475f424944100d121b0a174d49535349" . + "4e475f464f5245434153545f504552494f44100e121f0a1b494e56414c49" . + "445f464f5245434153545f444154455f52414e4745100f12100a0c494e56" . + "414c49445f4e414d45101042f0010a22636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f727342154b6579776f726450" . + "6c616e4572726f7250726f746f50015a44676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f6572726f72733b6572726f7273a202034741" . + "41aa021e476f6f676c652e4164732e476f6f676c654164732e56322e4572" . + "726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaError.php new file mode 100644 index 000000000..5cf1ddc03 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad7030a3c676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6b6579776f72645f706c616e5f696465615f6572726f722e" . + "70726f746f121e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f727322780a184b6579776f7264506c616e496465614572726f" . + "72456e756d225c0a144b6579776f7264506c616e496465614572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "130a0f55524c5f435241574c5f4552524f52100212110a0d494e56414c49" . + "445f56414c5545100342f4010a22636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f727342194b6579776f7264506c61" . + "6e496465614572726f7250726f746f50015a44676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f6572726f72733b6572726f7273a20203" . + "474141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e" . + "4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c" . + "56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordError.php new file mode 100644 index 000000000..986fc8cd3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordError.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0ae8040a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6b6579776f72645f706c616e5f6b6579776f72645f657272" . + "6f722e70726f746f121e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f72732282020a1b4b6579776f7264506c616e4b657977" . + "6f72644572726f72456e756d22e2010a174b6579776f7264506c616e4b65" . + "79776f72644572726f72120f0a0b554e5350454349464945441000120b0a" . + "07554e4b4e4f574e1001121e0a1a494e56414c49445f4b4559574f52445f" . + "4d415443485f54595045100212150a114455504c49434154455f4b455957" . + "4f5244100312190a154b4559574f52445f544558545f544f4f5f4c4f4e47" . + "1004121d0a194b4559574f52445f4841535f494e56414c49445f43484152" . + "531005121e0a1a4b4559574f52445f4841535f544f4f5f4d414e595f574f" . + "524453100612180a14494e56414c49445f4b4559574f52445f5445585410" . + "0742f7010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f7273421c4b6579776f7264506c616e4b6579776f7264" . + "4572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f6572726f72733b6572726f7273a20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f72" . + "73ca021e476f6f676c655c4164735c476f6f676c654164735c56325c4572" . + "726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordError.php new file mode 100644 index 000000000..1ee91f2ec --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0adc030a48676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6b6579776f72645f706c616e5f6e656761746976655f6b65" . + "79776f72645f6572726f722e70726f746f121e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f727322660a234b6579776f7264" . + "506c616e4e656761746976654b6579776f72644572726f72456e756d223f" . + "0a1f4b6579776f7264506c616e4e656761746976654b6579776f72644572" . + "726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f57" . + "4e100142ff010a22636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f727342244b6579776f7264506c616e4e65676174" . + "6976654b6579776f72644572726f7250726f746f50015a44676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f6572726f72733b6572726f" . + "7273a20203474141aa021e476f6f676c652e4164732e476f6f676c654164" . + "732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c" . + "654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/LabelError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/LabelError.php new file mode 100644 index 000000000..b15f93f67 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/LabelError.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0ae0050a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6c6162656c5f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f72732296030a0e" . + "4c6162656c4572726f72456e756d2283030a0a4c6162656c4572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "1f0a1b43414e4e4f545f4150504c595f494e4143544956455f4c4142454c" . + "100212350a3143414e4e4f545f4150504c595f4c4142454c5f544f5f4449" . + "5341424c45445f41445f47524f55505f435249544552494f4e100312350a" . + "3143414e4e4f545f4150504c595f4c4142454c5f544f5f4e454741544956" . + "455f41445f47524f55505f435249544552494f4e100412210a1d45584345" . + "454445445f4c4142454c5f4c494d49545f5045525f54595045100512260a" . + "22494e56414c49445f5245534f555243455f464f525f4d414e414745525f" . + "4c4142454c100612120a0e4455504c49434154455f4e414d45100712160a" . + "12494e56414c49445f4c4142454c5f4e414d45100812200a1c43414e4e4f" . + "545f4154544143485f4c4142454c5f544f5f44524146541009122f0a2b43" . + "414e4e4f545f4154544143485f4e4f4e5f4d414e414745525f4c4142454c" . + "5f544f5f435553544f4d4552100a42ea010a22636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f7273420f4c6162656c" . + "4572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f6572726f72733b6572726f7273a20203474141aa02" . + "1e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f72" . + "73ca021e476f6f676c655c4164735c476f6f676c654164735c56325c4572" . + "726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/LanguageCodeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/LanguageCodeError.php new file mode 100644 index 000000000..c8866714d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/LanguageCodeError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0adb030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6c616e67756167655f636f64655f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f72732282010a154c616e6775616765436f64654572726f72456e756d22" . + "690a114c616e6775616765436f64654572726f72120f0a0b554e53504543" . + "49464945441000120b0a07554e4b4e4f574e1001121b0a174c414e475541" . + "47455f434f44455f4e4f545f464f554e44100212190a15494e56414c4944" . + "5f4c414e47554147455f434f4445100342f1010a22636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f727342164c616e" . + "6775616765436f64654572726f7250726f746f50015a44676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f6572726f72733b6572726f72" . + "73a20203474141aa021e476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ListOperationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ListOperationError.php new file mode 100644 index 000000000..04ce37a25 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ListOperationError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad8030a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6c6973745f6f7065726174696f6e5f6572726f722e70726f" . + "746f121e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f7273227e0a164c6973744f7065726174696f6e4572726f72456e756d" . + "22640a124c6973744f7065726174696f6e4572726f72120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e1001121a0a1652455155" . + "495245445f4649454c445f4d495353494e47100712140a104455504c4943" . + "4154455f56414c554553100842f2010a22636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f727342174c6973744f7065" . + "726174696f6e4572726f7250726f746f50015a44676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f6572726f72733b6572726f7273a202" . + "03474141aa021e476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e4572726f7273ca021e476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ManagerLinkError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ManagerLinkError.php new file mode 100644 index 000000000..f7de87be1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ManagerLinkError.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0ad4060a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d616e616765725f6c696e6b5f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727322fd030a144d616e616765724c696e6b4572726f72456e756d22e403" . + "0a104d616e616765724c696e6b4572726f72120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e100112270a234143434f554e5453" . + "5f4e4f545f434f4d50415449424c455f464f525f4c494e4b494e47100212" . + "150a11544f4f5f4d414e595f4d414e4147455253100312140a10544f4f5f" . + "4d414e595f494e5649544553100412230a1f414c52454144595f494e5649" . + "5445445f42595f544849535f4d414e41474552100512230a1f414c524541" . + "44595f4d414e414745445f42595f544849535f4d414e4147455210061220" . + "0a1c414c52454144595f4d414e414745445f494e5f484945524152434859" . + "100712190a154455504c49434154455f4348494c445f464f554e44100812" . + "1c0a18434c49454e545f4841535f4e4f5f41444d494e5f55534552100912" . + "160a124d41585f44455054485f4558434545444544100a12150a11435943" . + "4c455f4e4f545f414c4c4f574544100b12150a11544f4f5f4d414e595f41" . + "43434f554e5453100c12200a1c544f4f5f4d414e595f4143434f554e5453" . + "5f41545f4d414e41474552100d12250a214e4f4e5f4f574e45525f555345" . + "525f43414e4e4f545f4d4f444946595f4c494e4b100e12280a2453555350" . + "454e4445445f4143434f554e545f43414e4e4f545f4144445f434c49454e" . + "5453100f42f0010a22636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f727342154d616e616765724c696e6b4572726f" . + "7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/MediaBundleError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/MediaBundleError.php new file mode 100644 index 000000000..eedac57ae --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/MediaBundleError.php @@ -0,0 +1,59 @@ +internalAddGeneratedFile(hex2bin( + "0a8f080a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d656469615f62756e646c655f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727322b8050a144d6564696142756e646c654572726f72456e756d229f05" . + "0a104d6564696142756e646c654572726f72120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e1001120f0a0b4241445f52455155" . + "455354100312220a1e444f55424c45434c49434b5f42554e444c455f4e4f" . + "545f414c4c4f5745441004121c0a1845585445524e414c5f55524c5f4e4f" . + "545f414c4c4f574544100512120a0e46494c455f544f4f5f4c4152474510" . + "06122e0a2a474f4f474c455f5745425f44455349474e45525f5a49505f46" . + "494c455f4e4f545f5055424c4953484544100712110a0d494e56414c4944" . + "5f494e505554100812180a14494e56414c49445f4d454449415f42554e44" . + "4c451009121e0a1a494e56414c49445f4d454449415f42554e444c455f45" . + "4e545259100a12150a11494e56414c49445f4d494d455f54595045100b12" . + "100a0c494e56414c49445f50415448100c12190a15494e56414c49445f55" . + "524c5f5245464552454e4345100d12180a144d454449415f444154415f54" . + "4f4f5f4c41524745100e12260a224d495353494e475f5052494d4152595f" . + "4d454449415f42554e444c455f454e545259100f12100a0c534552564552" . + "5f4552524f52101012110a0d53544f524147455f4552524f521011121d0a" . + "195357494646595f42554e444c455f4e4f545f414c4c4f57454410121212" . + "0a0e544f4f5f4d414e595f46494c4553101312130a0f554e455850454354" . + "45445f53495a451014122f0a2b554e535550504f525445445f474f4f474c" . + "455f5745425f44455349474e45525f454e5649524f4e4d454e541015121d" . + "0a19554e535550504f525445445f48544d4c355f46454154555245101612" . + "290a2555524c5f494e5f4d454449415f42554e444c455f4e4f545f53534c" . + "5f434f4d504c49414e541017121b0a17435553544f4d5f455849545f4e4f" . + "545f414c4c4f574544101842f0010a22636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f727342154d6564696142756e" . + "646c654572726f7250726f746f50015a44676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f6572726f72733b6572726f7273a202034741" . + "41aa021e476f6f676c652e4164732e476f6f676c654164732e56322e4572" . + "726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/MediaFileError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/MediaFileError.php new file mode 100644 index 000000000..f5da9a1cf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/MediaFileError.php @@ -0,0 +1,62 @@ +internalAddGeneratedFile(hex2bin( + "0aea080a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d656469615f66696c655f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "2297060a124d6564696146696c654572726f72456e756d2280060a0e4d65" . + "64696146696c654572726f72120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e1001121f0a1b43414e4e4f545f4352454154455f" . + "5354414e444152445f49434f4e100212300a2c43414e4e4f545f53454c45" . + "43545f5354414e444152445f49434f4e5f574954485f4f544845525f5459" . + "504553100312290a2543414e4e4f545f535045434946595f4d454449415f" . + "46494c455f49445f414e445f44415441100412130a0f4455504c49434154" . + "455f4d454449411005120f0a0b454d5054595f4649454c44100612270a23" . + "5245534f555243455f5245464552454e4345445f494e5f4d554c5449504c" . + "455f4f50531007122a0a264649454c445f4e4f545f535550504f52544544" . + "5f464f525f4d454449415f5355425f54595045100812190a15494e56414c" . + "49445f4d454449415f46494c455f49441009121a0a16494e56414c49445f" . + "4d454449415f5355425f54595045100a121b0a17494e56414c49445f4d45" . + "4449415f46494c455f54595045100b12150a11494e56414c49445f4d494d" . + "455f54595045100c12180a14494e56414c49445f5245464552454e43455f" . + "4944100d12170a13494e56414c49445f594f555f545542455f4944100e12" . + "210a1d4d454449415f46494c455f4641494c45445f5452414e53434f4449" . + "4e47100f12180a144d454449415f4e4f545f5452414e53434f4445441010" . + "122d0a294d454449415f545950455f444f45535f4e4f545f4d415443485f" . + "4d454449415f46494c455f54595045101112170a134e4f5f4649454c4453" . + "5f535045434946494544101212220a1e4e554c4c5f5245464552454e4345" . + "5f49445f414e445f4d454449415f49441013120c0a08544f4f5f4c4f4e47" . + "101412140a10554e535550504f525445445f54595045101512200a1c594f" . + "555f545542455f534552564943455f554e415641494c41424c451016122c" . + "0a28594f555f545542455f564944454f5f4841535f4e4f4e5f504f534954" . + "4956455f4455524154494f4e1017121c0a18594f555f545542455f564944" . + "454f5f4e4f545f464f554e44101842ee010a22636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f727342134d65646961" . + "46696c654572726f7250726f746f50015a44676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f6572726f72733b6572726f7273a2020347" . + "4141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "72726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c56" . + "325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/MediaUploadError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/MediaUploadError.php new file mode 100644 index 000000000..f32e18966 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/MediaUploadError.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a81040a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d656469615f75706c6f61645f6572726f722e70726f746f" . + "121e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727322aa010a144d6564696155706c6f61644572726f72456e756d229101" . + "0a104d6564696155706c6f61644572726f72120f0a0b554e535045434946" . + "4945441000120b0a07554e4b4e4f574e100112100a0c46494c455f544f4f" . + "5f424947100212150a11554e504152534541424c455f494d414745100312" . + "1e0a1a414e494d415445445f494d4147455f4e4f545f414c4c4f57454410" . + "0412160a12464f524d41545f4e4f545f414c4c4f574544100542f0010a22" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f727342154d6564696155706c6f61644572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/MultiplierError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/MultiplierError.php new file mode 100644 index 000000000..11491072b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/MultiplierError.php @@ -0,0 +1,56 @@ +internalAddGeneratedFile(hex2bin( + "0aa3070a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d756c7469706c6965725f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "22cf040a134d756c7469706c6965724572726f72456e756d22b7040a0f4d" . + "756c7469706c6965724572726f72120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e100112170a134d554c5449504c4945525f54" . + "4f4f5f48494748100212160a124d554c5449504c4945525f544f4f5f4c4f" . + "571003121e0a1a544f4f5f4d414e595f4652414354494f4e414c5f444947" . + "4954531004122f0a2b4d554c5449504c4945525f4e4f545f414c4c4f5745" . + "445f464f525f42494444494e475f5354524154454759100512330a2f4d55" . + "4c5449504c4945525f4e4f545f414c4c4f5745445f5748454e5f42415345" . + "5f4249445f49535f4d495353494e471006121b0a174e4f5f4d554c544950" . + "4c4945525f535045434946494544100712300a2c4d554c5449504c494552" . + "5f4341555345535f4249445f544f5f4558434545445f4441494c595f4255" . + "44474554100812320a2e4d554c5449504c4945525f4341555345535f4249" . + "445f544f5f4558434545445f4d4f4e54484c595f42554447455410091231" . + "0a2d4d554c5449504c4945525f4341555345535f4249445f544f5f455843" . + "4545445f435553544f4d5f425544474554100a12330a2f4d554c5449504c" . + "4945525f4341555345535f4249445f544f5f4558434545445f4d41585f41" . + "4c4c4f5745445f424944100b12310a2d4249445f4c4553535f5448414e5f" . + "4d494e5f414c4c4f5745445f4249445f574954485f4d554c5449504c4945" . + "52100c12310a2d4d554c5449504c4945525f414e445f42494444494e475f" . + "53545241544547595f545950455f4d49534d41544348100d42ef010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727342144d756c7469706c6965724572726f7250726f746f50015a4467" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f6572726f7273" . + "3b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f6f" . + "676c654164732e56322e4572726f7273ca021e476f6f676c655c4164735c" . + "476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a4572726f727362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/MutateError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/MutateError.php new file mode 100644 index 000000000..fa6e85b92 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/MutateError.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0aba040a31676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d75746174655f6572726f722e70726f746f121e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e6572726f727322ee010a" . + "0f4d75746174654572726f72456e756d22da010a0b4d7574617465457272" . + "6f72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e" . + "100112160a125245534f555243455f4e4f545f464f554e44100312210a1d" . + "49445f4558495354535f494e5f4d554c5449504c455f4d55544154455310" . + "07121d0a19494e434f4e53495354454e545f4649454c445f56414c554553" . + "100812160a124d55544154455f4e4f545f414c4c4f5745441009121e0a1a" . + "5245534f555243455f4e4f545f494e5f474f4f474c455f414453100a121b" . + "0a175245534f555243455f414c52454144595f455849535453100b42eb01" . + "0a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f727342104d75746174654572726f7250726f746f50015a44676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f6572726f72733b" . + "6572726f7273a20203474141aa021e476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e4572726f7273ca021e476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/MutateJobError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/MutateJobError.php new file mode 100644 index 000000000..2805ba1e2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/MutateJobError.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0aa8040a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6d75746174655f6a6f625f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "22d5010a124d75746174654a6f624572726f72456e756d22be010a0e4d75" . + "746174654a6f624572726f72120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e1001122e0a2a43414e4e4f545f4d4f444946595f" . + "4a4f425f41465445525f4a4f425f5354415254535f52554e4e494e471002" . + "12140a10454d5054595f4f5045524154494f4e531003121a0a16494e5641" . + "4c49445f53455155454e43455f544f4b454e100412150a11524553554c54" . + "535f4e4f545f5245414459100512150a11494e56414c49445f504147455f" . + "53495a45100642ee010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f727342134d75746174654a6f624572726f" . + "7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationError.php new file mode 100644 index 000000000..bb2bd238c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationError.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a98040a40676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6e65775f7265736f757263655f6372656174696f6e5f6572" . + "726f722e70726f746f121e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e6572726f727322b0010a1c4e65775265736f75726365437265" . + "6174696f6e4572726f72456e756d228f010a184e65775265736f75726365" . + "4372656174696f6e4572726f72120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e1001121c0a1843414e4e4f545f5345545f4944" . + "5f464f525f435245415445100212160a124455504c49434154455f54454d" . + "505f4944531003121f0a1b54454d505f49445f5245534f555243455f4841" . + "445f4552524f5253100442f8010a22636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f7273421d4e65775265736f7572" . + "63654372656174696f6e4572726f7250726f746f50015a44676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f6572726f72733b6572726f" . + "7273a20203474141aa021e476f6f676c652e4164732e476f6f676c654164" . + "732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c" . + "654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/NotEmptyError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/NotEmptyError.php new file mode 100644 index 000000000..e2829a3d5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/NotEmptyError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa2030a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6e6f745f656d7074795f6572726f722e70726f746f121e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f727322" . + "520a114e6f74456d7074794572726f72456e756d223d0a0d4e6f74456d70" . + "74794572726f72120f0a0b554e5350454349464945441000120b0a07554e" . + "4b4e4f574e1001120e0a0a454d5054595f4c495354100242ed010a22636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f" . + "727342124e6f74456d7074794572726f7250726f746f50015a44676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f6572726f72733b6572" . + "726f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f" . + "676c654164735c56325c4572726f7273ea0222476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedError.php new file mode 100644 index 000000000..3d39b7fb1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad9030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6e6f745f77686974656c69737465645f6572726f722e7072" . + "6f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f7273227d0a174e6f7457686974656c69737465644572726f72456e" . + "756d22620a134e6f7457686974656c69737465644572726f72120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e1001122d0a2943" . + "5553544f4d45525f4e4f545f57484954454c49535445445f464f525f5448" . + "49535f46454154555245100242f3010a22636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f727342184e6f7457686974" . + "656c69737465644572726f7250726f746f50015a44676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f6572726f72733b6572726f7273a2" . + "0203474141aa021e476f6f676c652e4164732e476f6f676c654164732e56" . + "322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164" . + "735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/NullError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/NullError.php new file mode 100644 index 000000000..a468a3ac1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/NullError.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a93030a2f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6e756c6c5f6572726f722e70726f746f121e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e6572726f7273224c0a0d4e75" . + "6c6c4572726f72456e756d223b0a094e756c6c4572726f72120f0a0b554e" . + "5350454349464945441000120b0a07554e4b4e4f574e100112100a0c4e55" . + "4c4c5f434f4e54454e54100242e9010a22636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e6572726f7273420e4e756c6c457272" . + "6f7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f6572726f72733b6572726f7273a20203474141aa021e476f" . + "6f676c652e4164732e476f6f676c654164732e56322e4572726f7273ca02" . + "1e476f6f676c655c4164735c476f6f676c654164735c56325c4572726f72" . + "73ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedError.php new file mode 100644 index 000000000..84dd7163c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedError.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0ad7060a42676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6f7065726174696f6e5f6163636573735f64656e6965645f" . + "6572726f722e70726f746f121e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f727322eb030a1e4f7065726174696f6e416363" . + "65737344656e6965644572726f72456e756d22c8030a1a4f706572617469" . + "6f6e41636365737344656e6965644572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112180a14414354494f4e5f" . + "4e4f545f5045524d4954544544100212220a1e4352454154455f4f504552" . + "4154494f4e5f4e4f545f5045524d4954544544100312220a1e52454d4f56" . + "455f4f5045524154494f4e5f4e4f545f5045524d4954544544100412220a" . + "1e5550444154455f4f5045524154494f4e5f4e4f545f5045524d49545445" . + "441005122a0a264d55544154455f414354494f4e5f4e4f545f5045524d49" . + "545445445f464f525f434c49454e541006122d0a294f5045524154494f4e" . + "5f4e4f545f5045524d49545445445f464f525f43414d504149474e5f5459" . + "5045100712230a1f4352454154455f41535f52454d4f5645445f4e4f545f" . + "5045524d4954544544100812300a2c4f5045524154494f4e5f4e4f545f50" . + "45524d49545445445f464f525f52454d4f5645445f5245534f5552434510" . + "09122d0a294f5045524154494f4e5f4e4f545f5045524d49545445445f46" . + "4f525f41445f47524f55505f54595045100a12250a214d55544154455f4e" . + "4f545f5045524d49545445445f464f525f435553544f4d4552100b42fa01" . + "0a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f7273421f4f7065726174696f6e41636365737344656e69656445" . + "72726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f6572726f72733b6572726f7273a20203474141aa021e" . + "476f6f676c652e4164732e476f6f676c654164732e56322e4572726f7273" . + "ca021e476f6f676c655c4164735c476f6f676c654164735c56325c457272" . + "6f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/OperatorError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/OperatorError.php new file mode 100644 index 000000000..fe28f7b08 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/OperatorError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aad030a33676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f6f70657261746f725f6572726f722e70726f746f121e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e6572726f7273225e" . + "0a114f70657261746f724572726f72456e756d22490a0d4f70657261746f" . + "724572726f72120f0a0b554e5350454349464945441000120b0a07554e4b" . + "4e4f574e1001121a0a164f50455241544f525f4e4f545f535550504f5254" . + "4544100242ed010a22636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e6572726f727342124f70657261746f724572726f725072" . + "6f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f6f" . + "676c655c4164735c476f6f676c654164735c56325c4572726f7273ea0222" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572" . + "726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/PartialFailureError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/PartialFailureError.php new file mode 100644 index 000000000..b0145dbb1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/PartialFailureError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0acd030a3a676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f7061727469616c5f6661696c7572655f6572726f722e7072" . + "6f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "72726f727322710a175061727469616c4661696c7572654572726f72456e" . + "756d22560a135061727469616c4661696c7572654572726f72120f0a0b55" . + "4e5350454349464945441000120b0a07554e4b4e4f574e100112210a1d50" . + "41525449414c5f4641494c5552455f4d4f44455f52455155495245441002" . + "42f3010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e6572726f727342185061727469616c4661696c7572654572726f72" . + "50726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e47" . + "6f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea" . + "0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyFindingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyFindingError.php new file mode 100644 index 000000000..14d30bcb0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyFindingError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad6030a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f706f6c6963795f66696e64696e675f6572726f722e70726f" . + "746f121e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f7273227c0a16506f6c69637946696e64696e674572726f72456e756d" . + "22620a12506f6c69637946696e64696e674572726f72120f0a0b554e5350" . + "454349464945441000120b0a07554e4b4e4f574e100112120a0e504f4c49" . + "43595f46494e44494e471002121a0a16504f4c4943595f544f5049435f4e" . + "4f545f464f554e44100342f2010a22636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f72734217506f6c69637946696e" . + "64696e674572726f7250726f746f50015a44676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f6572726f72733b6572726f7273a2020347" . + "4141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e45" . + "72726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c56" . + "325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterError.php new file mode 100644 index 000000000..845236212 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterError.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0a96050a46676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f706f6c6963795f76616c69646174696f6e5f706172616d65" . + "7465725f6572726f722e70726f746f121e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f727322a2020a22506f6c6963795661" . + "6c69646174696f6e506172616d657465724572726f72456e756d22fb010a" . + "1e506f6c69637956616c69646174696f6e506172616d657465724572726f" . + "72120f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10" . + "0112330a2f554e535550504f525445445f41445f545950455f464f525f49" . + "474e4f5241424c455f504f4c4943595f544f50494353100212380a34554e" . + "535550504f525445445f41445f545950455f464f525f4558454d50545f50" . + "4f4c4943595f56494f4c4154494f4e5f4b4559531003124c0a4843414e4e" . + "4f545f5345545f424f54485f49474e4f5241424c455f504f4c4943595f54" . + "4f504943535f414e445f4558454d50545f504f4c4943595f56494f4c4154" . + "494f4e5f4b455953100442fe010a22636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f72734223506f6c69637956616c" . + "69646174696f6e506172616d657465724572726f7250726f746f50015a44" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f6572726f72" . + "733b6572726f7273a20203474141aa021e476f6f676c652e4164732e476f" . + "6f676c654164732e56322e4572726f7273ca021e476f6f676c655c416473" . + "5c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyViolationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyViolationError.php new file mode 100644 index 000000000..e71970bb8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/PolicyViolationError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac0030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f706f6c6963795f76696f6c6174696f6e5f6572726f722e70" . + "726f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f727322620a18506f6c69637956696f6c6174696f6e4572726f72" . + "456e756d22460a14506f6c69637956696f6c6174696f6e4572726f72120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10011210" . + "0a0c504f4c4943595f4552524f52100242f4010a22636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f72734219506f6c" . + "69637956696f6c6174696f6e4572726f7250726f746f50015a44676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f6572726f72733b6572" . + "726f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f" . + "676c654164735c56325c4572726f7273ea0222476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a4572726f7273620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/QueryError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/QueryError.php new file mode 100644 index 000000000..301107e8b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/QueryError.php @@ -0,0 +1,94 @@ +internalAddGeneratedFile(hex2bin( + "0a9d100a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f71756572795f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f727322d30d0a0e" . + "51756572794572726f72456e756d22c00d0a0a51756572794572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "0f0a0b51554552595f4552524f52103212150a114241445f454e554d5f43" . + "4f4e5354414e54101212170a134241445f4553434150455f53455155454e" . + "4345100712120a0e4241445f4649454c445f4e414d45100c12130a0f4241" . + "445f4c494d49545f56414c5545100f120e0a0a4241445f4e554d42455210" . + "0512100a0c4241445f4f50455241544f52100312160a124241445f504152" . + "414d455445525f4e414d45103d12170a134241445f504152414d45544552" . + "5f56414c5545103e12240a204241445f5245534f555243455f545950455f" . + "494e5f46524f4d5f434c41555345102d120e0a0a4241445f53594d424f4c" . + "1002120d0a094241445f56414c5545100412170a13444154455f52414e47" . + "455f544f4f5f57494445102412190a15444154455f52414e47455f544f4f" . + "5f4e4152524f57103c12100a0c45585045435445445f414e44101e120f0a" . + "0b45585045435445445f4259100e122d0a2945585045435445445f44494d" . + "454e53494f4e5f4649454c445f494e5f53454c4543545f434c4155534510" . + "2512220a1e45585045435445445f46494c544552535f4f4e5f444154455f" . + "52414e4745103712110a0d45585045435445445f46524f4d102c12110a0d" . + "45585045435445445f4c4953541029122e0a2a45585045435445445f5245" . + "464552454e4345445f4649454c445f494e5f53454c4543545f434c415553" . + "45101012130a0f45585045435445445f53454c454354100d12190a154558" . + "5045435445445f53494e474c455f56414c5545102a12280a244558504543" . + "5445445f56414c55455f574954485f4245545745454e5f4f50455241544f" . + "52101d12170a13494e56414c49445f444154455f464f524d415410261218" . + "0a14494e56414c49445f535452494e475f56414c5545103912270a23494e" . + "56414c49445f56414c55455f574954485f4245545745454e5f4f50455241" . + "544f52101a12260a22494e56414c49445f56414c55455f574954485f4455" . + "52494e475f4f50455241544f52101612240a20494e56414c49445f56414c" . + "55455f574954485f4c494b455f4f50455241544f521038121b0a174f5045" . + "5241544f525f4649454c445f4d49534d41544348102312260a2250524f48" . + "4942495445445f454d5054595f4c4953545f494e5f434f4e444954494f4e" . + "101c121c0a1850524f484942495445445f454e554d5f434f4e5354414e54" . + "103612310a2d50524f484942495445445f4649454c445f434f4d42494e41" . + "54494f4e5f494e5f53454c4543545f434c41555345101f12270a2350524f" . + "484942495445445f4649454c445f494e5f4f524445525f42595f434c4155" . + "5345102812250a2150524f484942495445445f4649454c445f494e5f5345" . + "4c4543545f434c41555345101712240a2050524f484942495445445f4649" . + "454c445f494e5f57484552455f434c415553451018122b0a2750524f4849" . + "42495445445f5245534f555243455f545950455f494e5f46524f4d5f434c" . + "41555345102b122d0a2950524f484942495445445f5245534f555243455f" . + "545950455f494e5f53454c4543545f434c415553451030122c0a2850524f" . + "484942495445445f5245534f555243455f545950455f494e5f5748455245" . + "5f434c41555345103a122f0a2b50524f484942495445445f4d4554524943" . + "5f494e5f53454c4543545f4f525f57484552455f434c4155534510311230" . + "0a2c50524f484942495445445f5345474d454e545f494e5f53454c454354" . + "5f4f525f57484552455f434c415553451033123c0a3850524f4849424954" . + "45445f5345474d454e545f574954485f4d45545249435f494e5f53454c45" . + "43545f4f525f57484552455f434c41555345103512170a134c494d49545f" . + "56414c55455f544f4f5f4c4f57101912200a1c50524f484942495445445f" . + "4e45574c494e455f494e5f535452494e47100812280a2450524f48494249" . + "5445445f56414c55455f434f4d42494e4154494f4e5f494e5f4c49535410" . + "0a12360a3250524f484942495445445f56414c55455f434f4d42494e4154" . + "494f4e5f574954485f4245545745454e5f4f50455241544f52101512190a" . + "15535452494e475f4e4f545f5445524d494e41544544100612150a11544f" . + "4f5f4d414e595f5345474d454e54531022121b0a17554e45585045435445" . + "445f454e445f4f465f51554552591009121a0a16554e4558504543544544" . + "5f46524f4d5f434c41555345102f12160a12554e5245434f474e495a4544" . + "5f4649454c44102012140a10554e45585045435445445f494e505554100b" . + "12210a1d5245515545535445445f4d4554524943535f464f525f4d414e41" . + "474552103b42ea010a22636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e6572726f7273420f51756572794572726f7250726f74" . + "6f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "6572726f72733b6572726f7273a20203474141aa021e476f6f676c652e41" . + "64732e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c" . + "655c4164735c476f6f676c654164735c56325c4572726f7273ea0222476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f" . + "7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/QuotaError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/QuotaError.php new file mode 100644 index 000000000..53250b08f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/QuotaError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ad9030a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f71756f74615f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f7273228f010a0e" . + "51756f74614572726f72456e756d227d0a0a51756f74614572726f72120f" . + "0a0b554e5350454349464945441000120b0a07554e4b4e4f574e10011216" . + "0a125245534f555243455f455848415553544544100212150a1141434345" . + "53535f50524f48494249544544100312220a1e5245534f555243455f5445" . + "4d504f524152494c595f455848415553544544100442ea010a22636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "420f51756f74614572726f7250726f746f50015a44676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f6572726f72733b6572726f7273a2" . + "0203474141aa021e476f6f676c652e4164732e476f6f676c654164732e56" . + "322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164" . + "735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/RangeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/RangeError.php new file mode 100644 index 000000000..cdd1900f0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/RangeError.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0aa0030a30676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f72616e67655f6572726f722e70726f746f121e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f727322570a0e52" . + "616e67654572726f72456e756d22450a0a52616e67654572726f72120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e1001120b0a" . + "07544f4f5f4c4f571002120c0a08544f4f5f48494748100342ea010a2263" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f7273420f52616e67654572726f7250726f746f50015a44676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f6572726f72733b6572726f" . + "7273a20203474141aa021e476f6f676c652e4164732e476f6f676c654164" . + "732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c" . + "654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/RecommendationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/RecommendationError.php new file mode 100644 index 000000000..7d501ebab --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/RecommendationError.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0ab6060a39676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f7265636f6d6d656e646174696f6e5f6572726f722e70726f" . + "746f121e676f6f676c652e6164732e676f6f676c656164732e76322e6572" . + "726f727322da030a175265636f6d6d656e646174696f6e4572726f72456e" . + "756d22be030a135265636f6d6d656e646174696f6e4572726f72120f0a0b" . + "554e5350454349464945441000120b0a07554e4b4e4f574e1001121b0a17" . + "4255444745545f414d4f554e545f544f4f5f534d414c4c1002121b0a1742" . + "55444745545f414d4f554e545f544f4f5f4c41524745100312190a15494e" . + "56414c49445f4255444745545f414d4f554e54100412100a0c504f4c4943" . + "595f4552524f52100512160a12494e56414c49445f4249445f414d4f554e" . + "54100612190a15414447524f55505f4b4559574f52445f4c494d49541007" . + "12220a1e5245434f4d4d454e444154494f4e5f414c52454144595f415050" . + "4c4945441008121e0a1a5245434f4d4d454e444154494f4e5f494e56414c" . + "494441544544100912170a13544f4f5f4d414e595f4f5045524154494f4e" . + "53100a12110a0d4e4f5f4f5045524154494f4e53100b12210a1d44494646" . + "4552454e545f54595045535f4e4f545f535550504f52544544100c121b0a" . + "174455504c49434154455f5245534f555243455f4e414d45100d12240a20" . + "5245434f4d4d454e444154494f4e5f414c52454144595f4449534d495353" . + "4544100e12190a15494e56414c49445f4150504c595f5245515545535410" . + "0f42f3010a22636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e6572726f727342185265636f6d6d656e646174696f6e4572726f" . + "7250726f746f50015a44676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f6572726f72733b6572726f7273a20203474141aa021e476f6f" . + "676c652e4164732e476f6f676c654164732e56322e4572726f7273ca021e" . + "476f6f676c655c4164735c476f6f676c654164735c56325c4572726f7273" . + "ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/RegionCodeError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/RegionCodeError.php new file mode 100644 index 000000000..c2f11d91d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/RegionCodeError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0ab3030a36676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f726567696f6e5f636f64655f6572726f722e70726f746f12" . + "1e676f6f676c652e6164732e676f6f676c656164732e76322e6572726f72" . + "73225f0a13526567696f6e436f64654572726f72456e756d22480a0f5265" . + "67696f6e436f64654572726f72120f0a0b554e5350454349464945441000" . + "120b0a07554e4b4e4f574e100112170a13494e56414c49445f524547494f" . + "4e5f434f4445100242ef010a22636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e6572726f72734214526567696f6e436f646545" . + "72726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f6572726f72733b6572726f7273a20203474141aa021e" . + "476f6f676c652e4164732e476f6f676c654164732e56322e4572726f7273" . + "ca021e476f6f676c655c4164735c476f6f676c654164735c56325c457272" . + "6f7273ea0222476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/RequestError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/RequestError.php new file mode 100644 index 000000000..44580ff40 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/RequestError.php @@ -0,0 +1,61 @@ +internalAddGeneratedFile(hex2bin( + "0abb080a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f726571756573745f6572726f722e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f727322ed05" . + "0a10526571756573744572726f72456e756d22d8050a0c52657175657374" . + "4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112190a155245534f555243455f4e414d455f4d495353494e47" . + "1003121b0a175245534f555243455f4e414d455f4d414c464f524d454410" . + "0412130a0f4241445f5245534f555243455f4944101112170a13494e5641" . + "4c49445f435553544f4d45525f4944101012160a124f5045524154494f4e" . + "5f5245515549524544100512160a125245534f555243455f4e4f545f464f" . + "554e44100612160a12494e56414c49445f504147455f544f4b454e100712" . + "160a12455850495245445f504147455f544f4b454e100812150a11494e56" . + "414c49445f504147455f53495a451016121a0a1652455155495245445f46" . + "49454c445f4d495353494e47100912130a0f494d4d555441424c455f4649" . + "454c44100b121e0a1a544f4f5f4d414e595f4d55544154455f4f50455241" . + "54494f4e53100d12290a2543414e4e4f545f42455f45584543555445445f" . + "42595f4d414e414745525f4143434f554e54100e121f0a1b43414e4e4f54" . + "5f4d4f444946595f464f524549474e5f4649454c44100f12160a12494e56" . + "414c49445f454e554d5f56414c5545101212250a21444556454c4f504552" . + "5f544f4b454e5f504152414d455445525f4d495353494e47101312270a23" . + "4c4f47494e5f435553544f4d45525f49445f504152414d455445525f4d49" . + "5353494e47101412280a2456414c49444154455f4f4e4c595f5245515545" . + "53545f4841535f504147455f544f4b454e101512390a3543414e4e4f545f" . + "52455455524e5f53554d4d4152595f524f575f464f525f52455155455354" . + "5f574954484f55545f4d455452494353101d12380a3443414e4e4f545f52" . + "455455524e5f53554d4d4152595f524f575f464f525f56414c4944415445" . + "5f4f4e4c595f5245515545535453101e12290a25494e434f4e5349535445" . + "4e545f52455455524e5f53554d4d4152595f524f575f56414c5545101f42" . + "ec010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e6572726f72734211526571756573744572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedError.php new file mode 100644 index 000000000..39e2d8df3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0adc030a41676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f7265736f757263655f6163636573735f64656e6965645f65" . + "72726f722e70726f746f121e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e6572726f727322730a1d5265736f75726365416363657373" . + "44656e6965644572726f72456e756d22520a195265736f75726365416363" . + "65737344656e6965644572726f72120f0a0b554e53504543494649454410" . + "00120b0a07554e4b4e4f574e100112170a1357524954455f414343455353" . + "5f44454e494544100342f9010a22636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e6572726f7273421e5265736f757263654163" . + "6365737344656e6965644572726f7250726f746f50015a44676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f6572726f72733b6572726f" . + "7273a20203474141aa021e476f6f676c652e4164732e476f6f676c654164" . + "732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c" . + "654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededError.php new file mode 100644 index 000000000..625c5b5a1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededError.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0ab5050a48676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f7265736f757263655f636f756e745f6c696d69745f657863" . + "65656465645f6572726f722e70726f746f121e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f727322be020a235265736f7572" . + "6365436f756e744c696d697445786365656465644572726f72456e756d22" . + "96020a1f5265736f75726365436f756e744c696d69744578636565646564" . + "4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112110a0d4143434f554e545f4c494d4954100212120a0e4341" . + "4d504149474e5f4c494d4954100312110a0d414447524f55505f4c494d49" . + "54100412150a1141445f47524f55505f41445f4c494d49541005121c0a18" . + "41445f47524f55505f435249544552494f4e5f4c494d4954100612140a10" . + "5348415245445f5345545f4c494d49541007121b0a174d41544348494e47" . + "5f46554e4354494f4e5f4c494d49541008121f0a1b524553504f4e53455f" . + "524f575f4c494d49545f4558434545444544100912120a0e5245534f5552" . + "43455f4c494d4954100a42ff010a22636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e6572726f727342245265736f7572636543" . + "6f756e744c696d697445786365656465644572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/SettingError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/SettingError.php new file mode 100644 index 000000000..4c90d310d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/SettingError.php @@ -0,0 +1,72 @@ +internalAddGeneratedFile(hex2bin( + "0a8c0b0a32676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f73657474696e675f6572726f722e70726f746f121e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f727322be08" . + "0a1053657474696e674572726f72456e756d22a9080a0c53657474696e67" . + "4572726f72120f0a0b554e5350454349464945441000120b0a07554e4b4e" . + "4f574e100112210a1d53455454494e475f545950455f49535f4e4f545f41" . + "5641494c41424c45100312300a2c53455454494e475f545950455f49535f" . + "4e4f545f434f4d50415449424c455f574954485f43414d504149474e1004" . + "123b0a37544152474554494e475f53455454494e475f434f4e5441494e53" . + "5f494e56414c49445f435249544552494f4e5f545950455f47524f555010" . + "0512510a4d544152474554494e475f53455454494e475f44454d4f475241" . + "504849435f435249544552494f4e5f545950455f47524f5550535f4d5553" . + "545f42455f5345545f544f5f5441524745545f414c4c1006125c0a585441" . + "52474554494e475f53455454494e475f43414e4e4f545f4348414e47455f" . + "5441524745545f414c4c5f544f5f46414c53455f464f525f44454d4f4752" . + "41504849435f435249544552494f4e5f545950455f47524f555010071243" . + "0a3f44594e414d49435f5345415243485f4144535f53455454494e475f41" . + "545f4c454153545f4f4e455f464545445f49445f4d5553545f42455f5052" . + "4553454e541008123b0a3744594e414d49435f5345415243485f4144535f" . + "53455454494e475f434f4e5441494e535f494e56414c49445f444f4d4149" . + "4e5f4e414d45100912360a3244594e414d49435f5345415243485f414453" . + "5f53455454494e475f434f4e5441494e535f535542444f4d41494e5f4e41" . + "4d45100a123d0a3944594e414d49435f5345415243485f4144535f534554" . + "54494e475f434f4e5441494e535f494e56414c49445f4c414e4755414745" . + "5f434f4445100b123e0a3a5441524745545f414c4c5f49535f4e4f545f41" . + "4c4c4f5745445f464f525f504c4143454d454e545f494e5f534541524348" . + "5f43414d504149474e100c12380a34554e4956455253414c5f4150505f43" . + "414d504149474e5f53455454494e475f4455504c49434154455f44455343" . + "52495054494f4e100d12420a3e554e4956455253414c5f4150505f43414d" . + "504149474e5f53455454494e475f4445534352495054494f4e5f4c494e45" . + "5f57494454485f544f4f5f4c4f4e47100e123c0a38554e4956455253414c" . + "5f4150505f43414d504149474e5f53455454494e475f4150505f49445f43" . + "414e4e4f545f42455f4d4f444946494544100f12380a34544f4f5f4d414e" . + "595f594f55545542455f4d454449415f4944535f494e5f554e4956455253" . + "414c5f4150505f43414d504149474e101012360a32544f4f5f4d414e595f" . + "494d4147455f4d454449415f4944535f494e5f554e4956455253414c5f41" . + "50505f43414d504149474e101112310a2d4d454449415f494e434f4d5041" . + "5449424c455f464f525f554e4956455253414c5f4150505f43414d504149" . + "474e1012121e0a1a544f4f5f4d414e595f4558434c414d4154494f4e5f4d" . + "41524b53101342ec010a22636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e6572726f7273421153657474696e674572726f7250" . + "726f746f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f6572726f72733b6572726f7273a20203474141aa021e476f6f676c" . + "652e4164732e476f6f676c654164732e56322e4572726f7273ca021e476f" . + "6f676c655c4164735c476f6f676c654164735c56325c4572726f7273ea02" . + "22476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a45" . + "72726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/SharedCriterionError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/SharedCriterionError.php new file mode 100644 index 000000000..c5cfbdaaa --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/SharedCriterionError.php @@ -0,0 +1,41 @@ +internalAddGeneratedFile(hex2bin( + "0ae3030a3b676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f7368617265645f637269746572696f6e5f6572726f722e70" . + "726f746f121e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "6572726f72732284010a18536861726564437269746572696f6e4572726f" . + "72456e756d22680a14536861726564437269746572696f6e4572726f7212" . + "0f0a0b554e5350454349464945441000120b0a07554e4b4e4f574e100112" . + "320a2e435249544552494f4e5f545950455f4e4f545f414c4c4f5745445f" . + "464f525f5348415245445f5345545f54595045100242f4010a22636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "4219536861726564437269746572696f6e4572726f7250726f746f50015a" . + "44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f6572726f" . + "72733b6572726f7273a20203474141aa021e476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c4164" . + "735c476f6f676c654164735c56325c4572726f7273ea0222476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f72736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/SharedSetError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/SharedSetError.php new file mode 100644 index 000000000..49a810710 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/SharedSetError.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a8f040a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f7368617265645f7365745f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "22bc010a125368617265645365744572726f72456e756d22a5010a0e5368" . + "617265645365744572726f72120f0a0b554e535045434946494544100012" . + "0b0a07554e4b4e4f574e100112320a2e435553544f4d45525f43414e4e4f" . + "545f4352454154455f5348415245445f5345545f4f465f544849535f5459" . + "5045100212120a0e4455504c49434154455f4e414d45100312160a125348" . + "415245445f5345545f52454d4f564544100412150a115348415245445f53" . + "45545f494e5f555345100542ee010a22636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e6572726f727342135368617265645365" . + "744572726f7250726f746f50015a44676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f6572726f72733b6572726f7273a20203474141aa" . + "021e476f6f676c652e4164732e476f6f676c654164732e56322e4572726f" . + "7273ca021e476f6f676c655c4164735c476f6f676c654164735c56325c45" . + "72726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/SizeLimitError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/SizeLimitError.php new file mode 100644 index 000000000..6f6925caa --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/SizeLimitError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ada030a35676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f73697a655f6c696d69745f6572726f722e70726f746f121e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e6572726f7273" . + "2287010a1253697a654c696d69744572726f72456e756d22710a0e53697a" . + "654c696d69744572726f72120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e1001121f0a1b524551554553545f53495a455f4c49" . + "4d49545f4558434545444544100212200a1c524553504f4e53455f53495a" . + "455f4c494d49545f4558434545444544100342ee010a22636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f7273421353" . + "697a654c696d69744572726f7250726f746f50015a44676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f6572726f72733b6572726f7273" . + "a20203474141aa021e476f6f676c652e4164732e476f6f676c654164732e" . + "56322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/StringFormatError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/StringFormatError.php new file mode 100644 index 000000000..b28233d8f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/StringFormatError.php @@ -0,0 +1,40 @@ +internalAddGeneratedFile(hex2bin( + "0ac9030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f737472696e675f666f726d61745f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322710a15537472696e67466f726d61744572726f72456e756d2258" . + "0a11537472696e67466f726d61744572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e100112110a0d494c4c4547414c" . + "5f4348415253100212120a0e494e56414c49445f464f524d4154100342f1" . + "010a22636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e6572726f72734216537472696e67466f726d61744572726f7250726f74" . + "6f50015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "6572726f72733b6572726f7273a20203474141aa021e476f6f676c652e41" . + "64732e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c" . + "655c4164735c476f6f676c654164735c56325c4572726f7273ea0222476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f" . + "7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/StringLengthError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/StringLengthError.php new file mode 100644 index 000000000..83be3d9c8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/StringLengthError.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0abf030a38676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f737472696e675f6c656e6774685f6572726f722e70726f74" . + "6f121e676f6f676c652e6164732e676f6f676c656164732e76322e657272" . + "6f727322670a15537472696e674c656e6774684572726f72456e756d224e" . + "0a11537472696e674c656e6774684572726f72120f0a0b554e5350454349" . + "464945441000120b0a07554e4b4e4f574e1001120d0a09544f4f5f53484f" . + "52541002120c0a08544f4f5f4c4f4e47100342f1010a22636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f7273421653" . + "7472696e674c656e6774684572726f7250726f746f50015a44676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f6572726f72733b657272" . + "6f7273a20203474141aa021e476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e4572726f7273ca021e476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c4572726f7273ea0222476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/UrlFieldError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/UrlFieldError.php new file mode 100644 index 000000000..f136a0365 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/UrlFieldError.php @@ -0,0 +1,97 @@ +internalAddGeneratedFile(hex2bin( + "0a87110a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f75726c5f6669656c645f6572726f722e70726f746f121e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f727322" . + "b60e0a1155726c4669656c644572726f72456e756d22a00e0a0d55726c46" . + "69656c644572726f72120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112210a1d494e56414c49445f545241434b494e475f" . + "55524c5f54454d504c415445100212280a24494e56414c49445f5441475f" . + "494e5f545241434b494e475f55524c5f54454d504c415445100312250a21" . + "4d495353494e475f545241434b494e475f55524c5f54454d504c4154455f" . + "5441471004122d0a294d495353494e475f50524f544f434f4c5f494e5f54" . + "5241434b494e475f55524c5f54454d504c4154451005122d0a29494e5641" . + "4c49445f50524f544f434f4c5f494e5f545241434b494e475f55524c5f54" . + "454d504c415445100612230a1f4d414c464f524d45445f545241434b494e" . + "475f55524c5f54454d504c415445100712290a254d495353494e475f484f" . + "53545f494e5f545241434b494e475f55524c5f54454d504c415445100812" . + "280a24494e56414c49445f544c445f494e5f545241434b494e475f55524c" . + "5f54454d504c4154451009122e0a2a524544554e44414e545f4e45535445" . + "445f545241434b494e475f55524c5f54454d504c4154455f544147100a12" . + "150a11494e56414c49445f46494e414c5f55524c100b121c0a18494e5641" . + "4c49445f5441475f494e5f46494e414c5f55524c100c12220a1e52454455" . + "4e44414e545f4e45535445445f46494e414c5f55524c5f544147100d1221" . + "0a1d4d495353494e475f50524f544f434f4c5f494e5f46494e414c5f5552" . + "4c100e12210a1d494e56414c49445f50524f544f434f4c5f494e5f46494e" . + "414c5f55524c100f12170a134d414c464f524d45445f46494e414c5f5552" . + "4c1010121d0a194d495353494e475f484f53545f494e5f46494e414c5f55" . + "524c1011121c0a18494e56414c49445f544c445f494e5f46494e414c5f55" . + "524c1012121c0a18494e56414c49445f46494e414c5f4d4f42494c455f55" . + "524c101312230a1f494e56414c49445f5441475f494e5f46494e414c5f4d" . + "4f42494c455f55524c101412290a25524544554e44414e545f4e45535445" . + "445f46494e414c5f4d4f42494c455f55524c5f544147101512280a244d49" . + "5353494e475f50524f544f434f4c5f494e5f46494e414c5f4d4f42494c45" . + "5f55524c101612280a24494e56414c49445f50524f544f434f4c5f494e5f" . + "46494e414c5f4d4f42494c455f55524c1017121e0a1a4d414c464f524d45" . + "445f46494e414c5f4d4f42494c455f55524c101812240a204d495353494e" . + "475f484f53545f494e5f46494e414c5f4d4f42494c455f55524c10191223" . + "0a1f494e56414c49445f544c445f494e5f46494e414c5f4d4f42494c455f" . + "55524c101a12190a15494e56414c49445f46494e414c5f4150505f55524c" . + "101b12200a1c494e56414c49445f5441475f494e5f46494e414c5f415050" . + "5f55524c101c12260a22524544554e44414e545f4e45535445445f46494e" . + "414c5f4150505f55524c5f544147101d12200a1c4d554c5449504c455f41" . + "50505f55524c535f464f525f4f5354595045101e12120a0e494e56414c49" . + "445f4f5354595045101f12200a1c494e56414c49445f50524f544f434f4c" . + "5f464f525f4150505f55524c102012220a1e494e56414c49445f5041434b" . + "4147455f49445f464f525f4150505f55524c1021122d0a2955524c5f4355" . + "53544f4d5f504152414d45544552535f434f554e545f455843454544535f" . + "4c494d4954102212320a2e494e56414c49445f434841524143544552535f" . + "494e5f55524c5f435553544f4d5f504152414d455445525f4b4559102712" . + "340a30494e56414c49445f434841524143544552535f494e5f55524c5f43" . + "5553544f4d5f504152414d455445525f56414c55451028122d0a29494e56" . + "414c49445f5441475f494e5f55524c5f435553544f4d5f504152414d4554" . + "45525f56414c55451029122d0a29524544554e44414e545f4e4553544544" . + "5f55524c5f435553544f4d5f504152414d455445525f544147102a12140a" . + "104d495353494e475f50524f544f434f4c102b12140a10494e56414c4944" . + "5f50524f544f434f4c1034120f0a0b494e56414c49445f55524c102c121e" . + "0a1a44455354494e4154494f4e5f55524c5f44455052454341544544102d" . + "12160a12494e56414c49445f5441475f494e5f55524c102e12130a0f4d49" . + "5353494e475f55524c5f544147102f12140a104455504c49434154455f55" . + "524c5f4944103012120a0e494e56414c49445f55524c5f49441031121e0a" . + "1a46494e414c5f55524c5f5355464649585f4d414c464f524d4544103212" . + "230a1f494e56414c49445f5441475f494e5f46494e414c5f55524c5f5355" . + "464649581033121c0a18494e56414c49445f544f505f4c4556454c5f444f" . + "4d41494e1035121e0a1a4d414c464f524d45445f544f505f4c4556454c5f" . + "444f4d41494e103612110a0d4d414c464f524d45445f55524c103712100a" . + "0c4d495353494e475f484f53541038121f0a1b4e554c4c5f435553544f4d" . + "5f504152414d455445525f56414c5545103942ed010a22636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e6572726f7273421255" . + "726c4669656c644572726f7250726f746f50015a44676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f6572726f72733b6572726f7273a2" . + "0203474141aa021e476f6f676c652e4164732e476f6f676c654164732e56" . + "322e4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164" . + "735c56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/UserListError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/UserListError.php new file mode 100644 index 000000000..f461f94e2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/UserListError.php @@ -0,0 +1,69 @@ +internalAddGeneratedFile(hex2bin( + "0abd0a0a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f757365725f6c6973745f6572726f722e70726f746f121e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f727322" . + "ec070a11557365724c6973744572726f72456e756d22d6070a0d55736572" . + "4c6973744572726f72120f0a0b554e5350454349464945441000120b0a07" . + "554e4b4e4f574e100112370a3345585445524e414c5f52454d41524b4554" . + "494e475f555345525f4c4953545f4d55544154455f4e4f545f535550504f" . + "525445441002121a0a16434f4e43524554455f545950455f524551554952" . + "45441003121f0a1b434f4e56455253494f4e5f545950455f49445f524551" . + "55495245441004121e0a1a4455504c49434154455f434f4e56455253494f" . + "4e5f54595045531005121b0a17494e56414c49445f434f4e56455253494f" . + "4e5f54595045100612170a13494e56414c49445f4445534352495054494f" . + "4e100712100a0c494e56414c49445f4e414d45100812100a0c494e56414c" . + "49445f54595045100912340a3043414e5f4e4f545f4144445f4c4f474943" . + "414c5f4c4953545f41535f4c4f474943414c5f4c4953545f4f504552414e" . + "44100a122a0a26494e56414c49445f555345525f4c4953545f4c4f474943" . + "414c5f52554c455f4f504552414e44100b12150a114e414d455f414c5245" . + "4144595f55534544100c12250a214e45575f434f4e56455253494f4e5f54" . + "5950455f4e414d455f5245515549524544100d12250a21434f4e56455253" . + "494f4e5f545950455f4e414d455f414c52454144595f55534544100e121e" . + "0a1a4f574e4552534849505f52455155495245445f464f525f534554100f" . + "12220a1e555345525f4c4953545f4d55544154455f4e4f545f535550504f" . + "52544544101012100a0c494e56414c49445f52554c45101112160a12494e" . + "56414c49445f444154455f52414e4745101b12250a2143414e5f4e4f545f" . + "4d55544154455f53454e5349544956455f555345524c495354101c121f0a" . + "1b4d41585f4e554d5f52554c4542415345445f555345524c49535453101d" . + "12270a2343414e4e4f545f4d4f444946595f42494c4c41424c455f524543" . + "4f52445f434f554e54101e12120a0e4150505f49445f4e4f545f53455410" . + "1f122d0a29555345524c4953545f4e414d455f49535f5245534552564544" . + "5f464f525f53595354454d5f4c495354102012360a324144564552544953" . + "45525f4e4f545f57484954454c49535445445f464f525f5553494e475f55" . + "504c4f414445445f444154411021121e0a1a52554c455f545950455f4953" . + "5f4e4f545f535550504f525445441022123a0a3643414e5f4e4f545f4144" . + "445f415f53494d494c41525f555345524c4953545f41535f4c4f47494341" . + "4c5f4c4953545f4f504552414e441023123a0a3643414e5f4e4f545f4d49" . + "585f43524d5f42415345445f494e5f4c4f474943414c5f4c4953545f5749" . + "54485f4f544845525f4c49535453102442ed010a22636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e6572726f72734212557365" . + "724c6973744572726f7250726f746f50015a44676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f6572726f72733b6572726f7273a20203" . + "474141aa021e476f6f676c652e4164732e476f6f676c654164732e56322e" . + "4572726f7273ca021e476f6f676c655c4164735c476f6f676c654164735c" . + "56325c4572726f7273ea0222476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a4572726f7273620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationError.php b/metadata/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationError.php new file mode 100644 index 000000000..8ab6e409c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationError.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0a83040a45676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "72726f72732f796f75747562655f766964656f5f72656769737472617469" . + "6f6e5f6572726f722e70726f746f121e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e6572726f72732291010a21596f75747562655669" . + "64656f526567697374726174696f6e4572726f72456e756d226c0a1d596f" . + "7574756265566964656f526567697374726174696f6e4572726f72120f0a" . + "0b554e5350454349464945441000120b0a07554e4b4e4f574e100112130a" . + "0f564944454f5f4e4f545f464f554e44100212180a14564944454f5f4e4f" . + "545f41434345535349424c45100342fd010a22636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e6572726f72734222596f757475" . + "6265566964656f526567697374726174696f6e4572726f7250726f746f50" . + "015a44676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f6572" . + "726f72733b6572726f7273a20203474141aa021e476f6f676c652e416473" . + "2e476f6f676c654164732e56322e4572726f7273ca021e476f6f676c655c" . + "4164735c476f6f676c654164735c56325c4572726f7273ea0222476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a4572726f7273" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudget.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudget.php new file mode 100644 index 000000000..e010a1e41 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudget.php @@ -0,0 +1,133 @@ +internalAddGeneratedFile(hex2bin( + "0a91180a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6163636f756e745f6275646765742e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a39676f6f676c652f6164732f676f6f676c656164732f76322f" . + "656e756d732f6163636f756e745f6275646765745f7374617475732e7072" . + "6f746f1a37676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f7370656e64696e675f6c696d69745f747970652e70726f746f" . + "1a2d676f6f676c652f6164732f676f6f676c656164732f76322f656e756d" . + "732f74696d655f747970652e70726f746f1a1e676f6f676c652f70726f74" . + "6f6275662f77726170706572732e70726f746f1a1c676f6f676c652f6170" . + "692f616e6e6f746174696f6e732e70726f746f22c8130a0d4163636f756e" . + "7442756467657412150a0d7265736f757263655f6e616d65180120012809" . + "12270a02696418022001280b321b2e676f6f676c652e70726f746f627566" . + "2e496e74363456616c756512330a0d62696c6c696e675f73657475701803" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c7565125a0a0673746174757318042001280e324a2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e4163636f756e74" . + "427564676574537461747573456e756d2e4163636f756e74427564676574" . + "537461747573122a0a046e616d6518052001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c7565123e0a1870726f706f73" . + "65645f73746172745f646174655f74696d6518062001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565123e0a186170" . + "70726f7665645f73746172745f646174655f74696d6518072001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c7565123d" . + "0a18746f74616c5f61646a7573746d656e74735f6d6963726f7318122001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6512390a14616d6f756e745f7365727665645f6d6963726f731813200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "123b0a1570757263686173655f6f726465725f6e756d6265721814200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65122b0a056e6f74657318152001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512670a1070656e64696e675f7072" . + "6f706f73616c18162001280b324d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e4163636f756e7442756467" . + "65742e50656e64696e674163636f756e7442756467657450726f706f7361" . + "6c123e0a1670726f706f7365645f656e645f646174655f74696d65180820" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565480012560a1670726f706f7365645f656e645f74696d655f747970" . + "6518092001280e32342e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e54696d6554797065456e756d2e54696d65547970" . + "654800123e0a16617070726f7665645f656e645f646174655f74696d6518" . + "0a2001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565480112560a16617070726f7665645f656e645f74696d655f74" . + "797065180b2001280e32342e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e54696d6554797065456e756d2e54696d6554" . + "797065480112450a1e70726f706f7365645f7370656e64696e675f6c696d" . + "69745f6d6963726f73180c2001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c75654802126e0a1c70726f706f7365645f73" . + "70656e64696e675f6c696d69745f74797065180d2001280e32462e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e537065" . + "6e64696e674c696d697454797065456e756d2e5370656e64696e674c696d" . + "697454797065480212450a1e617070726f7665645f7370656e64696e675f" . + "6c696d69745f6d6963726f73180e2001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c75654803126e0a1c617070726f7665" . + "645f7370656e64696e675f6c696d69745f74797065180f2001280e32462e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "5370656e64696e674c696d697454797065456e756d2e5370656e64696e67" . + "4c696d697454797065480312450a1e61646a75737465645f7370656e6469" . + "6e675f6c696d69745f6d6963726f7318102001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c75654804126e0a1c61646a75" . + "737465645f7370656e64696e675f6c696d69745f7479706518112001280e" . + "32462e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732e5370656e64696e674c696d697454797065456e756d2e5370656e64" . + "696e674c696d69745479706548041a9c060a1c50656e64696e674163636f" . + "756e7442756467657450726f706f73616c123d0a176163636f756e745f62" . + "75646765745f70726f706f73616c18012001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c7565126d0a0d70726f706f73" . + "616c5f7479706518022001280e32562e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e4163636f756e7442756467657450" . + "726f706f73616c54797065456e756d2e4163636f756e7442756467657450" . + "726f706f73616c54797065122a0a046e616d6518032001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512350a0f73" . + "746172745f646174655f74696d6518042001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c7565123b0a15707572636861" . + "73655f6f726465725f6e756d62657218092001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565122b0a056e6f746573" . + "180a2001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c756512380a126372656174696f6e5f646174655f74696d65180b" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512350a0d656e645f646174655f74696d6518052001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c7565480012" . + "4d0a0d656e645f74696d655f7479706518062001280e32342e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e54696d6554" . + "797065456e756d2e54696d65547970654800123c0a157370656e64696e67" . + "5f6c696d69745f6d6963726f7318072001280b321b2e676f6f676c652e70" . + "726f746f6275662e496e74363456616c7565480112650a137370656e6469" . + "6e675f6c696d69745f7479706518082001280e32462e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e5370656e64696e67" . + "4c696d697454797065456e756d2e5370656e64696e674c696d6974547970" . + "654801420a0a08656e645f74696d6542100a0e7370656e64696e675f6c69" . + "6d697442130a1170726f706f7365645f656e645f74696d6542130a116170" . + "70726f7665645f656e645f74696d6542190a1770726f706f7365645f7370" . + "656e64696e675f6c696d697442190a17617070726f7665645f7370656e64" . + "696e675f6c696d697442190a1761646a75737465645f7370656e64696e67" . + "5f6c696d697442ff010a25636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f757263657342124163636f756e74427564" . + "67657450726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php new file mode 100644 index 000000000..24cfd63ff --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php @@ -0,0 +1,107 @@ +internalAddGeneratedFile(hex2bin( + "0a94120a3f676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6163636f756e745f6275646765745f70726f706f73" . + "616c2e70726f746f1221676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365731a40676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f656e756d732f6163636f756e745f6275646765745f" . + "70726f706f73616c5f747970652e70726f746f1a37676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f7370656e64696e675f" . + "6c696d69745f747970652e70726f746f1a2d676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f74696d655f747970652e7072" . + "6f746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22b30d0a154163636f756e7442756467657450726f706f7361" . + "6c12150a0d7265736f757263655f6e616d6518012001280912270a026964" . + "180e2001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c756512330a0d62696c6c696e675f736574757018022001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651234" . + "0a0e6163636f756e745f62756467657418032001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c7565126d0a0d70726f70" . + "6f73616c5f7479706518042001280e32562e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d732e4163636f756e744275646765" . + "7450726f706f73616c54797065456e756d2e4163636f756e744275646765" . + "7450726f706f73616c54797065126a0a06737461747573180f2001280e32" . + "5a2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e4163636f756e7442756467657450726f706f73616c53746174757345" . + "6e756d2e4163636f756e7442756467657450726f706f73616c5374617475" . + "7312330a0d70726f706f7365645f6e616d6518052001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565123e0a186170" . + "70726f7665645f73746172745f646174655f74696d6518142001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651244" . + "0a1e70726f706f7365645f70757263686173655f6f726465725f6e756d62" . + "6572180c2001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512340a0e70726f706f7365645f6e6f746573180d2001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512380a126372656174696f6e5f646174655f74696d6518102001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12380a12617070726f76616c5f646174655f74696d6518112001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651240" . + "0a1870726f706f7365645f73746172745f646174655f74696d6518122001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565480012580a1870726f706f7365645f73746172745f74696d655f7479" . + "706518072001280e32342e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d732e54696d6554797065456e756d2e54696d655479" . + "70654800123e0a1670726f706f7365645f656e645f646174655f74696d65" . + "18132001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565480112560a1670726f706f7365645f656e645f74696d655f" . + "7479706518092001280e32342e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e54696d6554797065456e756d2e54696d65" . + "547970654801123e0a16617070726f7665645f656e645f646174655f7469" . + "6d6518152001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c7565480212560a16617070726f7665645f656e645f74696d" . + "655f7479706518162001280e32342e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e54696d6554797065456e756d2e5469" . + "6d6554797065480212450a1e70726f706f7365645f7370656e64696e675f" . + "6c696d69745f6d6963726f73180a2001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c75654803126e0a1c70726f706f7365" . + "645f7370656e64696e675f6c696d69745f74797065180b2001280e32462e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "5370656e64696e674c696d697454797065456e756d2e5370656e64696e67" . + "4c696d697454797065480312450a1e617070726f7665645f7370656e6469" . + "6e675f6c696d69745f6d6963726f7318172001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c75654804126e0a1c61707072" . + "6f7665645f7370656e64696e675f6c696d69745f7479706518182001280e" . + "32462e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732e5370656e64696e674c696d697454797065456e756d2e5370656e64" . + "696e674c696d697454797065480442150a1370726f706f7365645f737461" . + "72745f74696d6542130a1170726f706f7365645f656e645f74696d654213" . + "0a11617070726f7665645f656e645f74696d6542190a1770726f706f7365" . + "645f7370656e64696e675f6c696d697442190a17617070726f7665645f73" . + "70656e64696e675f6c696d69744287020a25636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f7572636573421a416363" . + "6f756e7442756467657450726f706f73616c50726f746f50015a4a676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7265736f75726365" . + "733b7265736f7572636573a20203474141aa0221476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5265736f7572636573ea" . + "0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Ad.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Ad.php new file mode 100644 index 000000000..cb0ddc359 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Ad.php @@ -0,0 +1,134 @@ +internalAddGeneratedFile(hex2bin( + "0aec170a2a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61642e70726f746f1221676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365731a35676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f636f6d6d6f6e2f637573746f" . + "6d5f706172616d657465722e70726f746f1a32676f6f676c652f6164732f" . + "676f6f676c656164732f76322f636f6d6d6f6e2f66696e616c5f6170705f" . + "75726c2e70726f746f1a33676f6f676c652f6164732f676f6f676c656164" . + "732f76322f636f6d6d6f6e2f75726c5f636f6c6c656374696f6e2e70726f" . + "746f1a2b676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f61645f747970652e70726f746f1a2a676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f6465766963652e70726f74" . + "6f1a40676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f73797374656d5f6d616e616765645f656e746974795f736f757263" . + "652e70726f746f1a1e676f6f676c652f70726f746f6275662f7772617070" . + "6572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f22a2120a02416412150a0d7265736f757263655f6e" . + "616d6518252001280912270a02696418012001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512300a0a66696e616c5f" . + "75726c7318022003280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512430a0e66696e616c5f6170705f75726c731823" . + "2003280b322b2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e46696e616c41707055726c12370a1166696e616c5f6d" . + "6f62696c655f75726c7318102003280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565123b0a15747261636b696e675f75" . + "726c5f74656d706c617465180c2001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565124e0a1575726c5f637573746f" . + "6d5f706172616d6574657273180a2003280b322f2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e636f6d6d6f6e2e437573746f6d5061" . + "72616d6574657212310a0b646973706c61795f75726c18042001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c7565123e" . + "0a047479706518052001280e32302e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e416454797065456e756d2e41645479" . + "706512370a1361646465645f62795f676f6f676c655f6164731813200128" . + "0b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c756512" . + "4b0a116465766963655f707265666572656e636518142001280e32302e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e44" . + "6576696365456e756d2e44657669636512460a0f75726c5f636f6c6c6563" . + "74696f6e73181a2003280b322d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e55726c436f6c6c656374696f6e122a" . + "0a046e616d6518172001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c75651282010a1e73797374656d5f6d616e616765" . + "645f7265736f757263655f736f75726365181b2001280e325a2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e53797374" . + "656d4d616e616765645265736f75726365536f75726365456e756d2e5379" . + "7374656d4d616e616765645265736f75726365536f75726365123d0a0774" . + "6578745f616418062001280b322a2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e546578744164496e666f4800124e" . + "0a10657870616e6465645f746578745f616418072001280b32322e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4578" . + "70616e646564546578744164496e666f480012460a0c63616c6c5f6f6e6c" . + "795f6164180d2001280b322e2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e43616c6c4f6e6c794164496e666f4800" . + "12610a1a657870616e6465645f64796e616d69635f7365617263685f6164" . + "180e2001280b323b2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e457870616e64656444796e616d69635365617263" . + "684164496e666f4800123f0a08686f74656c5f6164180f2001280b322b2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e486f74656c4164496e666f480012500a1173686f7070696e675f736d61" . + "72745f616418112001280b32332e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e53686f7070696e67536d6172744164" . + "496e666f480012540a1373686f7070696e675f70726f647563745f616418" . + "122001280b32352e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e53686f7070696e6750726f647563744164496e666f" . + "4800123f0a08676d61696c5f616418152001280b322b2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e476d61696c41" . + "64496e666f4800123f0a08696d6167655f616418162001280b322b2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e49" . + "6d6167654164496e666f4800123f0a08766964656f5f616418182001280b" . + "322b2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e566964656f4164496e666f480012560a14726573706f6e736976" . + "655f7365617263685f616418192001280b32362e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e526573706f6e736976" . + "655365617263684164496e666f480012650a1c6c65676163795f72657370" . + "6f6e736976655f646973706c61795f6164181c2001280b323d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4c6567" . + "616379526573706f6e73697665446973706c61794164496e666f4800123b" . + "0a066170705f6164181d2001280b32292e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e4170704164496e666f480012" . + "570a156c65676163795f6170705f696e7374616c6c5f6164181e2001280b" . + "32362e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e4c6567616379417070496e7374616c6c4164496e666f48001258" . + "0a15726573706f6e736976655f646973706c61795f6164181f2001280b32" . + "372e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e526573706f6e73697665446973706c61794164496e666f48001250" . + "0a11646973706c61795f75706c6f61645f616418212001280b32332e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e44" . + "6973706c617955706c6f61644164496e666f480012500a116170705f656e" . + "676167656d656e745f616418222001280b32332e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e417070456e67616765" . + "6d656e744164496e666f480012690a1e73686f7070696e675f636f6d7061" . + "7269736f6e5f6c697374696e675f616418242001280b323f2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e53686f70" . + "70696e67436f6d70617269736f6e4c697374696e674164496e666f480042" . + "090a0761645f6461746142f4010a25636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365734207416450726f74" . + "6f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "7265736f75726365733b7265736f7572636573a20203474141aa0221476f" . + "6f676c652e4164732e476f6f676c654164732e56322e5265736f75726365" . + "73ca0221476f6f676c655c4164735c476f6f676c654164735c56325c5265" . + "736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroup.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroup.php new file mode 100644 index 000000000..411aef3ab --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroup.php @@ -0,0 +1,118 @@ +internalAddGeneratedFile(hex2bin( + "0aea130a30676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75702e70726f746f1221676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365731a44" . + "676f6f676c652f6164732f676f6f676c656164732f76322f636f6d6d6f6e" . + "2f6578706c6f7265725f6175746f5f6f7074696d697a65725f7365747469" . + "6e672e70726f746f1a36676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f636f6d6d6f6e2f746172676574696e675f73657474696e672e70" . + "726f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f" . + "656e756d732f61645f67726f75705f61645f726f746174696f6e5f6d6f64" . + "652e70726f746f1a33676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f61645f67726f75705f7374617475732e70726f746f" . + "1a31676f6f676c652f6164732f676f6f676c656164732f76322f656e756d" . + "732f61645f67726f75705f747970652e70726f746f1a32676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f62696464696e67" . + "5f736f757263652e70726f746f1a37676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f656e756d732f746172676574696e675f64696d656e" . + "73696f6e2e70726f746f1a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f22be0d0a07416447726f757012150a0d7265" . + "736f757263655f6e616d6518012001280912270a02696418032001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c7565122a" . + "0a046e616d6518042001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c7565124e0a0673746174757318052001280e323e" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e416447726f7570537461747573456e756d2e416447726f757053746174" . + "757312480a0474797065180c2001280e323a2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e416447726f757054797065" . + "456e756d2e416447726f75705479706512680a1061645f726f746174696f" . + "6e5f6d6f646518162001280e324e2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e416447726f75704164526f74617469" . + "6f6e4d6f6465456e756d2e416447726f75704164526f746174696f6e4d6f" . + "646512330a0d626173655f61645f67726f757018122001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565123b0a1574" . + "7261636b696e675f75726c5f74656d706c617465180d2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c7565124e0a15" . + "75726c5f637573746f6d5f706172616d657465727318062003280b322f2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e437573746f6d506172616d65746572122e0a0863616d706169676e180a" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512330a0e6370635f6269645f6d6963726f73180e2001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c756512330a" . + "0e63706d5f6269645f6d6963726f73180f2001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512360a11746172676574" . + "5f6370615f6d6963726f73181b2001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c756512330a0e6370765f6269645f6d69" . + "63726f7318112001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512360a117461726765745f63706d5f6d6963726f73" . + "181a2001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c756512310a0b7461726765745f726f6173181e2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e446f75626c6556616c7565123b0a16" . + "70657263656e745f6370635f6269645f6d6963726f7318142001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c756512650a" . + "1f6578706c6f7265725f6175746f5f6f7074696d697a65725f7365747469" . + "6e6718152001280b323c2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e2e4578706c6f7265724175746f4f7074696d69" . + "7a657253657474696e67126e0a1c646973706c61795f637573746f6d5f62" . + "69645f64696d656e73696f6e18172001280e32482e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d732e546172676574696e67" . + "44696d656e73696f6e456e756d2e546172676574696e6744696d656e7369" . + "6f6e12360a1066696e616c5f75726c5f73756666697818182001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c7565124b" . + "0a11746172676574696e675f73657474696e6718192001280b32302e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e54" . + "6172676574696e6753657474696e6712400a1b6566666563746976655f74" . + "61726765745f6370615f6d6963726f73181c2001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c756512630a1b6566666563" . + "746976655f7461726765745f6370615f736f75726365181d2001280e323e" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e42696464696e67536f75726365456e756d2e42696464696e67536f7572" . + "6365123b0a156566666563746976655f7461726765745f726f6173181f20" . + "01280b321c2e676f6f676c652e70726f746f6275662e446f75626c655661" . + "6c756512640a1c6566666563746976655f7461726765745f726f61735f73" . + "6f7572636518202001280e323e2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e42696464696e67536f75726365456e75" . + "6d2e42696464696e67536f75726365122c0a066c6162656c731821200328" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6542f9010a25636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f7572636573420c416447726f757050726f746f50015a" . + "4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f7265736f" . + "75726365733b7265736f7572636573a20203474141aa0221476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5265736f7572636573ca0221" . + "476f6f676c655c4164735c476f6f676c654164735c56325c5265736f7572" . + "636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php new file mode 100644 index 000000000..273ec0cd3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php @@ -0,0 +1,77 @@ +internalAddGeneratedFile(hex2bin( + "0ad80a0a33676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f61642e70726f746f1221676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "731a36676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f61645f67726f75705f61645f7374617475732e70726f746f1a2f67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f61" . + "645f737472656e6774682e70726f746f1a3a676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f706f6c6963795f617070726f" . + "76616c5f7374617475732e70726f746f1a38676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f706f6c6963795f7265766965" . + "775f7374617475732e70726f746f1a2a676f6f676c652f6164732f676f6f" . + "676c656164732f76322f7265736f75726365732f61642e70726f746f1a1e" . + "676f6f676c652f70726f746f6275662f77726170706572732e70726f746f" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "22fb020a09416447726f7570416412150a0d7265736f757263655f6e616d" . + "6518012001280912520a0673746174757318032001280e32422e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e41644772" . + "6f75704164537461747573456e756d2e416447726f757041645374617475" . + "73122e0a0861645f67726f757018042001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512310a0261641805200128" . + "0b32252e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e416412510a0e706f6c6963795f73756d6d6172791806" . + "2001280b32392e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e416447726f75704164506f6c69637953756d6d" . + "617279124d0a0b61645f737472656e67746818072001280e32382e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e416453" . + "7472656e677468456e756d2e4164537472656e67746822b0020a16416447" . + "726f75704164506f6c69637953756d6d617279124e0a14706f6c6963795f" . + "746f7069635f656e747269657318012003280b32302e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c69637954" . + "6f706963456e747279125f0a0d7265766965775f73746174757318022001" . + "280e32482e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e506f6c696379526576696577537461747573456e756d2e506f" . + "6c69637952657669657753746174757312650a0f617070726f76616c5f73" . + "746174757318032001280e324c2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e506f6c696379417070726f76616c5374" . + "61747573456e756d2e506f6c696379417070726f76616c53746174757342" . + "fb010a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f7572636573420e416447726f7570416450726f746f50015a" . + "4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f7265736f" . + "75726365733b7265736f7572636573a20203474141aa0221476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5265736f7572636573ca0221" . + "476f6f676c655c4164735c476f6f676c654164735c56325c5265736f7572" . + "636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php new file mode 100644 index 000000000..bf4cda278 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php @@ -0,0 +1,77 @@ +internalAddGeneratedFile(hex2bin( + "0af80a0a3e676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f61645f61737365745f766965" . + "772e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365731a34676f6f676c652f6164732f676f6f676c" . + "656164732f76322f656e756d732f61737365745f6669656c645f74797065" . + "2e70726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f61737365745f706572666f726d616e63655f6c616265" . + "6c2e70726f746f1a3a676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f706f6c6963795f617070726f76616c5f7374617475" . + "732e70726f746f1a38676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f706f6c6963795f7265766965775f7374617475732e" . + "70726f746f1a1e676f6f676c652f70726f746f6275662f77726170706572" . + "732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f22a4030a12416447726f75704164417373657456696577" . + "12150a0d7265736f757263655f6e616d6518012001280912310a0b61645f" . + "67726f75705f616418052001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565122b0a05617373657418062001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "540a0a6669656c645f7479706518022001280e32402e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e4173736574466965" . + "6c6454797065456e756d2e41737365744669656c645479706512560a0e70" . + "6f6c6963795f73756d6d61727918032001280b323e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e41644772" . + "6f757041644173736574506f6c69637953756d6d61727912690a11706572" . + "666f726d616e63655f6c6162656c18042001280e324e2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e41737365745065" . + "72666f726d616e63654c6162656c456e756d2e4173736574506572666f72" . + "6d616e63654c6162656c22b5020a1b416447726f75704164417373657450" . + "6f6c69637953756d6d617279124e0a14706f6c6963795f746f7069635f65" . + "6e747269657318012003280b32302e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e506f6c696379546f706963456e74" . + "7279125f0a0d7265766965775f73746174757318022001280e32482e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e506f" . + "6c696379526576696577537461747573456e756d2e506f6c696379526576" . + "69657753746174757312650a0f617070726f76616c5f7374617475731803" . + "2001280e324c2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d732e506f6c696379417070726f76616c537461747573456e75" . + "6d2e506f6c696379417070726f76616c5374617475734284020a25636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365734217416447726f7570416441737365745669657750726f746f50" . + "015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f7265" . + "736f75726365733b7265736f7572636573a20203474141aa0221476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e5265736f7572636573ca" . + "0221476f6f676c655c4164735c476f6f676c654164735c56325c5265736f" . + "7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php new file mode 100644 index 000000000..1e0998c55 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a91040a39676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f61645f6c6162656c2e70726f" . + "746f1221676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f2287010a0e416447726f757041644c6162656c12150a0d" . + "7265736f757263655f6e616d6518012001280912310a0b61645f67726f75" . + "705f616418022001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c7565122b0a056c6162656c18032001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c75654280020a25" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365734213416447726f757041644c6162656c50726f746f5001" . + "5a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f726573" . + "6f75726365733b7265736f7572636573a20203474141aa0221476f6f676c" . + "652e4164732e476f6f676c654164732e56322e5265736f7572636573ca02" . + "21476f6f676c655c4164735c476f6f676c654164735c56325c5265736f75" . + "72636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php new file mode 100644 index 000000000..f9d9655a9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0aa1030a3e676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f61756469656e63655f766965" . + "772e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f7572636573222c0a13416447726f757041756469656e63" . + "655669657712150a0d7265736f757263655f6e616d651801200128094285" . + "020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365734218416447726f757041756469656e6365566965" . + "7750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f7265736f75726365733b7265736f7572636573a20203474141" . + "aa0221476f6f676c652e4164732e476f6f676c654164732e56322e526573" . + "6f7572636573ca0221476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php new file mode 100644 index 000000000..6010e113a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php @@ -0,0 +1,73 @@ +internalAddGeneratedFile(hex2bin( + "0ad70a0a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f6269645f6d6f646966696572" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a37676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f656e756d732f6269645f6d6f6469666965725f736f7572" . + "63652e70726f746f1a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22ec060a12416447726f75704269644d6f646966" . + "69657212150a0d7265736f757263655f6e616d65180120012809122e0a08" . + "61645f67726f757018022001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c756512310a0c637269746572696f6e5f6964" . + "18032001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c756512320a0c6269645f6d6f64696669657218042001280b321c2e" . + "676f6f676c652e70726f746f6275662e446f75626c6556616c756512330a" . + "0d626173655f61645f67726f757018092001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512630a136269645f6d6f" . + "6469666965725f736f75726365180a2001280e32462e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e4269644d6f646966" . + "696572536f75726365456e756d2e4269644d6f646966696572536f757263" . + "65125f0a19686f74656c5f646174655f73656c656374696f6e5f74797065" . + "18052001280b323a2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e486f74656c4461746553656c656374696f6e5479" . + "7065496e666f480012650a1c686f74656c5f616476616e63655f626f6f6b" . + "696e675f77696e646f7718062001280b323d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e486f74656c416476616e" . + "6365426f6f6b696e6757696e646f77496e666f480012550a14686f74656c" . + "5f6c656e6774685f6f665f7374617918072001280b32352e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e486f74656c" . + "4c656e6774684f6653746179496e666f480012510a12686f74656c5f6368" . + "65636b5f696e5f64617918082001280b32332e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e486f74656c436865636b" . + "496e446179496e666f4800123c0a06646576696365180b2001280b322a2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e446576696365496e666f480012510a117072656665727265645f636f6e" . + "74656e74180c2001280b32342e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e507265666572726564436f6e74656e74" . + "496e666f4800420b0a09637269746572696f6e4284020a25636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "734217416447726f75704269644d6f64696669657250726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php new file mode 100644 index 000000000..435395231 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php @@ -0,0 +1,199 @@ +internalAddGeneratedFile(hex2bin( + "0ae3260a3a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f637269746572696f6e2e7072" . + "6f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365731a35676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f636f6d6d6f6e2f637573746f6d5f706172616d657465722e7072" . + "6f746f1a46676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f61645f67726f75705f637269746572696f6e5f617070726f76" . + "616c5f7374617475732e70726f746f1a3d676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f61645f67726f75705f63726974" . + "6572696f6e5f7374617475732e70726f746f1a32676f6f676c652f616473" . + "2f676f6f676c656164732f76322f656e756d732f62696464696e675f736f" . + "757263652e70726f746f1a43676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f656e756d732f637269746572696f6e5f73797374656d5f73" . + "657276696e675f7374617475732e70726f746f1a32676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f637269746572696f6e" . + "5f747970652e70726f746f1a38676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f656e756d732f7175616c6974795f73636f72655f627563" . + "6b65742e70726f746f1a1e676f6f676c652f70726f746f6275662f777261" . + "70706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f2291200a10416447726f757043726974657269" . + "6f6e12150a0d7265736f757263655f6e616d6518012001280912310a0c63" . + "7269746572696f6e5f6964181a2001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c756512600a0673746174757318032001" . + "280e32502e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e416447726f7570437269746572696f6e537461747573456e75" . + "6d2e416447726f7570437269746572696f6e53746174757312550a0c7175" . + "616c6974795f696e666f18042001280b323f2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e416447726f7570" . + "437269746572696f6e2e5175616c697479496e666f122e0a0861645f6772" . + "6f757018052001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c7565124c0a047479706518192001280e323e2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e43726974" . + "6572696f6e54797065456e756d2e437269746572696f6e54797065122c0a" . + "086e65676174697665181f2001280b321a2e676f6f676c652e70726f746f" . + "6275662e426f6f6c56616c7565127b0a1573797374656d5f73657276696e" . + "675f73746174757318342001280e325c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e437269746572696f6e53797374" . + "656d53657276696e67537461747573456e756d2e437269746572696f6e53" . + "797374656d53657276696e6753746174757312790a0f617070726f76616c" . + "5f73746174757318352001280e32602e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e416447726f757043726974657269" . + "6f6e417070726f76616c537461747573456e756d2e416447726f75704372" . + "69746572696f6e417070726f76616c53746174757312320a0c6269645f6d" . + "6f646966696572182c2001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c756512330a0e6370635f6269645f6d6963726f" . + "7318102001280b321b2e676f6f676c652e70726f746f6275662e496e7436" . + "3456616c756512330a0e63706d5f6269645f6d6963726f7318112001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756512" . + "330a0e6370765f6269645f6d6963726f7318182001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565123b0a1670657263" . + "656e745f6370635f6269645f6d6963726f7318212001280b321b2e676f6f" . + "676c652e70726f746f6275662e496e74363456616c7565123d0a18656666" . + "6563746976655f6370635f6269645f6d6963726f7318122001280b321b2e" . + "676f6f676c652e70726f746f6275662e496e74363456616c7565123d0a18" . + "6566666563746976655f63706d5f6269645f6d6963726f7318132001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756512" . + "3d0a186566666563746976655f6370765f6269645f6d6963726f73181420" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "756512450a206566666563746976655f70657263656e745f6370635f6269" . + "645f6d6963726f7318222001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c756512600a186566666563746976655f637063" . + "5f6269645f736f7572636518152001280e323e2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e42696464696e67536f75" . + "726365456e756d2e42696464696e67536f7572636512600a186566666563" . + "746976655f63706d5f6269645f736f7572636518162001280e323e2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e4269" . + "6464696e67536f75726365456e756d2e42696464696e67536f7572636512" . + "600a186566666563746976655f6370765f6269645f736f75726365181720" . + "01280e323e2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e42696464696e67536f75726365456e756d2e42696464696e" . + "67536f7572636512680a206566666563746976655f70657263656e745f63" . + "70635f6269645f736f7572636518232001280e323e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e42696464696e6753" . + "6f75726365456e756d2e42696464696e67536f7572636512610a12706f73" . + "6974696f6e5f657374696d61746573180a2001280b32452e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4164" . + "47726f7570437269746572696f6e2e506f736974696f6e457374696d6174" . + "657312300a0a66696e616c5f75726c73180b2003280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512370a1166696e61" . + "6c5f6d6f62696c655f75726c7318332003280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512360a1066696e616c5f75" . + "726c5f73756666697818322001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c7565123b0a15747261636b696e675f7572" . + "6c5f74656d706c617465180d2001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565124e0a1575726c5f637573746f6d" . + "5f706172616d6574657273180e2003280b322f2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e437573746f6d506172" . + "616d65746572123e0a076b6579776f7264181b2001280b322b2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4b6579" . + "776f7264496e666f480012420a09706c6163656d656e74181c2001280b32" . + "2d2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e506c6163656d656e74496e666f480012540a136d6f62696c655f61" . + "70705f63617465676f7279181d2001280b32352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e4d6f62696c65417070" . + "43617465676f7279496e666f480012530a126d6f62696c655f6170706c69" . + "636174696f6e181e2001280b32352e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e4d6f62696c654170706c69636174" . + "696f6e496e666f480012490a0d6c697374696e675f67726f757018202001" . + "280b32302e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e4c697374696e6747726f7570496e666f480012410a096167" . + "655f72616e676518242001280b322c2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e2e41676552616e6765496e666f48" . + "00123c0a0667656e64657218252001280b322a2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e47656e646572496e66" . + "6f480012470a0c696e636f6d655f72616e676518262001280b322f2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e49" . + "6e636f6d6552616e6765496e666f4800124d0a0f706172656e74616c5f73" . + "746174757318272001280b32322e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e506172656e74616c53746174757349" . + "6e666f480012410a09757365725f6c697374182a2001280b322c2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e5573" . + "65724c697374496e666f480012490a0d796f75747562655f766964656f18" . + "282001280b32302e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e596f7554756265566964656f496e666f4800124d0a" . + "0f796f75747562655f6368616e6e656c18292001280b32322e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e596f7554" . + "7562654368616e6e656c496e666f4800123a0a05746f706963182b200128" . + "0b32292e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e546f706963496e666f480012490a0d757365725f696e746572" . + "657374182d2001280b32302e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e55736572496e746572657374496e666f48" . + "00123e0a0777656270616765182e2001280b322b2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e636f6d6d6f6e2e5765627061676549" . + "6e666f480012500a116170705f7061796d656e745f6d6f64656c182f2001" . + "280b32332e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e4170705061796d656e744d6f64656c496e666f4800124d0a" . + "0f637573746f6d5f616666696e69747918302001280b32322e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e43757374" . + "6f6d416666696e697479496e666f480012490a0d637573746f6d5f696e74" . + "656e7418312001280b32302e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e437573746f6d496e74656e74496e666f48" . + "001aff020a0b5175616c697479496e666f12320a0d7175616c6974795f73" . + "636f726518012001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74333256616c756512680a1663726561746976655f7175616c6974795f" . + "73636f726518022001280e32482e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e5175616c69747953636f72654275636b" . + "6574456e756d2e5175616c69747953636f72654275636b6574126a0a1870" . + "6f73745f636c69636b5f7175616c6974795f73636f726518032001280e32" . + "482e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e5175616c69747953636f72654275636b6574456e756d2e5175616c69" . + "747953636f72654275636b657412660a147365617263685f707265646963" . + "7465645f63747218042001280e32482e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e5175616c69747953636f72654275" . + "636b6574456e756d2e5175616c69747953636f72654275636b65741aec02" . + "0a11506f736974696f6e457374696d61746573123a0a1566697273745f70" . + "6167655f6370635f6d6963726f7318012001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c7565123e0a1966697273745f70" . + "6f736974696f6e5f6370635f6d6963726f7318022001280b321b2e676f6f" . + "676c652e70726f746f6275662e496e74363456616c7565123b0a16746f70" . + "5f6f665f706167655f6370635f6d6963726f7318032001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c7565124f0a2a6573" . + "74696d617465645f6164645f636c69636b735f61745f66697273745f706f" . + "736974696f6e5f63706318042001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c7565124d0a28657374696d617465645f61" . + "64645f636f73745f61745f66697273745f706f736974696f6e5f63706318" . + "052001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c7565420b0a09637269746572696f6e4282020a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "15416447726f7570437269746572696f6e50726f746f50015a4a676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "3b7265736f7572636573a20203474141aa0221476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5265736f7572636573ca0221476f6f676c" . + "655c4164735c476f6f676c654164735c56325c5265736f7572636573ea02" . + "25476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a52" . + "65736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php new file mode 100644 index 000000000..6968d0e4b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0aad040a40676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f637269746572696f6e5f6c61" . + "62656c2e70726f746f1221676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365731a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f2295010a15416447726f757043726974" . + "6572696f6e4c6162656c12150a0d7265736f757263655f6e616d65180120" . + "01280912380a1261645f67726f75705f637269746572696f6e1802200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65122b0a056c6162656c18032001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c75654287020a25636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f7572636573421a" . + "416447726f7570437269746572696f6e4c6162656c50726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php new file mode 100644 index 000000000..6ac9c9e06 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php @@ -0,0 +1,66 @@ +internalAddGeneratedFile(hex2bin( + "0ae7080a45676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f637269746572696f6e5f7369" . + "6d756c6174696f6e2e70726f746f1221676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365731a42676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f73696d756c6174696f" . + "6e5f6d6f64696669636174696f6e5f6d6574686f642e70726f746f1a3367" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f73" . + "696d756c6174696f6e5f747970652e70726f746f1a1e676f6f676c652f70" . + "726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f22ac040a1a416447" . + "726f7570437269746572696f6e53696d756c6174696f6e12150a0d726573" . + "6f757263655f6e616d6518012001280912300a0b61645f67726f75705f69" . + "6418022001280b321b2e676f6f676c652e70726f746f6275662e496e7436" . + "3456616c756512310a0c637269746572696f6e5f696418032001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c7565124e0a" . + "047479706518042001280e32402e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e53696d756c6174696f6e54797065456e" . + "756d2e53696d756c6174696f6e5479706512790a136d6f64696669636174" . + "696f6e5f6d6574686f6418052001280e325c2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e53696d756c6174696f6e4d" . + "6f64696669636174696f6e4d6574686f64456e756d2e53696d756c617469" . + "6f6e4d6f64696669636174696f6e4d6574686f6412300a0a73746172745f" . + "6461746518062001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c7565122e0a08656e645f6461746518072001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651257" . + "0a126370635f6269645f706f696e745f6c69737418082001280b32392e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "43706342696453696d756c6174696f6e506f696e744c6973744800420c0a" . + "0a706f696e745f6c697374428c020a25636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f7572636573421f416447726f" . + "7570437269746572696f6e53696d756c6174696f6e50726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupExtensionSetting.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupExtensionSetting.php new file mode 100644 index 000000000..2aebf644c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupExtensionSetting.php @@ -0,0 +1,56 @@ +internalAddGeneratedFile(hex2bin( + "0ac6060a42676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f657874656e73696f6e5f7365" . + "7474696e672e70726f746f1221676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365731a32676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f657874656e73696f6e5f7479" . + "70652e70726f746f1a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22d6020a17416447726f7570457874656e73696f" . + "6e53657474696e6712150a0d7265736f757263655f6e616d651801200128" . + "0912560a0e657874656e73696f6e5f7479706518022001280e323e2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e4578" . + "74656e73696f6e54797065456e756d2e457874656e73696f6e5479706512" . + "2e0a0861645f67726f757018032001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565123a0a14657874656e73696f6e" . + "5f666565645f6974656d7318042003280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512600a06646576696365180520" . + "01280e32502e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e457874656e73696f6e53657474696e67446576696365456e" . + "756d2e457874656e73696f6e53657474696e674465766963654289020a25" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f7572636573421c416447726f7570457874656e73696f6e5365747469" . + "6e6750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f7265736f75726365733b7265736f7572636573a202034741" . + "41aa0221476f6f676c652e4164732e476f6f676c654164732e56322e5265" . + "736f7572636573ca0221476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5265736f7572636573620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php new file mode 100644 index 000000000..20bf20c2a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php @@ -0,0 +1,59 @@ +internalAddGeneratedFile(hex2bin( + "0a8d070a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f666565642e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6c696e6b5f7374617475732e70726f746f1a3467" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f70" . + "6c616365686f6c6465725f747970652e70726f746f1a1e676f6f676c652f" . + "70726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c" . + "652f6170692f616e6e6f746174696f6e732e70726f746f22fe020a0b4164" . + "47726f75704665656412150a0d7265736f757263655f6e616d6518012001" . + "2809122a0a046665656418022001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565122e0a0861645f67726f75701803" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c7565125d0a11706c616365686f6c6465725f74797065731804200328" . + "0e32422e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e506c616365686f6c64657254797065456e756d2e506c61636568" . + "6f6c64657254797065124b0a116d61746368696e675f66756e6374696f6e" . + "18052001280b32302e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e4d61746368696e6746756e6374696f6e12500a06" . + "73746174757318062001280e32402e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e466565644c696e6b53746174757345" . + "6e756d2e466565644c696e6b53746174757342fd010a25636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "4210416447726f75704665656450726f746f50015a4a676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f7265736f75726365733b726573" . + "6f7572636573a20203474141aa0221476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e5265736f7572636573ca0221476f6f676c655c4164" . + "735c476f6f676c654164735c56325c5265736f7572636573ea0225476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f75" . + "72636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php new file mode 100644 index 000000000..66fbcfcda --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a87040a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f6c6162656c2e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f2282010a0c416447726f75704c6162656c12150a0d7265736f75" . + "7263655f6e616d65180120012809122e0a0861645f67726f757018022001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565122b0a056c6162656c18032001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756542fe010a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "11416447726f75704c6162656c50726f746f50015a4a676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f7265736f75726365733b726573" . + "6f7572636573a20203474141aa0221476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e5265736f7572636573ca0221476f6f676c655c4164" . + "735c476f6f676c654164735c56325c5265736f7572636573ea0225476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f75" . + "72636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php new file mode 100644 index 000000000..70c849520 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php @@ -0,0 +1,70 @@ +internalAddGeneratedFile(hex2bin( + "0ad0090a3b676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f67726f75705f73696d756c6174696f6e2e70" . + "726f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365731a42676f6f676c652f6164732f676f6f676c656164" . + "732f76322f656e756d732f73696d756c6174696f6e5f6d6f646966696361" . + "74696f6e5f6d6574686f642e70726f746f1a33676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f73696d756c6174696f6e5f" . + "747970652e70726f746f1a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f22a8050a11416447726f757053696d756c61" . + "74696f6e12150a0d7265736f757263655f6e616d6518012001280912300a" . + "0b61645f67726f75705f696418022001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c7565124e0a04747970651803200128" . + "0e32402e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e53696d756c6174696f6e54797065456e756d2e53696d756c6174" . + "696f6e5479706512790a136d6f64696669636174696f6e5f6d6574686f64" . + "18042001280e325c2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e53696d756c6174696f6e4d6f64696669636174696f" . + "6e4d6574686f64456e756d2e53696d756c6174696f6e4d6f646966696361" . + "74696f6e4d6574686f6412300a0a73746172745f6461746518052001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "122e0a08656e645f6461746518062001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512570a126370635f6269645f" . + "706f696e745f6c69737418082001280b32392e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e43706342696453696d75" . + "6c6174696f6e506f696e744c697374480012570a126370765f6269645f70" . + "6f696e745f6c697374180a2001280b32392e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e43707642696453696d756c" . + "6174696f6e506f696e744c6973744800125d0a157461726765745f637061" . + "5f706f696e745f6c69737418092001280b323c2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e546172676574437061" . + "53696d756c6174696f6e506f696e744c6973744800420c0a0a706f696e74" . + "5f6c6973744283020a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365734216416447726f757053696d75" . + "6c6174696f6e50726f746f50015a4a676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f7265736f75726365733b7265736f7572636573a2" . + "0203474141aa0221476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5265736f7572636573ea0225476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a5265736f7572636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdParameter.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdParameter.php new file mode 100644 index 000000000..36ddf8aeb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdParameter.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0acc040a34676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f706172616d657465722e70726f746f122167" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f" . + "746f22ca010a0b4164506172616d6574657212150a0d7265736f75726365" . + "5f6e616d6518012001280912380a1261645f67726f75705f637269746572" . + "696f6e18022001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512340a0f706172616d657465725f696e6465781803" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c756512340a0e696e73657274696f6e5f7465787418042001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756542fd01" . + "0a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f757263657342104164506172616d6574657250726f746f50015a" . + "4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f7265736f" . + "75726365733b7265736f7572636573a20203474141aa0221476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5265736f7572636573ca0221" . + "476f6f676c655c4164735c476f6f676c654164735c56325c5265736f7572" . + "636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php new file mode 100644 index 000000000..a77549489 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a91030a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61645f7363686564756c655f766965772e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f757263657322270a0e41645363686564756c655669657712150a0d7265" . + "736f757263655f6e616d651801200128094280020a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "1341645363686564756c655669657750726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php new file mode 100644 index 000000000..9fefe25bc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a8b030a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6167655f72616e67655f766965772e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "7263657322250a0c41676552616e67655669657712150a0d7265736f7572" . + "63655f6e616d6518012001280942fe010a25636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365734211416765" . + "52616e67655669657750726f746f50015a4a676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f7265736f75726365733b7265736f757263" . + "6573a20203474141aa0221476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5265736f7572636573ea0225476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a5265736f7572636573" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Asset.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Asset.php new file mode 100644 index 000000000..d76837e8a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Asset.php @@ -0,0 +1,59 @@ +internalAddGeneratedFile(hex2bin( + "0ab2070a2d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f61737365742e70726f746f1221676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365731a2e676f6f" . + "676c652f6164732f676f6f676c656164732f76322f656e756d732f617373" . + "65745f747970652e70726f746f1a1e676f6f676c652f70726f746f627566" . + "2f77726170706572732e70726f746f1a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f22ed030a05417373657412150a0d72" . + "65736f757263655f6e616d6518012001280912270a02696418022001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756512" . + "2a0a046e616d6518032001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512440a047479706518042001280e32362e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "417373657454797065456e756d2e41737365745479706512500a13796f75" . + "747562655f766964656f5f617373657418052001280b32312e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e596f7574" . + "756265566964656f41737365744800124e0a126d656469615f62756e646c" . + "655f617373657418062001280b32302e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e2e4d6564696142756e646c654173" . + "736574480012410a0b696d6167655f617373657418072001280b322a2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "496d61676541737365744800123f0a0a746578745f617373657418082001" . + "280b32292e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e5465787441737365744800420c0a0a61737365745f646174" . + "6142f7010a25636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f7572636573420a417373657450726f746f50015a4a67" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f7265736f7572" . + "6365733b7265736f7572636573a20203474141aa0221476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5265736f7572636573ca0221476f" . + "6f676c655c4164735c476f6f676c654164735c56325c5265736f75726365" . + "73ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php b/metadata/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php new file mode 100644 index 000000000..933ff7b2b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0ae30b0a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f62696464696e675f73747261746567792e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a3b676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f62696464696e675f73747261746567795f7374617475" . + "732e70726f746f1a39676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f62696464696e675f73747261746567795f74797065" . + "2e70726f746f1a1e676f6f676c652f70726f746f6275662f777261707065" . + "72732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f22c1070a0f42696464696e6753747261746567791215" . + "0a0d7265736f757263655f6e616d6518012001280912270a026964180320" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "7565122a0a046e616d6518042001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565125e0a06737461747573180f2001" . + "280e324e2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e42696464696e675374726174656779537461747573456e756d" . + "2e42696464696e67537472617465677953746174757312580a0474797065" . + "18052001280e324a2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e42696464696e67537472617465677954797065456e" . + "756d2e42696464696e6753747261746567795479706512330a0e63616d70" . + "6169676e5f636f756e74180d2001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c7565123f0a1a6e6f6e5f72656d6f766564" . + "5f63616d706169676e5f636f756e74180e2001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512430a0c656e68616e63" . + "65645f63706318072001280b322b2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e456e68616e636564437063480012" . + "4c0a11706167655f6f6e655f70726f6d6f74656418082001280b322f2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "506167654f6e6550726f6d6f7465644800123f0a0a7461726765745f6370" . + "6118092001280b32292e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e546172676574437061480012580a1774617267" . + "65745f696d7072657373696f6e5f736861726518302001280b32352e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e54" . + "6172676574496d7072657373696f6e5368617265480012520a1474617267" . + "65745f6f757472616e6b5f7368617265180a2001280b32322e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e54617267" . + "65744f757472616e6b5368617265480012410a0b7461726765745f726f61" . + "73180b2001280b322a2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e546172676574526f6173480012430a0c746172" . + "6765745f7370656e64180c2001280b322b2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e5461726765745370656e64" . + "480042080a06736368656d654281020a25636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f7572636573421442696464" . + "696e67537472617465677950726f746f50015a4a676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f7265736f75726365733b7265736f75" . + "72636573a20203474141aa0221476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5265736f7572636573ca0221476f6f676c655c4164735c" . + "476f6f676c654164735c56325c5265736f7572636573ea0225476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f757263" . + "6573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php b/metadata/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php new file mode 100644 index 000000000..ec3d813d6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php @@ -0,0 +1,75 @@ +internalAddGeneratedFile(hex2bin( + "0a8e0b0a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f62696c6c696e675f73657475702e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a2d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f74696d655f747970652e70726f746f1a1e676f6f676c652f70" . + "726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f22bb070a0c42696c" . + "6c696e67536574757012150a0d7265736f757263655f6e616d6518012001" . + "280912270a02696418022001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c756512580a0673746174757318032001280e32" . + "482e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e42696c6c696e675365747570537461747573456e756d2e42696c6c69" . + "6e67536574757053746174757312360a107061796d656e74735f6163636f" . + "756e74180b2001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512620a157061796d656e74735f6163636f756e745f" . + "696e666f180c2001280b32432e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e42696c6c696e6753657475702e" . + "5061796d656e74734163636f756e74496e666f12370a0f73746172745f64" . + "6174655f74696d6518092001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c75654800124f0a0f73746172745f74696d65" . + "5f74797065180a2001280e32342e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e54696d6554797065456e756d2e54696d" . + "6554797065480012350a0d656e645f646174655f74696d65180d2001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "4801124d0a0d656e645f74696d655f74797065180e2001280e32342e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e5469" . + "6d6554797065456e756d2e54696d655479706548011aca020a135061796d" . + "656e74734163636f756e74496e666f12390a137061796d656e74735f6163" . + "636f756e745f696418012001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565123b0a157061796d656e74735f616363" . + "6f756e745f6e616d6518022001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512390a137061796d656e74735f7072" . + "6f66696c655f696418032001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565123b0a157061796d656e74735f70726f" . + "66696c655f6e616d6518042001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512430a1d7365636f6e646172795f70" . + "61796d656e74735f70726f66696c655f696418052001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565420c0a0a7374" . + "6172745f74696d65420a0a08656e645f74696d6542fe010a25636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "6573421142696c6c696e67536574757050726f746f50015a4a676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f7265736f75726365733b" . + "7265736f7572636573a20203474141aa0221476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e5265736f7572636573ca0221476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5265736f7572636573ea0225" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265" . + "736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Campaign.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Campaign.php new file mode 100644 index 000000000..5761f9cdc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Campaign.php @@ -0,0 +1,275 @@ +internalAddGeneratedFile(hex2bin( + "0aed350a30676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e2e70726f746f1221676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365731a35" . + "676f6f676c652f6164732f676f6f676c656164732f76322f636f6d6d6f6e" . + "2f637573746f6d5f706172616d657465722e70726f746f1a32676f6f676c" . + "652f6164732f676f6f676c656164732f76322f636f6d6d6f6e2f66726571" . + "75656e63795f6361702e70726f746f1a3e676f6f676c652f6164732f676f" . + "6f676c656164732f76322f636f6d6d6f6e2f7265616c5f74696d655f6269" . + "6464696e675f73657474696e672e70726f746f1a36676f6f676c652f6164" . + "732f676f6f676c656164732f76322f636f6d6d6f6e2f746172676574696e" . + "675f73657474696e672e70726f746f1a42676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f61645f73657276696e675f6f70" . + "74696d697a6174696f6e5f7374617475732e70726f746f1a40676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f6164766572" . + "746973696e675f6368616e6e656c5f7375625f747970652e70726f746f1a" . + "3c676f6f676c652f6164732f676f6f676c656164732f76322f656e756d73" . + "2f6164766572746973696e675f6368616e6e656c5f747970652e70726f74" . + "6f1a3a676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f6170705f63616d706169676e5f6170705f73746f72652e70726f74" . + "6f1a4b676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f6170705f63616d706169676e5f62696464696e675f737472617465" . + "67795f676f616c5f747970652e70726f746f1a39676f6f676c652f616473" . + "2f676f6f676c656164732f76322f656e756d732f62696464696e675f7374" . + "7261746567795f747970652e70726f746f1a3c676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f6272616e645f7361666574" . + "795f737569746162696c6974792e70726f746f1a3c676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f63616d706169676e5f" . + "6578706572696d656e745f747970652e70726f746f1a3b676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f63616d70616967" . + "6e5f73657276696e675f7374617475732e70726f746f1a33676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f656e756d732f63616d706169" . + "676e5f7374617475732e70726f746f1a3c676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f6e656761746976655f67656f5f" . + "7461726765745f747970652e70726f746f1a30676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f7061796d656e745f6d6f64" . + "652e70726f746f1a3c676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f706f7369746976655f67656f5f7461726765745f74" . + "7970652e70726f746f1a42676f6f676c652f6164732f676f6f676c656164" . + "732f76322f656e756d732f76616e6974795f706861726d615f646973706c" . + "61795f75726c5f6d6f64652e70726f746f1a36676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f76616e6974795f70686172" . + "6d615f746578742e70726f746f1a1e676f6f676c652f70726f746f627566" . + "2f77726170706572732e70726f746f1a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f22cf290a0843616d706169676e1215" . + "0a0d7265736f757263655f6e616d6518012001280912270a026964180320" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "7565122a0a046e616d6518042001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512500a0673746174757318052001" . + "280e32402e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e43616d706169676e537461747573456e756d2e43616d706169" . + "676e53746174757312660a0e73657276696e675f73746174757318152001" . + "280e324e2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e43616d706169676e53657276696e67537461747573456e756d" . + "2e43616d706169676e53657276696e675374617475731282010a1e61645f" . + "73657276696e675f6f7074696d697a6174696f6e5f737461747573180820" . + "01280e325a2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e416453657276696e674f7074696d697a6174696f6e537461" . + "747573456e756d2e416453657276696e674f7074696d697a6174696f6e53" . + "746174757312720a186164766572746973696e675f6368616e6e656c5f74" . + "79706518092001280e32502e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e4164766572746973696e674368616e6e656c" . + "54797065456e756d2e4164766572746973696e674368616e6e656c547970" . + "65127c0a1c6164766572746973696e675f6368616e6e656c5f7375625f74" . + "797065180a2001280e32562e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e4164766572746973696e674368616e6e656c" . + "53756254797065456e756d2e4164766572746973696e674368616e6e656c" . + "53756254797065123b0a15747261636b696e675f75726c5f74656d706c61" . + "7465180b2001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c7565124e0a1575726c5f637573746f6d5f706172616d6574" . + "657273180c2003280b322f2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e437573746f6d506172616d657465721259" . + "0a197265616c5f74696d655f62696464696e675f73657474696e67182720" . + "01280b32362e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "636f6d6d6f6e2e5265616c54696d6542696464696e6753657474696e6712" . + "550a106e6574776f726b5f73657474696e6773180e2001280b323b2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e43616d706169676e2e4e6574776f726b53657474696e677312530a0d" . + "686f74656c5f73657474696e6718202001280b323c2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e43616d70" . + "6169676e2e486f74656c53657474696e67496e666f12670a1a64796e616d" . + "69635f7365617263685f6164735f73657474696e6718212001280b32432e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e43616d706169676e2e44796e616d696353656172636841647353" . + "657474696e6712550a1073686f7070696e675f73657474696e6718242001" . + "280b323b2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e43616d706169676e2e53686f7070696e6753657474" . + "696e67124b0a11746172676574696e675f73657474696e67182b2001280b" . + "32302e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e546172676574696e6753657474696e6712610a1767656f5f7461" . + "726765745f747970655f73657474696e67182f2001280b32402e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "43616d706169676e2e47656f5461726765745479706553657474696e6712" . + "5c0a146170705f63616d706169676e5f73657474696e6718332001280b32" . + "3e2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e43616d706169676e2e41707043616d706169676e53657474" . + "696e67122c0a066c6162656c7318352003280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512690a0f6578706572696d" . + "656e745f7479706518112001280e32502e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e43616d706169676e4578706572" . + "696d656e7454797065456e756d2e43616d706169676e4578706572696d65" . + "6e745479706512330a0d626173655f63616d706169676e181c2001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "350a0f63616d706169676e5f62756467657418062001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512690a156269" . + "6464696e675f73747261746567795f7479706518162001280e324a2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e4269" . + "6464696e67537472617465677954797065456e756d2e42696464696e6753" . + "747261746567795479706512300a0a73746172745f646174651813200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65122e0a08656e645f6461746518142001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512360a1066696e616c5f75" . + "726c5f73756666697818262001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512490a0e6672657175656e63795f63" . + "61707318282003280b32312e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e4672657175656e6379436170456e747279" . + "12780a1e766964656f5f6272616e645f7361666574795f73756974616269" . + "6c697479182a2001280e32502e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e4272616e64536166657479537569746162" . + "696c697479456e756d2e4272616e64536166657479537569746162696c69" . + "7479124f0a0d76616e6974795f706861726d61182c2001280b32382e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e43616d706169676e2e56616e697479506861726d6112610a1673656c" . + "6563746976655f6f7074696d697a6174696f6e182d2001280b32412e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e43616d706169676e2e53656c6563746976654f7074696d697a617469" . + "6f6e12550a10747261636b696e675f73657474696e67182e2001280b323b" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e43616d706169676e2e547261636b696e6753657474696e6712" . + "500a0c7061796d656e745f6d6f646518342001280e323a2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e5061796d656e" . + "744d6f6465456e756d2e5061796d656e744d6f646512380a106269646469" . + "6e675f737472617465677918172001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565480012400a0a636f6d6d697373" . + "696f6e18312001280b322a2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e436f6d6d697373696f6e4800123f0a0a6d" . + "616e75616c5f63706318182001280b32292e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e4d616e75616c4370634800" . + "123f0a0a6d616e75616c5f63706d18192001280b32292e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4d616e75616c" . + "43706d4800123f0a0a6d616e75616c5f63707618252001280b32292e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4d" . + "616e75616c437076480012530a146d6178696d697a655f636f6e76657273" . + "696f6e73181e2001280b32332e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e4d6178696d697a65436f6e7665727369" . + "6f6e734800125c0a196d6178696d697a655f636f6e76657273696f6e5f76" . + "616c7565181f2001280b32372e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e4d6178696d697a65436f6e7665727369" . + "6f6e56616c75654800123f0a0a7461726765745f637061181a2001280b32" . + "292e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e546172676574437061480012580a177461726765745f696d707265" . + "7373696f6e5f736861726518302001280b32352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e636f6d6d6f6e2e546172676574496d70" . + "72657373696f6e5368617265480012410a0b7461726765745f726f617318" . + "1d2001280b322a2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e546172676574526f6173480012430a0c7461726765" . + "745f7370656e64181b2001280b322b2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e2e5461726765745370656e644800" . + "12410a0b70657263656e745f63706318222001280b322a2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e5065726365" . + "6e744370634800123f0a0a7461726765745f63706d18292001280b32292e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e54617267657443706d48001a85020a0f4e6574776f726b53657474696e" . + "677312380a147461726765745f676f6f676c655f73656172636818012001" . + "280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c7565" . + "12390a157461726765745f7365617263685f6e6574776f726b1802200128" . + "0b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c756512" . + "3a0a167461726765745f636f6e74656e745f6e6574776f726b1803200128" . + "0b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c756512" . + "410a1d7461726765745f706172746e65725f7365617263685f6e6574776f" . + "726b18042001280b321a2e676f6f676c652e70726f746f6275662e426f6f" . + "6c56616c75651a480a10486f74656c53657474696e67496e666f12340a0f" . + "686f74656c5f63656e7465725f696418012001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c75651aea010a1744796e616d" . + "696353656172636841647353657474696e6712310a0b646f6d61696e5f6e" . + "616d6518012001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512330a0d6c616e67756167655f636f646518022001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565123a0a167573655f737570706c6965645f75726c735f6f6e6c791803" . + "2001280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c" . + "7565122b0a05666565647318052003280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c75651ae2010a0f53686f7070696e67" . + "53657474696e6712300a0b6d65726368616e745f696418012001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c756512330a" . + "0d73616c65735f636f756e74727918022001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512360a1163616d706169" . + "676e5f7072696f7269747918032001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74333256616c756512300a0c656e61626c655f6c6f63" . + "616c18042001280b321a2e676f6f676c652e70726f746f6275662e426f6f" . + "6c56616c75651a450a0f547261636b696e6753657474696e6712320a0c74" . + "7261636b696e675f75726c18012001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c75651ab0020a1241707043616d7061" . + "69676e53657474696e67128c010a1a62696464696e675f73747261746567" . + "795f676f616c5f7479706518012001280e32682e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e41707043616d70616967" . + "6e42696464696e675374726174656779476f616c54797065456e756d2e41" . + "707043616d706169676e42696464696e675374726174656779476f616c54" . + "797065122c0a066170705f696418022001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c7565125d0a096170705f73746f" . + "726518032001280e324a2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d732e41707043616d706169676e41707053746f7265" . + "456e756d2e41707043616d706169676e41707053746f72651afa010a1447" . + "656f5461726765745479706553657474696e6712700a18706f7369746976" . + "655f67656f5f7461726765745f7479706518012001280e324e2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e506f7369" . + "7469766547656f54617267657454797065456e756d2e506f736974697665" . + "47656f5461726765745479706512700a186e656761746976655f67656f5f" . + "7461726765745f7479706518022001280e324e2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e4e656761746976654765" . + "6f54617267657454797065456e756d2e4e6567617469766547656f546172" . + "676574547970651af3010a0c56616e697479506861726d611280010a1e76" . + "616e6974795f706861726d615f646973706c61795f75726c5f6d6f646518" . + "012001280e32582e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e56616e697479506861726d61446973706c617955726c" . + "4d6f6465456e756d2e56616e697479506861726d61446973706c61795572" . + "6c4d6f646512600a1276616e6974795f706861726d615f74657874180220" . + "01280e32442e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e56616e697479506861726d6154657874456e756d2e56616e" . + "697479506861726d61546578741a510a1553656c6563746976654f707469" . + "6d697a6174696f6e12380a12636f6e76657273696f6e5f616374696f6e73" . + "18012003280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565421b0a1963616d706169676e5f62696464696e675f737472" . + "617465677942fa010a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f7572636573420d43616d706169676e50726f" . + "746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365733b7265736f7572636573a20203474141aa022147" . + "6f6f676c652e4164732e476f6f676c654164732e56322e5265736f757263" . + "6573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c52" . + "65736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php new file mode 100644 index 000000000..88b0bb6ac --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa3030a3e676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f61756469656e63655f766965" . + "772e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f7572636573222d0a1443616d706169676e41756469656e" . + "63655669657712150a0d7265736f757263655f6e616d6518012001280942" . + "86020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f7572636573421943616d706169676e41756469656e636556" . + "69657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php new file mode 100644 index 000000000..b07bbc5bc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad4050a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f6269645f6d6f646966696572" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a1e676f6f676c652f70726f746f6275662f77" . + "726170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f22a1020a1343616d706169676e4269644d" . + "6f64696669657212150a0d7265736f757263655f6e616d65180120012809" . + "122e0a0863616d706169676e18022001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512310a0c637269746572696f" . + "6e5f696418032001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512320a0c6269645f6d6f6469666965721804200128" . + "0b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c75" . + "65124f0a10696e746572616374696f6e5f7479706518052001280b32332e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e496e746572616374696f6e54797065496e666f4800420b0a0963726974" . + "6572696f6e4285020a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f7572636573421843616d706169676e426964" . + "4d6f64696669657250726f746f50015a4a676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365733b7265736f75726365" . + "73a20203474141aa0221476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5265736f7572636573ea0225476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a5265736f757263657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php new file mode 100644 index 000000000..7592e1f7b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php @@ -0,0 +1,88 @@ +internalAddGeneratedFile(hex2bin( + "0ace0d0a37676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f6275646765742e70726f746f" . + "1221676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365731a31676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f656e756d732f6275646765745f706572696f642e70726f746f1a31676f" . + "6f676c652f6164732f676f6f676c656164732f76322f656e756d732f6275" . + "646765745f7374617475732e70726f746f1a2f676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f6275646765745f74797065" . + "2e70726f746f1a1e676f6f676c652f70726f746f6275662f777261707065" . + "72732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f228f090a0e43616d706169676e42756467657412150a" . + "0d7265736f757263655f6e616d6518012001280912270a02696418032001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "65122a0a046e616d6518042001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512320a0d616d6f756e745f6d696372" . + "6f7318052001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c756512380a13746f74616c5f616d6f756e745f6d6963726f73" . + "180a2001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c7565124c0a0673746174757318062001280e323c2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e427564676574" . + "537461747573456e756d2e42756467657453746174757312650a0f64656c" . + "69766572795f6d6574686f6418072001280e324c2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d732e42756467657444656c" . + "69766572794d6574686f64456e756d2e42756467657444656c6976657279" . + "4d6574686f6412350a116578706c696369746c795f736861726564180820" . + "01280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75" . + "6512340a0f7265666572656e63655f636f756e7418092001280b321b2e67" . + "6f6f676c652e70726f746f6275662e496e74363456616c7565123a0a1668" . + "61735f7265636f6d6d656e6465645f627564676574180b2001280b321a2e" . + "676f6f676c652e70726f746f6275662e426f6f6c56616c756512450a2072" . + "65636f6d6d656e6465645f6275646765745f616d6f756e745f6d6963726f" . + "73180c2001280b321b2e676f6f676c652e70726f746f6275662e496e7436" . + "3456616c7565124c0a06706572696f64180d2001280e323c2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e4275646765" . + "74506572696f64456e756d2e427564676574506572696f6412560a317265" . + "636f6d6d656e6465645f6275646765745f657374696d617465645f636861" . + "6e67655f7765656b6c795f636c69636b73180e2001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565125b0a367265636f" . + "6d6d656e6465645f6275646765745f657374696d617465645f6368616e67" . + "655f7765656b6c795f636f73745f6d6963726f73180f2001280b321b2e67" . + "6f6f676c652e70726f746f6275662e496e74363456616c7565125c0a3772" . + "65636f6d6d656e6465645f6275646765745f657374696d617465645f6368" . + "616e67655f7765656b6c795f696e746572616374696f6e7318102001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756512" . + "550a307265636f6d6d656e6465645f6275646765745f657374696d617465" . + "645f6368616e67655f7765656b6c795f766965777318112001280b321b2e" . + "676f6f676c652e70726f746f6275662e496e74363456616c756512460a04" . + "7479706518122001280e32382e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e42756467657454797065456e756d2e4275" . + "64676574547970654280020a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f7572636573421343616d706169676e" . + "42756467657450726f746f50015a4a676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f7265736f75726365733b7265736f7572636573a2" . + "0203474141aa0221476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5265736f7572636573ea0225476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a5265736f7572636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php new file mode 100644 index 000000000..98d482a76 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php @@ -0,0 +1,123 @@ +internalAddGeneratedFile(hex2bin( + "0a96160a3a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f637269746572696f6e2e7072" . + "6f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365731a3d676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f656e756d732f63616d706169676e5f637269746572696f6e5f73" . + "74617475732e70726f746f1a32676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f656e756d732f637269746572696f6e5f747970652e7072" . + "6f746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22f5110a1143616d706169676e437269746572696f6e12150a" . + "0d7265736f757263655f6e616d65180120012809122e0a0863616d706169" . + "676e18042001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512310a0c637269746572696f6e5f696418052001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756512" . + "310a0c6269645f6d6f646966696572180e2001280b321b2e676f6f676c65" . + "2e70726f746f6275662e466c6f617456616c7565122c0a086e6567617469" . + "766518072001280b321a2e676f6f676c652e70726f746f6275662e426f6f" . + "6c56616c7565124c0a047479706518062001280e323e2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e43726974657269" . + "6f6e54797065456e756d2e437269746572696f6e5479706512620a067374" . + "6174757318232001280e32522e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e43616d706169676e437269746572696f6e" . + "537461747573456e756d2e43616d706169676e437269746572696f6e5374" . + "61747573123e0a076b6579776f726418082001280b322b2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4b6579776f" . + "7264496e666f480012420a09706c6163656d656e7418092001280b322d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e506c6163656d656e74496e666f480012540a136d6f62696c655f617070" . + "5f63617465676f7279180a2001280b32352e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e4d6f62696c654170704361" . + "7465676f7279496e666f480012530a126d6f62696c655f6170706c696361" . + "74696f6e180b2001280b32352e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e4d6f62696c654170706c69636174696f" . + "6e496e666f480012400a086c6f636174696f6e180c2001280b322c2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4c" . + "6f636174696f6e496e666f4800123c0a06646576696365180d2001280b32" . + "2a2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e446576696365496e666f480012450a0b61645f7363686564756c65" . + "180f2001280b322e2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e41645363686564756c65496e666f480012410a09" . + "6167655f72616e676518102001280b322c2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e41676552616e6765496e66" . + "6f4800123c0a0667656e64657218112001280b322a2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e47656e64657249" . + "6e666f480012470a0c696e636f6d655f72616e676518122001280b322f2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e496e636f6d6552616e6765496e666f4800124d0a0f706172656e74616c" . + "5f73746174757318132001280b32322e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e2e506172656e74616c5374617475" . + "73496e666f480012410a09757365725f6c69737418162001280b322c2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "557365724c697374496e666f480012490a0d796f75747562655f76696465" . + "6f18142001280b32302e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e596f7554756265566964656f496e666f480012" . + "4d0a0f796f75747562655f6368616e6e656c18152001280b32322e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e596f" . + "75547562654368616e6e656c496e666f480012420a0970726f78696d6974" . + "7918172001280b322d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e50726f78696d697479496e666f4800123a0a05" . + "746f70696318182001280b32292e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e546f706963496e666f480012490a0d" . + "6c697374696e675f73636f706518192001280b32302e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e4c697374696e67" . + "53636f7065496e666f480012400a086c616e6775616765181a2001280b32" . + "2c2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e4c616e6775616765496e666f4800123f0a0869705f626c6f636b18" . + "1b2001280b322b2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e4970426c6f636b496e666f480012490a0d636f6e74" . + "656e745f6c6162656c181c2001280b32302e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e436f6e74656e744c616265" . + "6c496e666f4800123e0a0763617272696572181d2001280b322b2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4361" . + "7272696572496e666f480012490a0d757365725f696e746572657374181e" . + "2001280b32302e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e55736572496e746572657374496e666f4800123e0a07" . + "77656270616765181f2001280b322b2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e636f6d6d6f6e2e57656270616765496e666f4800" . + "125e0a186f7065726174696e675f73797374656d5f76657273696f6e1820" . + "2001280b323a2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e4f7065726174696e6753797374656d56657273696f6e" . + "496e666f480012490a0d6d6f62696c655f64657669636518212001280b32" . + "302e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e4d6f62696c65446576696365496e666f4800124b0a0e6c6f636174" . + "696f6e5f67726f757018222001280b32312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e636f6d6d6f6e2e4c6f636174696f6e47726f" . + "7570496e666f4800420b0a09637269746572696f6e4283020a25636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "636573421643616d706169676e437269746572696f6e50726f746f50015a" . + "4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f7265736f" . + "75726365733b7265736f7572636573a20203474141aa0221476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5265736f7572636573ca0221" . + "476f6f676c655c4164735c476f6f676c654164735c56325c5265736f7572" . + "636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php new file mode 100644 index 000000000..72fa8353a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php @@ -0,0 +1,67 @@ +internalAddGeneratedFile(hex2bin( + "0af3080a45676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f637269746572696f6e5f7369" . + "6d756c6174696f6e2e70726f746f1221676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365731a42676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f73696d756c6174696f" . + "6e5f6d6f64696669636174696f6e5f6d6574686f642e70726f746f1a3367" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f73" . + "696d756c6174696f6e5f747970652e70726f746f1a1e676f6f676c652f70" . + "726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f22b7040a1b43616d" . + "706169676e437269746572696f6e53696d756c6174696f6e12150a0d7265" . + "736f757263655f6e616d6518012001280912300a0b63616d706169676e5f" . + "696418022001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c756512310a0c637269746572696f6e5f696418032001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c7565124e" . + "0a047479706518042001280e32402e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e53696d756c6174696f6e5479706545" . + "6e756d2e53696d756c6174696f6e5479706512790a136d6f646966696361" . + "74696f6e5f6d6574686f6418052001280e325c2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e53696d756c6174696f6e" . + "4d6f64696669636174696f6e4d6574686f64456e756d2e53696d756c6174" . + "696f6e4d6f64696669636174696f6e4d6574686f6412300a0a7374617274" . + "5f6461746518062001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c7565122e0a08656e645f6461746518072001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "610a176269645f6d6f6469666965725f706f696e745f6c69737418082001" . + "280b323e2e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e4269644d6f64696669657253696d756c6174696f6e506f69" . + "6e744c6973744800420c0a0a706f696e745f6c697374428d020a25636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "72636573422043616d706169676e437269746572696f6e53696d756c6174" . + "696f6e50726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php new file mode 100644 index 000000000..14f4ace0d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php @@ -0,0 +1,56 @@ +internalAddGeneratedFile(hex2bin( + "0ae8060a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f64726166742e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a1e676f6f676c652f70726f746f6275662f7772617070657273" . + "2e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f22c2030a0d43616d706169676e447261667412150a0d7265" . + "736f757263655f6e616d65180120012809122d0a0864726166745f696418" . + "022001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c756512330a0d626173655f63616d706169676e18032001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c7565122a0a" . + "046e616d6518042001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512340a0e64726166745f63616d706169676e18" . + "052001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565125a0a0673746174757318062001280e324a2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e43616d706169" . + "676e4472616674537461747573456e756d2e43616d706169676e44726166" . + "74537461747573123a0a166861735f6578706572696d656e745f72756e6e" . + "696e6718072001280b321a2e676f6f676c652e70726f746f6275662e426f" . + "6f6c56616c7565123c0a166c6f6e675f72756e6e696e675f6f7065726174" . + "696f6e18082001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756542ff010a25636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f7572636573421243616d70616967" . + "6e447261667450726f746f50015a4a676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f7265736f75726365733b7265736f7572636573a2" . + "0203474141aa0221476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5265736f7572636573ea0225476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a5265736f7572636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php new file mode 100644 index 000000000..008848991 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php @@ -0,0 +1,69 @@ +internalAddGeneratedFile(hex2bin( + "0ae9090a3b676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f6578706572696d656e742e70" . + "726f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365731a4a676f6f676c652f6164732f676f6f676c656164" . + "732f76322f656e756d732f63616d706169676e5f6578706572696d656e74" . + "5f747261666669635f73706c69745f747970652e70726f746f1a1e676f6f" . + "676c652f70726f746f6275662f77726170706572732e70726f746f1a1c67" . + "6f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f22ed05" . + "0a1243616d706169676e4578706572696d656e7412150a0d7265736f7572" . + "63655f6e616d6518012001280912270a02696418022001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c756512340a0e6361" . + "6d706169676e5f647261667418032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565122a0a046e616d6518042001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512310a0b6465736372697074696f6e18052001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c7565123a0a15747261" . + "666669635f73706c69745f70657263656e7418062001280b321b2e676f6f" . + "676c652e70726f746f6275662e496e74363456616c75651284010a127472" . + "61666669635f73706c69745f7479706518072001280e32682e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e43616d7061" . + "69676e4578706572696d656e745472616666696353706c69745479706545" . + "6e756d2e43616d706169676e4578706572696d656e745472616666696353" . + "706c69745479706512390a136578706572696d656e745f63616d70616967" . + "6e18082001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512640a0673746174757318092001280e32542e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e43616d70" . + "6169676e4578706572696d656e74537461747573456e756d2e43616d7061" . + "69676e4578706572696d656e74537461747573123c0a166c6f6e675f7275" . + "6e6e696e675f6f7065726174696f6e180a2001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512300a0a7374617274" . + "5f64617465180b2001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c7565122e0a08656e645f64617465180c2001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756542" . + "84020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f7572636573421743616d706169676e4578706572696d656e" . + "7450726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f7265736f75726365733b7265736f7572636573a20203474141" . + "aa0221476f6f676c652e4164732e476f6f676c654164732e56322e526573" . + "6f7572636573ca0221476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php new file mode 100644 index 000000000..9359a5883 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php @@ -0,0 +1,56 @@ +internalAddGeneratedFile(hex2bin( + "0ac8060a42676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f657874656e73696f6e5f7365" . + "7474696e672e70726f746f1221676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365731a32676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f657874656e73696f6e5f7479" . + "70652e70726f746f1a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22d7020a1843616d706169676e457874656e7369" . + "6f6e53657474696e6712150a0d7265736f757263655f6e616d6518012001" . + "280912560a0e657874656e73696f6e5f7479706518022001280e323e2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e45" . + "7874656e73696f6e54797065456e756d2e457874656e73696f6e54797065" . + "122e0a0863616d706169676e18032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565123a0a14657874656e73696f" . + "6e5f666565645f6974656d7318042003280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512600a066465766963651805" . + "2001280e32502e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d732e457874656e73696f6e53657474696e6744657669636545" . + "6e756d2e457874656e73696f6e53657474696e67446576696365428a020a" . + "25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f7572636573421d43616d706169676e457874656e73696f6e536574" . + "74696e6750726f746f50015a4a676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f7265736f75726365733b7265736f7572636573a20203" . + "474141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e" . + "5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a5265736f7572636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php new file mode 100644 index 000000000..e4e5fefa4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php @@ -0,0 +1,59 @@ +internalAddGeneratedFile(hex2bin( + "0a8f070a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f666565642e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6c696e6b5f7374617475732e70726f746f1a3467" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f70" . + "6c616365686f6c6465725f747970652e70726f746f1a1e676f6f676c652f" . + "70726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c" . + "652f6170692f616e6e6f746174696f6e732e70726f746f22ff020a0c4361" . + "6d706169676e4665656412150a0d7265736f757263655f6e616d65180120" . + "012809122a0a046665656418022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565122e0a0863616d706169676e18" . + "032001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565125d0a11706c616365686f6c6465725f747970657318042003" . + "280e32422e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e506c616365686f6c64657254797065456e756d2e506c616365" . + "686f6c64657254797065124b0a116d61746368696e675f66756e6374696f" . + "6e18052001280b32302e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e4d61746368696e6746756e6374696f6e12500a" . + "0673746174757318062001280e32402e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e466565644c696e6b537461747573" . + "456e756d2e466565644c696e6b53746174757342fe010a25636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "73421143616d706169676e4665656450726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php new file mode 100644 index 000000000..5e51f1f74 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a89040a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f6c6162656c2e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f2283010a0d43616d706169676e4c6162656c12150a0d7265736f" . + "757263655f6e616d65180120012809122e0a0863616d706169676e180220" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565122b0a056c6162656c18032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756542ff010a25636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "421243616d706169676e4c6162656c50726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php new file mode 100644 index 000000000..e18a68081 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0a9f050a3b676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e5f7368617265645f7365742e70" . + "726f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365731a1e676f6f676c652f70726f746f6275662f777261" . + "70706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f22f0010a1143616d706169676e536861726564" . + "53657412150a0d7265736f757263655f6e616d65180120012809122e0a08" . + "63616d706169676e18032001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c756512300a0a7368617265645f7365741804" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512620a0673746174757318022001280e32522e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e43616d70616967" . + "6e536861726564536574537461747573456e756d2e43616d706169676e53" . + "68617265645365745374617475734283020a25636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f757263657342164361" . + "6d706169676e53686172656453657450726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CarrierConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CarrierConstant.php new file mode 100644 index 000000000..163c78142 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CarrierConstant.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0abb040a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f636172726965725f636f6e7374616e742e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f22b1010a0f43617272696572436f6e7374616e7412150a0d" . + "7265736f757263655f6e616d6518012001280912270a0269641802200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "122a0a046e616d6518032001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c756512320a0c636f756e7472795f636f6465" . + "18042001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c75654281020a25636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f7572636573421443617272696572436f6e" . + "7374616e7450726f746f50015a4a676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365733b7265736f7572636573a202" . + "03474141aa0221476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c5265736f7572636573ea0225476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5265736f757263657362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php new file mode 100644 index 000000000..c0e6374e9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php @@ -0,0 +1,72 @@ +internalAddGeneratedFile(hex2bin( + "0aa80a0a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6368616e67655f7374617475732e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6368616e67655f7374617475735f7265736f757263655f7479" . + "70652e70726f746f1a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22c3060a0c4368616e676553746174757312150a" . + "0d7265736f757263655f6e616d65180120012809123b0a156c6173745f63" . + "68616e67655f646174655f74696d6518032001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565126b0a0d7265736f75" . + "7263655f7479706518042001280e32542e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e4368616e676553746174757352" . + "65736f7572636554797065456e756d2e4368616e67655374617475735265" . + "736f7572636554797065122e0a0863616d706169676e18052001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c7565122e" . + "0a0861645f67726f757018062001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512670a0f7265736f757263655f73" . + "746174757318082001280e324e2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e656e756d732e4368616e67655374617475734f706572" . + "6174696f6e456e756d2e4368616e67655374617475734f7065726174696f" . + "6e12310a0b61645f67726f75705f616418092001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512380a1261645f67" . + "726f75705f637269746572696f6e180a2001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512380a1263616d706169" . + "676e5f637269746572696f6e180b2001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565122a0a0466656564180c2001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565122f0a09666565645f6974656d180d2001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512330a0d61645f6772" . + "6f75705f66656564180e2001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c756512330a0d63616d706169676e5f666565" . + "64180f2001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c7565123b0a1561645f67726f75705f6269645f6d6f64696669" . + "657218102001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756542fe010a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f757263657342114368616e67655374" . + "6174757350726f746f50015a4a676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f7265736f75726365733b7265736f7572636573a20203" . + "474141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e" . + "5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a5265736f7572636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ClickView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ClickView.php new file mode 100644 index 000000000..1f8ff1f2a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ClickView.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ae8050a32676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f636c69636b5f766965772e70726f746f1221676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "1a1e676f6f676c652f70726f746f6275662f77726170706572732e70726f" . + "746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f" . + "746f22ca020a09436c69636b5669657712150a0d7265736f757263655f6e" . + "616d65180120012809122b0a0567636c696418022001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512470a106172" . + "65615f6f665f696e74657265737418032001280b322d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e436c69636b4c" . + "6f636174696f6e124b0a146c6f636174696f6e5f6f665f70726573656e63" . + "6518042001280b322d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e436c69636b4c6f636174696f6e12300a0b7061" . + "67655f6e756d62657218052001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c756512310a0b61645f67726f75705f616418" . + "072001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756542fb010a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f7572636573420e436c69636b566965775072" . + "6f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f7265736f75726365733b7265736f7572636573a20203474141aa0221" . + "476f6f676c652e4164732e476f6f676c654164732e56322e5265736f7572" . + "636573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php new file mode 100644 index 000000000..100f7e97d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php @@ -0,0 +1,113 @@ +internalAddGeneratedFile(hex2bin( + "0af4120a39676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f636f6e76657273696f6e5f616374696f6e2e70726f" . + "746f1221676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365731a35676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f6174747269627574696f6e5f6d6f64656c2e70726f" . + "746f1a3e676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f636f6e76657273696f6e5f616374696f6e5f63617465676f7279" . + "2e70726f746f1a43676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f636f6e76657273696f6e5f616374696f6e5f636f756e" . + "74696e675f747970652e70726f746f1a3c676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f636f6e76657273696f6e5f6163" . + "74696f6e5f7374617475732e70726f746f1a3a676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f636f6e76657273696f6e5f" . + "616374696f6e5f747970652e70726f746f1a3c676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f646174615f64726976656e" . + "5f6d6f64656c5f7374617475732e70726f746f1a1e676f6f676c652f7072" . + "6f746f6275662f77726170706572732e70726f746f1a1c676f6f676c652f" . + "6170692f616e6e6f746174696f6e732e70726f746f22d40c0a10436f6e76" . + "657273696f6e416374696f6e12150a0d7265736f757263655f6e616d6518" . + "012001280912270a02696418022001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c7565122a0a046e616d6518032001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12600a0673746174757318042001280e32502e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e436f6e76657273696f6e41" . + "6374696f6e537461747573456e756d2e436f6e76657273696f6e41637469" . + "6f6e537461747573125a0a047479706518052001280e324c2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e656e756d732e436f6e7665" . + "7273696f6e416374696f6e54797065456e756d2e436f6e76657273696f6e" . + "416374696f6e5479706512660a0863617465676f727918062001280e3254" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e436f6e76657273696f6e416374696f6e43617465676f7279456e756d2e" . + "436f6e76657273696f6e416374696f6e43617465676f727912340a0e6f77" . + "6e65725f637573746f6d657218072001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512410a1d696e636c7564655f" . + "696e5f636f6e76657273696f6e735f6d657472696318082001280b321a2e" . + "676f6f676c652e70726f746f6275662e426f6f6c56616c756512470a2263" . + "6c69636b5f7468726f7567685f6c6f6f6b6261636b5f77696e646f775f64" . + "61797318092001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c756512460a21766965775f7468726f7567685f6c6f6f6b62" . + "61636b5f77696e646f775f64617973180a2001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512590a0e76616c75655f" . + "73657474696e6773180b2001280b32412e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f75726365732e436f6e76657273696f" . + "6e416374696f6e2e56616c756553657474696e677312730a0d636f756e74" . + "696e675f74797065180c2001280e325c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e436f6e76657273696f6e416374" . + "696f6e436f756e74696e6754797065456e756d2e436f6e76657273696f6e" . + "416374696f6e436f756e74696e675479706512700a1a6174747269627574" . + "696f6e5f6d6f64656c5f73657474696e6773180d2001280b324c2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e436f6e76657273696f6e416374696f6e2e4174747269627574696f6e4d" . + "6f64656c53657474696e677312400a0c7461675f736e697070657473180e" . + "2003280b322a2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e546167536e697070657412400a1b70686f6e655f6361" . + "6c6c5f6475726174696f6e5f7365636f6e6473180f2001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c7565122c0a066170" . + "705f696418102001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c75651aed010a184174747269627574696f6e4d6f6465" . + "6c53657474696e6773125f0a116174747269627574696f6e5f6d6f64656c" . + "18012001280e32442e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e4174747269627574696f6e4d6f64656c456e756d2e" . + "4174747269627574696f6e4d6f64656c12700a18646174615f6472697665" . + "6e5f6d6f64656c5f73746174757318022001280e324e2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e44617461447269" . + "76656e4d6f64656c537461747573456e756d2e4461746144726976656e4d" . + "6f64656c5374617475731abf010a0d56616c756553657474696e67731233" . + "0a0d64656661756c745f76616c756518012001280b321c2e676f6f676c65" . + "2e70726f746f6275662e446f75626c6556616c7565123b0a156465666175" . + "6c745f63757272656e63795f636f646518022001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c7565123c0a18616c7761" . + "79735f7573655f64656661756c745f76616c756518032001280b321a2e67" . + "6f6f676c652e70726f746f6275662e426f6f6c56616c75654282020a2563" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365734215436f6e76657273696f6e416374696f6e50726f746f50" . + "015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f7265" . + "736f75726365733b7265736f7572636573a20203474141aa0221476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e5265736f7572636573ca" . + "0221476f6f676c655c4164735c476f6f676c654164735c56325c5265736f" . + "7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php new file mode 100644 index 000000000..20602d069 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php @@ -0,0 +1,67 @@ +internalAddGeneratedFile(hex2bin( + "0a82090a37676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d5f696e7465726573742e70726f746f" . + "1221676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365731a3a676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f656e756d732f637573746f6d5f696e7465726573745f7374617475732e" . + "70726f746f1a38676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f656e756d732f637573746f6d5f696e7465726573745f747970652e7072" . + "6f746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22af030a0e437573746f6d496e74657265737412150a0d7265" . + "736f757263655f6e616d6518012001280912270a02696418022001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c7565125c" . + "0a0673746174757318032001280e324c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e437573746f6d496e7465726573" . + "74537461747573456e756d2e437573746f6d496e74657265737453746174" . + "7573122a0a046e616d6518042001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512560a047479706518052001280e" . + "32482e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732e437573746f6d496e74657265737454797065456e756d2e43757374" . + "6f6d496e7465726573745479706512310a0b6465736372697074696f6e18" . + "062001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512480a076d656d6265727318072003280b32372e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e43" . + "7573746f6d496e7465726573744d656d62657222b2010a14437573746f6d" . + "496e7465726573744d656d62657212690a0b6d656d6265725f7479706518" . + "012001280e32542e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e437573746f6d496e7465726573744d656d6265725479" . + "7065456e756d2e437573746f6d496e7465726573744d656d626572547970" . + "65122f0a09706172616d6574657218022001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c75654280020a25636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65734213437573746f6d496e74657265737450726f746f50015a4a676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7265736f75726365" . + "733b7265736f7572636573a20203474141aa0221476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5265736f7572636573ea" . + "0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Customer.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Customer.php new file mode 100644 index 000000000..b49da8f56 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Customer.php @@ -0,0 +1,90 @@ +internalAddGeneratedFile(hex2bin( + "0aed0e0a30676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65722e70726f746f1221676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365731a1e" . + "676f6f676c652f70726f746f6275662f77726170706572732e70726f746f" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "22fe070a08437573746f6d657212150a0d7265736f757263655f6e616d65" . + "18012001280912270a02696418032001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c756512360a10646573637269707469" . + "76655f6e616d6518042001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512330a0d63757272656e63795f636f6465" . + "18052001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565122f0a0974696d655f7a6f6e6518062001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c7565123b0a1574" . + "7261636b696e675f75726c5f74656d706c61746518072001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c756512360a10" . + "66696e616c5f75726c5f737566666978180b2001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512380a146175746f" . + "5f74616767696e675f656e61626c656418082001280b321a2e676f6f676c" . + "652e70726f746f6275662e426f6f6c56616c756512360a126861735f7061" . + "72746e6572735f626164676518092001280b321a2e676f6f676c652e7072" . + "6f746f6275662e426f6f6c56616c7565122b0a076d616e61676572180c20" . + "01280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75" . + "6512300a0c746573745f6163636f756e74180d2001280b321a2e676f6f67" . + "6c652e70726f746f6275662e426f6f6c56616c756512570a1663616c6c5f" . + "7265706f7274696e675f73657474696e67180a2001280b32372e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "43616c6c5265706f7274696e6753657474696e6712610a1b636f6e766572" . + "73696f6e5f747261636b696e675f73657474696e67180e2001280b323c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e436f6e76657273696f6e547261636b696e6753657474696e6712" . + "520a1372656d61726b6574696e675f73657474696e67180f2001280b3235" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e52656d61726b6574696e6753657474696e6712bd010a2e7061" . + "795f7065725f636f6e76657273696f6e5f656c69676962696c6974795f66" . + "61696c7572655f726561736f6e7318102003280e3284012e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e437573746f6d" . + "6572506179506572436f6e76657273696f6e456c69676962696c69747946" . + "61696c757265526561736f6e456e756d2e437573746f6d65725061795065" . + "72436f6e76657273696f6e456c69676962696c6974794661696c75726552" . + "6561736f6e22d7010a1443616c6c5265706f7274696e6753657474696e67" . + "123a0a1663616c6c5f7265706f7274696e675f656e61626c656418012001" . + "280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c7565" . + "12450a2163616c6c5f636f6e76657273696f6e5f7265706f7274696e675f" . + "656e61626c656418022001280b321a2e676f6f676c652e70726f746f6275" . + "662e426f6f6c56616c7565123c0a1663616c6c5f636f6e76657273696f6e" . + "5f616374696f6e18092001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756522a3010a19436f6e76657273696f6e5472" . + "61636b696e6753657474696e67123b0a16636f6e76657273696f6e5f7472" . + "61636b696e675f696418012001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c756512490a2463726f73735f6163636f756e" . + "745f636f6e76657273696f6e5f747261636b696e675f696418022001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756522" . + "520a1252656d61726b6574696e6753657474696e67123c0a16676f6f676c" . + "655f676c6f62616c5f736974655f74616718012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756542fa010a25636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "7572636573420d437573746f6d657250726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php new file mode 100644 index 000000000..fffe8e50a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0abe040a37676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f636c69656e742e70726f746f" . + "1221676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22b6010a0e437573746f6d6572436c69656e7412150a0d7265" . + "736f757263655f6e616d6518012001280912350a0f636c69656e745f6375" . + "73746f6d657218032001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c7565122a0a0668696464656e18042001280b321a" . + "2e676f6f676c652e70726f746f6275662e426f6f6c56616c7565122a0a05" . + "6c6576656c18052001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c75654280020a25636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365734213437573746f6d" . + "6572436c69656e7450726f746f50015a4a676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365733b7265736f75726365" . + "73a20203474141aa0221476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5265736f7572636573ea0225476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a5265736f757263657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php new file mode 100644 index 000000000..62380fffc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0acd050a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f636c69656e745f6c696e6b2e" . + "70726f746f1221676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365731a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f229c020a12437573746f6d6572436c69656e" . + "744c696e6b12150a0d7265736f757263655f6e616d651801200128091235" . + "0a0f636c69656e745f637573746f6d657218032001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512340a0f6d616e" . + "616765725f6c696e6b5f696418042001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c756512560a06737461747573180520" . + "01280e32462e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e4d616e616765724c696e6b537461747573456e756d2e4d61" . + "6e616765724c696e6b537461747573122a0a0668696464656e1806200128" . + "0b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c756542" . + "84020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365734217437573746f6d6572436c69656e744c696e" . + "6b50726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f7265736f75726365733b7265736f7572636573a20203474141" . + "aa0221476f6f676c652e4164732e476f6f676c654164732e56322e526573" . + "6f7572636573ca0221476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php new file mode 100644 index 000000000..64f008363 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0a98060a42676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f657874656e73696f6e5f7365" . + "7474696e672e70726f746f1221676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365731a32676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f657874656e73696f6e5f7479" . + "70652e70726f746f1a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22a7020a18437573746f6d6572457874656e7369" . + "6f6e53657474696e6712150a0d7265736f757263655f6e616d6518012001" . + "280912560a0e657874656e73696f6e5f7479706518022001280e323e2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e45" . + "7874656e73696f6e54797065456e756d2e457874656e73696f6e54797065" . + "123a0a14657874656e73696f6e5f666565645f6974656d7318032003280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12600a0664657669636518042001280e32502e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e457874656e73696f6e5365" . + "7474696e67446576696365456e756d2e457874656e73696f6e5365747469" . + "6e67446576696365428a020a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f7572636573421d437573746f6d6572" . + "457874656e73696f6e53657474696e6750726f746f50015a4a676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f7265736f75726365733b" . + "7265736f7572636573a20203474141aa0221476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e5265736f7572636573ca0221476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5265736f7572636573ea0225" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265" . + "736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php new file mode 100644 index 000000000..822c366e8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php @@ -0,0 +1,57 @@ +internalAddGeneratedFile(hex2bin( + "0adf060a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f666565642e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a34676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f666565645f6c696e6b5f7374617475732e70726f746f1a3467" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f70" . + "6c616365686f6c6465725f747970652e70726f746f1a1e676f6f676c652f" . + "70726f746f6275662f77726170706572732e70726f746f1a1c676f6f676c" . + "652f6170692f616e6e6f746174696f6e732e70726f746f22cf020a0c4375" . + "73746f6d65724665656412150a0d7265736f757263655f6e616d65180120" . + "012809122a0a046665656418022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565125d0a11706c616365686f6c64" . + "65725f747970657318032003280e32422e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e506c616365686f6c6465725479" . + "7065456e756d2e506c616365686f6c64657254797065124b0a116d617463" . + "68696e675f66756e6374696f6e18042001280b32302e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e4d61746368696e" . + "6746756e6374696f6e12500a0673746174757318052001280e32402e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e656e756d732e4665" . + "65644c696e6b537461747573456e756d2e466565644c696e6b5374617475" . + "7342fe010a25636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365734211437573746f6d65724665656450726f" . + "746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365733b7265736f7572636573a20203474141aa022147" . + "6f6f676c652e4164732e476f6f676c654164732e56322e5265736f757263" . + "6573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c52" . + "65736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php new file mode 100644 index 000000000..5c922e1cd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a89040a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f6c6162656c2e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f2283010a0d437573746f6d65724c6162656c12150a0d7265736f" . + "757263655f6e616d65180120012809122e0a08637573746f6d6572180220" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565122b0a056c6162656c18032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756542ff010a25636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "4212437573746f6d65724c6162656c50726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php new file mode 100644 index 000000000..d6f8c3055 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0aa5050a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f6d616e616765725f6c696e6b" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a1e676f6f676c652f70726f746f6275662f77" . + "726170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f22f2010a13437573746f6d65724d616e61" . + "6765724c696e6b12150a0d7265736f757263655f6e616d65180120012809" . + "12360a106d616e616765725f637573746f6d657218032001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c756512340a0f" . + "6d616e616765725f6c696e6b5f696418042001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512560a06737461747573" . + "18052001280e32462e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e4d616e616765724c696e6b537461747573456e756d" . + "2e4d616e616765724c696e6b5374617475734285020a25636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "4218437573746f6d65724d616e616765724c696e6b50726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php new file mode 100644 index 000000000..1f1d1c2fa --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php @@ -0,0 +1,66 @@ +internalAddGeneratedFile(hex2bin( + "0afd080a43676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f6e656761746976655f637269" . + "746572696f6e2e70726f746f1221676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365731a32676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f637269746572696f6e5f74" . + "7970652e70726f746f1a1e676f6f676c652f70726f746f6275662f777261" . + "70706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f228a050a19437573746f6d65724e6567617469" . + "7665437269746572696f6e12150a0d7265736f757263655f6e616d651801" . + "2001280912270a02696418022001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c7565124c0a047479706518032001280e32" . + "3e2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d" . + "732e437269746572696f6e54797065456e756d2e437269746572696f6e54" . + "79706512490a0d636f6e74656e745f6c6162656c18042001280b32302e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "436f6e74656e744c6162656c496e666f480012530a126d6f62696c655f61" . + "70706c69636174696f6e18052001280b32352e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e4d6f62696c654170706c" . + "69636174696f6e496e666f480012540a136d6f62696c655f6170705f6361" . + "7465676f727918062001280b32352e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e4d6f62696c654170704361746567" . + "6f7279496e666f480012420a09706c6163656d656e7418072001280b322d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f" . + "6e2e506c6163656d656e74496e666f480012490a0d796f75747562655f76" . + "6964656f18082001280b32302e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e596f7554756265566964656f496e666f" . + "4800124d0a0f796f75747562655f6368616e6e656c18092001280b32322e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e596f75547562654368616e6e656c496e666f4800420b0a096372697465" . + "72696f6e428b020a25636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f7572636573421e437573746f6d65724e656761" . + "74697665437269746572696f6e50726f746f50015a4a676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f7265736f75726365733b726573" . + "6f7572636573a20203474141aa0221476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e5265736f7572636573ca0221476f6f676c655c4164" . + "735c476f6f676c654164735c56325c5265736f7572636573ea0225476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f75" . + "72636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php new file mode 100644 index 000000000..984fb56ca --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0a90060a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f64657461696c5f706c6163656d656e745f76696577" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a1e676f6f676c652f70726f746f6275662f77" . + "726170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f22dd020a1344657461696c506c6163656d" . + "656e745669657712150a0d7265736f757263655f6e616d65180120012809" . + "122f0a09706c6163656d656e7418022001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512320a0c646973706c6179" . + "5f6e616d6518032001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512400a1a67726f75705f706c6163656d656e74" . + "5f7461726765745f75726c18042001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512300a0a7461726765745f7572" . + "6c18052001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756512560a0e706c6163656d656e745f747970651806200128" . + "0e323e2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e506c6163656d656e7454797065456e756d2e506c6163656d656e" . + "74547970654285020a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f7572636573421844657461696c506c616365" . + "6d656e745669657750726f746f50015a4a676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365733b7265736f75726365" . + "73a20203474141aa0221476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5265736f7572636573ea0225476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a5265736f757263657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php new file mode 100644 index 000000000..2da723a4d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a9d030a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f646973706c61795f6b6579776f72645f766965772e" . + "70726f746f1221676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f7572636573222b0a12446973706c61794b6579776f72645669" . + "657712150a0d7265736f757263655f6e616d651801200128094284020a25" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365734217446973706c61794b6579776f72645669657750726f" . + "746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365733b7265736f7572636573a20203474141aa022147" . + "6f6f676c652e4164732e476f6f676c654164732e56322e5265736f757263" . + "6573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c52" . + "65736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/DistanceView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/DistanceView.php new file mode 100644 index 000000000..66aa7379e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/DistanceView.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0ad7040a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f64697374616e63655f766965772e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22b3010a0c44697374616e63655669657712150a0d7265736f" . + "757263655f6e616d6518012001280912590a0f64697374616e63655f6275" . + "636b657418022001280e32402e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e44697374616e63654275636b6574456e75" . + "6d2e44697374616e63654275636b657412310a0d6d65747269635f737973" . + "74656d18032001280b321a2e676f6f676c652e70726f746f6275662e426f" . + "6f6c56616c756542fe010a25636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f7572636573421144697374616e636556" . + "69657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php b/metadata/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php new file mode 100644 index 000000000..a0c6a8c7e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ad2060a37676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f646f6d61696e5f63617465676f72792e70726f746f" . + "1221676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22ca030a0e446f6d61696e43617465676f727912150a0d7265" . + "736f757263655f6e616d65180120012809122e0a0863616d706169676e18" . + "022001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565122e0a0863617465676f727918032001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512330a0d6c616e" . + "67756167655f636f646518042001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565122c0a06646f6d61696e18052001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512370a11636f7665726167655f6672616374696f6e18062001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "320a0d63617465676f72795f72616e6b18072001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c756512300a0c6861735f63" . + "68696c6472656e18082001280b321a2e676f6f676c652e70726f746f6275" . + "662e426f6f6c56616c7565123f0a1a7265636f6d6d656e6465645f637063" . + "5f6269645f6d6963726f7318092001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c75654280020a25636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365734213" . + "446f6d61696e43617465676f727950726f746f50015a4a676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f7265736f75726365733b7265" . + "736f7572636573a20203474141aa0221476f6f676c652e4164732e476f6f" . + "676c654164732e56322e5265736f7572636573ca0221476f6f676c655c41" . + "64735c476f6f676c654164735c56325c5265736f7572636573ea0225476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f" . + "7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php new file mode 100644 index 000000000..a4bcfc2f8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0aaa050a4b676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f64796e616d69635f7365617263685f6164735f7365" . + "617263685f7465726d5f766965772e70726f746f1221676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365731a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f22fe010a1e" . + "44796e616d69635365617263684164735365617263685465726d56696577" . + "12150a0d7265736f757263655f6e616d6518012001280912310a0b736561" . + "7263685f7465726d18022001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565122e0a08686561646c696e6518032001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512320a0c6c616e64696e675f7061676518042001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565122e0a087061" . + "67655f75726c18052001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c75654290020a25636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f7572636573422344796e61" . + "6d69635365617263684164735365617263685465726d5669657750726f74" . + "6f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "7265736f75726365733b7265736f7572636573a20203474141aa0221476f" . + "6f676c652e4164732e476f6f676c654164732e56322e5265736f75726365" . + "73ca0221476f6f676c655c4164735c476f6f676c654164735c56325c5265" . + "736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php new file mode 100644 index 000000000..88ae9c30b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a85040a42676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f657870616e6465645f6c616e64696e675f70616765" . + "5f766965772e70726f746f1221676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f226a0a17457870616e6465644c61" . + "6e64696e67506167655669657712150a0d7265736f757263655f6e616d65" . + "18012001280912380a12657870616e6465645f66696e616c5f75726c1802" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c75654289020a25636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f7572636573421c457870616e6465644c616e64" . + "696e67506167655669657750726f746f50015a4a676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f7265736f75726365733b7265736f75" . + "72636573a20203474141aa0221476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5265736f7572636573ca0221476f6f676c655c4164735c" . + "476f6f676c654164735c56325c5265736f7572636573ea0225476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f757263" . + "6573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php new file mode 100644 index 000000000..23e508792 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php @@ -0,0 +1,106 @@ +internalAddGeneratedFile(hex2bin( + "0acc110a3b676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f657874656e73696f6e5f666565645f6974656d2e70" . + "726f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365731a2f676f6f676c652f6164732f676f6f676c656164" . + "732f76322f636f6d6d6f6e2f657874656e73696f6e732e70726f746f1a32" . + "676f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f" . + "657874656e73696f6e5f747970652e70726f746f1a34676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f666565645f697465" . + "6d5f7374617475732e70726f746f1a3b676f6f676c652f6164732f676f6f" . + "676c656164732f76322f656e756d732f666565645f6974656d5f74617267" . + "65745f6465766963652e70726f746f1a1e676f6f676c652f70726f746f62" . + "75662f77726170706572732e70726f746f1a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f22c50c0a11457874656e73696f" . + "6e466565644974656d12150a0d7265736f757263655f6e616d6518012001" . + "280912560a0e657874656e73696f6e5f74797065180d2001280e323e2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e45" . + "7874656e73696f6e54797065456e756d2e457874656e73696f6e54797065" . + "12350a0f73746172745f646174655f74696d6518052001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512330a0d65" . + "6e645f646174655f74696d6518062001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512440a0c61645f7363686564" . + "756c657318102003280b322e2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e636f6d6d6f6e2e41645363686564756c65496e666f125c" . + "0a0664657669636518112001280e324c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e466565644974656d5461726765" . + "74446576696365456e756d2e466565644974656d54617267657444657669" . + "636512420a1c74617267657465645f67656f5f7461726765745f636f6e73" . + "74616e7418142001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512450a1074617267657465645f6b6579776f7264" . + "18162001280b322b2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e636f6d6d6f6e2e4b6579776f7264496e666f12500a067374617475" . + "7318042001280e32402e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e466565644974656d537461747573456e756d2e46" . + "6565644974656d537461747573124e0a12736974656c696e6b5f66656564" . + "5f6974656d18022001280b32302e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e536974656c696e6b46656564497465" . + "6d480012610a1c737472756374757265645f736e69707065745f66656564" . + "5f6974656d18032001280b32392e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e53747275637475726564536e697070" . + "6574466565644974656d480012440a0d6170705f666565645f6974656d18" . + "072001280b322b2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e417070466565644974656d480012460a0e63616c6c" . + "5f666565645f6974656d18082001280b322c2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e43616c6c466565644974" . + "656d4800124c0a1163616c6c6f75745f666565645f6974656d1809200128" . + "0b322f2e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e43616c6c6f7574466565644974656d480012550a1674657874" . + "5f6d6573736167655f666565645f6974656d180a2001280b32332e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e5465" . + "78744d657373616765466565644974656d480012480a0f70726963655f66" . + "6565645f6974656d180b2001280b322d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e507269636546656564497465" . + "6d480012500a1370726f6d6f74696f6e5f666565645f6974656d180c2001" . + "280b32312e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e50726f6d6f74696f6e466565644974656d4800124e0a126c" . + "6f636174696f6e5f666565645f6974656d180e2001280b32302e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4c6f63" . + "6174696f6e466565644974656d480012610a1c616666696c696174655f6c" . + "6f636174696f6e5f666565645f6974656d180f2001280b32392e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e416666" . + "696c696174654c6f636174696f6e466565644974656d480012390a117461" . + "7267657465645f63616d706169676e18122001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565480112390a11746172" . + "67657465645f61645f67726f757018132001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c75654801420b0a0965787465" . + "6e73696f6e421c0a1a73657276696e675f7265736f757263655f74617267" . + "6574696e674283020a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365734216457874656e73696f6e4665" . + "65644974656d50726f746f50015a4a676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f7265736f75726365733b7265736f7572636573a2" . + "0203474141aa0221476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5265736f7572636573ea0225476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a5265736f7572636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Feed.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Feed.php new file mode 100644 index 000000000..0ec6adfcf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Feed.php @@ -0,0 +1,113 @@ +internalAddGeneratedFile(hex2bin( + "0abe130a2c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f666565642e70726f746f1221676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f75726365731a37676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f656e756d732f66656564" . + "5f6174747269627574655f747970652e70726f746f1a2f676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f666565645f6f72" . + "6967696e2e70726f746f1a2f676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f656e756d732f666565645f7374617475732e70726f746f1a" . + "1e676f6f676c652f70726f746f6275662f77726170706572732e70726f74" . + "6f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f74" . + "6f22ba0b0a044665656412150a0d7265736f757263655f6e616d65180120" . + "01280912270a02696418022001280b321b2e676f6f676c652e70726f746f" . + "6275662e496e74363456616c7565122a0a046e616d6518032001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651244" . + "0a0a6174747269627574657318042003280b32302e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f75726365732e4665656441" . + "747472696275746512570a146174747269627574655f6f7065726174696f" . + "6e7318092003280b32392e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e466565644174747269627574654f70" . + "65726174696f6e12480a066f726967696e18052001280e32382e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e46656564" . + "4f726967696e456e756d2e466565644f726967696e12480a067374617475" . + "7318082001280e32382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e46656564537461747573456e756d2e4665656453" . + "746174757312630a19706c616365735f6c6f636174696f6e5f666565645f" . + "6461746118062001280b323e2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e466565642e506c616365734c6f" . + "636174696f6e4665656444617461480012690a1c616666696c696174655f" . + "6c6f636174696f6e5f666565645f6461746118072001280b32412e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e466565642e416666696c696174654c6f636174696f6e46656564446174" . + "6148001ac9040a16506c616365734c6f636174696f6e4665656444617461" . + "125c0a0a6f617574685f696e666f18012001280b32482e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e466565" . + "642e506c616365734c6f636174696f6e46656564446174612e4f41757468" . + "496e666f12330a0d656d61696c5f6164647265737318022001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756512390a" . + "13627573696e6573735f6163636f756e745f6964180a2001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c7565123a0a14" . + "627573696e6573735f6e616d655f66696c74657218042001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c756512360a10" . + "63617465676f72795f66696c7465727318052003280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512330a0d6c616265" . + "6c5f66696c7465727318062003280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c75651ab7010a094f41757468496e666f12" . + "310a0b687474705f6d6574686f6418012001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512360a10687474705f72" . + "6571756573745f75726c18022001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565123f0a19687474705f617574686f" . + "72697a6174696f6e5f68656164657218032001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c75651ad7010a1941666669" . + "6c696174654c6f636174696f6e4665656444617461122e0a09636861696e" . + "5f69647318012003280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c75651289010a1172656c6174696f6e736869705f747970" . + "6518022001280e326e2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e416666696c696174654c6f636174696f6e466565" . + "6452656c6174696f6e7368697054797065456e756d2e416666696c696174" . + "654c6f636174696f6e4665656452656c6174696f6e736869705479706542" . + "1d0a1b73797374656d5f666565645f67656e65726174696f6e5f64617461" . + "22ee010a0d4665656441747472696275746512270a02696418012001280b" . + "321b2e676f6f676c652e70726f746f6275662e496e74363456616c756512" . + "2a0a046e616d6518022001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512540a047479706518032001280e32462e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "4665656441747472696275746554797065456e756d2e4665656441747472" . + "69627574655479706512320a0e69735f706172745f6f665f6b6579180420" . + "01280b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75" . + "6522e2010a16466565644174747269627574654f7065726174696f6e1254" . + "0a086f70657261746f7218012001280e32422e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e46656564417474" . + "7269627574654f7065726174696f6e2e4f70657261746f72123f0a057661" . + "6c756518022001280b32302e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e4665656441747472696275746522" . + "310a084f70657261746f72120f0a0b554e5350454349464945441000120b" . + "0a07554e4b4e4f574e100112070a03414444100242f6010a25636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "657342094665656450726f746f50015a4a676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365733b7265736f75726365" . + "73a20203474141aa0221476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5265736f7572636573ea0225476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a5265736f757263657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/FeedItem.php b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedItem.php new file mode 100644 index 000000000..22fb22af3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedItem.php @@ -0,0 +1,156 @@ +internalAddGeneratedFile(hex2bin( + "0ae51b0a31676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f666565645f6974656d2e70726f746f1221676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365731a" . + "30676f6f676c652f6164732f676f6f676c656164732f76322f636f6d6d6f" . + "6e2f666565645f636f6d6d6f6e2e70726f746f1a2b676f6f676c652f6164" . + "732f676f6f676c656164732f76322f636f6d6d6f6e2f706f6c6963792e70" . + "726f746f1a45676f6f676c652f6164732f676f6f676c656164732f76322f" . + "656e756d732f666565645f6974656d5f7175616c6974795f617070726f76" . + "616c5f7374617475732e70726f746f1a48676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f666565645f6974656d5f717561" . + "6c6974795f646973617070726f76616c5f726561736f6e2e70726f746f1a" . + "34676f6f676c652f6164732f676f6f676c656164732f76322f656e756d73" . + "2f666565645f6974656d5f7374617475732e70726f746f1a3f676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f666565645f" . + "6974656d5f76616c69646174696f6e5f7374617475732e70726f746f1a3d" . + "676f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f" . + "67656f5f746172676574696e675f7265737472696374696f6e2e70726f74" . + "6f1a34676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f706c616365686f6c6465725f747970652e70726f746f1a3a676f6f" . + "676c652f6164732f676f6f676c656164732f76322f656e756d732f706f6c" . + "6963795f617070726f76616c5f7374617475732e70726f746f1a38676f6f" . + "676c652f6164732f676f6f676c656164732f76322f656e756d732f706f6c" . + "6963795f7265766965775f7374617475732e70726f746f1a3f676f6f676c" . + "652f6164732f676f6f676c656164732f76322f6572726f72732f66656564" . + "5f6974656d5f76616c69646174696f6e5f6572726f722e70726f746f1a1e" . + "676f6f676c652f70726f746f6275662f77726170706572732e70726f746f" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "22a8050a08466565644974656d12150a0d7265736f757263655f6e616d65" . + "180120012809122a0a046665656418022001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512270a02696418032001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "6512350a0f73746172745f646174655f74696d6518042001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c756512330a0d" . + "656e645f646174655f74696d6518052001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512530a1061747472696275" . + "74655f76616c75657318062003280b32392e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e466565644974656d" . + "41747472696275746556616c756512750a1967656f5f746172676574696e" . + "675f7265737472696374696f6e18072001280e32522e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e47656f5461726765" . + "74696e675265737472696374696f6e456e756d2e47656f54617267657469" . + "6e675265737472696374696f6e124e0a1575726c5f637573746f6d5f7061" . + "72616d657465727318082003280b322f2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e437573746f6d506172616d65" . + "74657212500a0673746174757318092001280e32402e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e466565644974656d" . + "537461747573456e756d2e466565644974656d53746174757312560a0c70" . + "6f6c6963795f696e666f73180a2003280b32402e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e466565644974" . + "656d506c616365686f6c646572506f6c696379496e666f22ae040a164665" . + "65644974656d41747472696275746556616c756512360a11666565645f61" . + "74747269627574655f696418012001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c756512320a0d696e74656765725f7661" . + "6c756518022001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c756512310a0d626f6f6c65616e5f76616c75651803200128" . + "0b321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c756512" . + "320a0c737472696e675f76616c756518042001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512320a0c646f75626c" . + "655f76616c756518052001280b321c2e676f6f676c652e70726f746f6275" . + "662e446f75626c6556616c7565123a0a0b70726963655f76616c75651806" . + "2001280b32252e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e4d6f6e657912330a0e696e74656765725f76616c7565" . + "7318072003280b321b2e676f6f676c652e70726f746f6275662e496e7436" . + "3456616c756512320a0e626f6f6c65616e5f76616c75657318082003280b" . + "321a2e676f6f676c652e70726f746f6275662e426f6f6c56616c75651233" . + "0a0d737472696e675f76616c75657318092003280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512330a0d646f75626c" . + "655f76616c756573180a2003280b321c2e676f6f676c652e70726f746f62" . + "75662e446f75626c6556616c756522b1070a1d466565644974656d506c61" . + "6365686f6c646572506f6c696379496e666f12610a15706c616365686f6c" . + "6465725f747970655f656e756d180a2001280e32422e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e506c616365686f6c" . + "64657254797065456e756d2e506c616365686f6c6465725479706512400a" . + "1a666565645f6d617070696e675f7265736f757263655f6e616d65180220" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565125f0a0d7265766965775f73746174757318032001280e32482e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e50" . + "6f6c696379526576696577537461747573456e756d2e506f6c6963795265" . + "7669657753746174757312650a0f617070726f76616c5f73746174757318" . + "042001280e324c2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e506f6c696379417070726f76616c537461747573456e" . + "756d2e506f6c696379417070726f76616c537461747573124e0a14706f6c" . + "6963795f746f7069635f656e747269657318052003280b32302e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c" . + "696379546f706963456e747279126f0a1176616c69646174696f6e5f7374" . + "6174757318062001280e32542e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e466565644974656d56616c69646174696f" . + "6e537461747573456e756d2e466565644974656d56616c69646174696f6e" . + "53746174757312550a1176616c69646174696f6e5f6572726f7273180720" . + "03280b323a2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e466565644974656d56616c69646174696f6e4572" . + "726f72127f0a177175616c6974795f617070726f76616c5f737461747573" . + "18082001280e325e2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e466565644974656d5175616c697479417070726f76" . + "616c537461747573456e756d2e466565644974656d5175616c6974794170" . + "70726f76616c5374617475731289010a1b7175616c6974795f6469736170" . + "70726f76616c5f726561736f6e7318092003280e32642e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e46656564497465" . + "6d5175616c697479446973617070726f76616c526561736f6e456e756d2e" . + "466565644974656d5175616c697479446973617070726f76616c52656173" . + "6f6e22a6020a17466565644974656d56616c69646174696f6e4572726f72" . + "126d0a1076616c69646174696f6e5f6572726f7218012001280e32532e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e6572726f72732e" . + "466565644974656d56616c69646174696f6e4572726f72456e756d2e4665" . + "65644974656d56616c69646174696f6e4572726f7212310a0b6465736372" . + "697074696f6e18022001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c756512370a12666565645f617474726962757465" . + "5f69647318032003280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512300a0a65787472615f696e666f18052001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756542" . + "fa010a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f7572636573420d466565644974656d50726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php new file mode 100644 index 000000000..53153bc4c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php @@ -0,0 +1,69 @@ +internalAddGeneratedFile(hex2bin( + "0aae090a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f666565645f6974656d5f7461726765742e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a3b676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f666565645f6974656d5f7461726765745f6465766963" . + "652e70726f746f1a39676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f666565645f6974656d5f7461726765745f74797065" . + "2e70726f746f1a1e676f6f676c652f70726f746f6275662f777261707065" . + "72732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f228d050a0e466565644974656d54617267657412150a" . + "0d7265736f757263655f6e616d65180120012809122f0a09666565645f69" . + "74656d18022001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512670a15666565645f6974656d5f7461726765745f" . + "7479706518032001280e32482e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e466565644974656d546172676574547970" . + "65456e756d2e466565644974656d5461726765745479706512380a136665" . + "65645f6974656d5f7461726765745f696418062001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c756512300a0863616d70" . + "6169676e18042001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c7565480012300a0861645f67726f757018052001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "4800123e0a076b6579776f726418072001280b322b2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e4b6579776f7264" . + "496e666f4800123b0a1367656f5f7461726765745f636f6e7374616e7418" . + "082001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c75654800125e0a0664657669636518092001280e324c2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e46656564" . + "4974656d546172676574446576696365456e756d2e466565644974656d54" . + "6172676574446576696365480012450a0b61645f7363686564756c65180a" . + "2001280b322e2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e636f6d6d6f6e2e41645363686564756c65496e666f480042080a067461" . + "726765744280020a25636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365734213466565644974656d54617267" . + "657450726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f7265736f75726365733b7265736f7572636573a202034741" . + "41aa0221476f6f676c652e4164732e476f6f676c654164732e56322e5265" . + "736f7572636573ca0221476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5265736f7572636573620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php new file mode 100644 index 000000000..1b7e116f3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php @@ -0,0 +1,213 @@ +internalAddGeneratedFile(hex2bin( + "0aac260a34676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f666565645f6d617070696e672e70726f746f122167" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65731a48676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f616666696c696174655f6c6f636174696f6e5f706c616365686f" . + "6c6465725f6669656c642e70726f746f1a39676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f6170705f706c616365686f6c" . + "6465725f6669656c642e70726f746f1a3a676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f63616c6c5f706c616365686f6c" . + "6465725f6669656c642e70726f746f1a3d676f6f676c652f6164732f676f" . + "6f676c656164732f76322f656e756d732f63616c6c6f75745f706c616365" . + "686f6c6465725f6669656c642e70726f746f1a3c676f6f676c652f616473" . + "2f676f6f676c656164732f76322f656e756d732f637573746f6d5f706c61" . + "6365686f6c6465725f6669656c642e70726f746f1a41676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f6473615f70616765" . + "5f666565645f637269746572696f6e5f6669656c642e70726f746f1a3f67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f65" . + "6475636174696f6e5f706c616365686f6c6465725f6669656c642e70726f" . + "746f1a3f676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f666565645f6d617070696e675f637269746572696f6e5f747970" . + "652e70726f746f1a37676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f666565645f6d617070696e675f7374617475732e70" . + "726f746f1a3c676f6f676c652f6164732f676f6f676c656164732f76322f" . + "656e756d732f666c696768745f706c616365686f6c6465725f6669656c64" . + "2e70726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f686f74656c5f706c616365686f6c6465725f6669656c" . + "642e70726f746f1a39676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f6a6f625f706c616365686f6c6465725f6669656c64" . + "2e70726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f6c6f63616c5f706c616365686f6c6465725f6669656c" . + "642e70726f746f1a50676f6f676c652f6164732f676f6f676c656164732f" . + "76322f656e756d732f6c6f636174696f6e5f657874656e73696f6e5f7461" . + "72676574696e675f637269746572696f6e5f6669656c642e70726f746f1a" . + "3e676f6f676c652f6164732f676f6f676c656164732f76322f656e756d73" . + "2f6c6f636174696f6e5f706c616365686f6c6465725f6669656c642e7072" . + "6f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f6d6573736167655f706c616365686f6c6465725f6669656c64" . + "2e70726f746f1a34676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f706c616365686f6c6465725f747970652e70726f746f" . + "1a3b676f6f676c652f6164732f676f6f676c656164732f76322f656e756d" . + "732f70726963655f706c616365686f6c6465725f6669656c642e70726f74" . + "6f1a3f676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f70726f6d6f74696f6e5f706c616365686f6c6465725f6669656c64" . + "2e70726f746f1a41676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f7265616c5f6573746174655f706c616365686f6c6465" . + "725f6669656c642e70726f746f1a3e676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f656e756d732f736974656c696e6b5f706c61636568" . + "6f6c6465725f6669656c642e70726f746f1a48676f6f676c652f6164732f" . + "676f6f676c656164732f76322f656e756d732f737472756374757265645f" . + "736e69707065745f706c616365686f6c6465725f6669656c642e70726f74" . + "6f1a3c676f6f676c652f6164732f676f6f676c656164732f76322f656e75" . + "6d732f74726176656c5f706c616365686f6c6465725f6669656c642e7072" . + "6f746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f22de030a0b466565644d617070696e6712150a0d7265736f75" . + "7263655f6e616d65180120012809122a0a046665656418022001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c7565125a" . + "0a186174747269627574655f6669656c645f6d617070696e677318052003" . + "280b32382e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e4174747269627574654669656c644d617070696e67" . + "12560a0673746174757318062001280e32462e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e656e756d732e466565644d617070696e67" . + "537461747573456e756d2e466565644d617070696e67537461747573125e" . + "0a10706c616365686f6c6465725f7479706518032001280e32422e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e506c61" . + "6365686f6c64657254797065456e756d2e506c616365686f6c6465725479" . + "70654800126e0a0e637269746572696f6e5f7479706518042001280e3254" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e466565644d617070696e67437269746572696f6e54797065456e756d2e" . + "466565644d617070696e67437269746572696f6e54797065480042080a06" . + "74617267657422ea130a154174747269627574654669656c644d61707069" . + "6e6712360a11666565645f6174747269627574655f696418012001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c7565122d" . + "0a086669656c645f696418022001280b321b2e676f6f676c652e70726f74" . + "6f6275662e496e74363456616c7565126e0a0e736974656c696e6b5f6669" . + "656c6418032001280e32542e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e536974656c696e6b506c616365686f6c6465" . + "724669656c64456e756d2e536974656c696e6b506c616365686f6c646572" . + "4669656c64480012620a0a63616c6c5f6669656c6418042001280e324c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "43616c6c506c616365686f6c6465724669656c64456e756d2e43616c6c50" . + "6c616365686f6c6465724669656c644800125f0a096170705f6669656c64" . + "18052001280e324a2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e417070506c616365686f6c6465724669656c64456e" . + "756d2e417070506c616365686f6c6465724669656c644800126e0a0e6c6f" . + "636174696f6e5f6669656c6418062001280e32542e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d732e4c6f636174696f6e50" . + "6c616365686f6c6465724669656c64456e756d2e4c6f636174696f6e506c" . + "616365686f6c6465724669656c644800128a010a18616666696c69617465" . + "5f6c6f636174696f6e5f6669656c6418072001280e32662e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e416666696c69" . + "6174654c6f636174696f6e506c616365686f6c6465724669656c64456e75" . + "6d2e416666696c696174654c6f636174696f6e506c616365686f6c646572" . + "4669656c644800126b0a0d63616c6c6f75745f6669656c6418082001280e" . + "32522e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732e43616c6c6f7574506c616365686f6c6465724669656c64456e756d" . + "2e43616c6c6f7574506c616365686f6c6465724669656c644800128a010a" . + "18737472756374757265645f736e69707065745f6669656c641809200128" . + "0e32662e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e53747275637475726564536e6970706574506c616365686f6c64" . + "65724669656c64456e756d2e53747275637475726564536e697070657450" . + "6c616365686f6c6465724669656c644800126b0a0d6d6573736167655f66" . + "69656c64180a2001280e32522e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e4d657373616765506c616365686f6c6465" . + "724669656c64456e756d2e4d657373616765506c616365686f6c64657246" . + "69656c64480012650a0b70726963655f6669656c64180b2001280e324e2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "5072696365506c616365686f6c6465724669656c64456e756d2e50726963" . + "65506c616365686f6c6465724669656c64480012710a0f70726f6d6f7469" . + "6f6e5f6669656c64180c2001280e32562e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e50726f6d6f74696f6e506c6163" . + "65686f6c6465724669656c64456e756d2e50726f6d6f74696f6e506c6163" . + "65686f6c6465724669656c644800127b0a1361645f637573746f6d697a65" . + "725f6669656c64180d2001280e325c2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e4164437573746f6d697a6572506c" . + "616365686f6c6465724669656c64456e756d2e4164437573746f6d697a65" . + "72506c616365686f6c6465724669656c64480012750a136473615f706167" . + "655f666565645f6669656c64180e2001280e32562e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e656e756d732e447361506167654665" . + "6564437269746572696f6e4669656c64456e756d2e447361506167654665" . + "6564437269746572696f6e4669656c64480012a2010a226c6f636174696f" . + "6e5f657874656e73696f6e5f746172676574696e675f6669656c64180f20" . + "01280e32742e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e4c6f636174696f6e457874656e73696f6e54617267657469" . + "6e67437269746572696f6e4669656c64456e756d2e4c6f636174696f6e45" . + "7874656e73696f6e546172676574696e67437269746572696f6e4669656c" . + "64480012710a0f656475636174696f6e5f6669656c6418102001280e3256" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e456475636174696f6e506c616365686f6c6465724669656c64456e756d" . + "2e456475636174696f6e506c616365686f6c6465724669656c6448001268" . + "0a0c666c696768745f6669656c6418112001280e32502e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e466c6967687450" . + "6c616365686f6c6465724669656c64456e756d2e466c69676874506c6163" . + "65686f6c6465724669656c64480012680a0c637573746f6d5f6669656c64" . + "18122001280e32502e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e437573746f6d506c616365686f6c6465724669656c" . + "64456e756d2e437573746f6d506c616365686f6c6465724669656c644800" . + "12650a0b686f74656c5f6669656c6418132001280e324e2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e486f74656c50" . + "6c616365686f6c6465724669656c64456e756d2e486f74656c506c616365" . + "686f6c6465724669656c64480012750a117265616c5f6573746174655f66" . + "69656c6418142001280e32582e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e5265616c457374617465506c616365686f" . + "6c6465724669656c64456e756d2e5265616c457374617465506c61636568" . + "6f6c6465724669656c64480012680a0c74726176656c5f6669656c641815" . + "2001280e32502e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e656e756d732e54726176656c506c616365686f6c6465724669656c6445" . + "6e756d2e54726176656c506c616365686f6c6465724669656c6448001265" . + "0a0b6c6f63616c5f6669656c6418162001280e324e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e4c6f63616c506c61" . + "6365686f6c6465724669656c64456e756d2e4c6f63616c506c616365686f" . + "6c6465724669656c644800125f0a096a6f625f6669656c6418172001280e" . + "324a2e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732e4a6f62506c616365686f6c6465724669656c64456e756d2e4a6f62" . + "506c616365686f6c6465724669656c64480042070a056669656c6442fd01" . + "0a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365734210466565644d617070696e6750726f746f50015a" . + "4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f7265736f" . + "75726365733b7265736f7572636573a20203474141aa0221476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5265736f7572636573ca0221" . + "476f6f676c655c4164735c476f6f676c654164735c56325c5265736f7572" . + "636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php new file mode 100644 index 000000000..1ca97dbaf --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0a9d040a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f666565645f706c616365686f6c6465725f76696577" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f228a010a1346656564506c616365686f6c6465" . + "725669657712150a0d7265736f757263655f6e616d65180120012809125c" . + "0a10706c616365686f6c6465725f7479706518022001280e32422e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e656e756d732e506c61" . + "6365686f6c64657254797065456e756d2e506c616365686f6c6465725479" . + "70654285020a25636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f7572636573421846656564506c616365686f6c6465" . + "725669657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365733b7265736f7572636573a202" . + "03474141aa0221476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c5265736f7572636573ea0225476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5265736f757263657362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/GenderView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/GenderView.php new file mode 100644 index 000000000..a548740e3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/GenderView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a84030a33676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f67656e6465725f766965772e70726f746f1221676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "7322230a0a47656e6465725669657712150a0d7265736f757263655f6e61" . + "6d6518012001280942fc010a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f7572636573420f47656e6465725669" . + "657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f7265736f75726365733b7265736f7572636573a202034741" . + "41aa0221476f6f676c652e4164732e476f6f676c654164732e56322e5265" . + "736f7572636573ca0221476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5265736f7572636573620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php new file mode 100644 index 000000000..a2bc1aaa6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0aaf060a3b676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f67656f5f7461726765745f636f6e7374616e742e70" . + "726f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365731a1e676f6f676c652f70726f746f6275662f777261" . + "70706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f2280030a1147656f546172676574436f6e7374" . + "616e7412150a0d7265736f757263655f6e616d6518012001280912270a02" . + "696418032001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c7565122a0a046e616d6518042001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512320a0c636f756e74" . + "72795f636f646518052001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512310a0b7461726765745f747970651806" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c756512620a0673746174757318072001280e32522e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e656e756d732e47656f54617267" . + "6574436f6e7374616e74537461747573456e756d2e47656f546172676574" . + "436f6e7374616e7453746174757312340a0e63616e6f6e6963616c5f6e61" . + "6d6518082001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c75654283020a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f7572636573421647656f5461726765" . + "74436f6e7374616e7450726f746f50015a4a676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f7265736f75726365733b7265736f757263" . + "6573a20203474141aa0221476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5265736f7572636573ea0225476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a5265736f7572636573" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/GeographicView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/GeographicView.php new file mode 100644 index 000000000..a9c283aac --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/GeographicView.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0ae7040a37676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f67656f677261706869635f766965772e70726f746f" . + "1221676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365731a1e676f6f676c652f70726f746f6275662f77726170706572" . + "732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f22bf010a0e47656f677261706869635669657712150a0d" . + "7265736f757263655f6e616d65180120012809125b0a0d6c6f636174696f" . + "6e5f7479706518032001280e32442e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e656e756d732e47656f546172676574696e67547970" . + "65456e756d2e47656f546172676574696e675479706512390a14636f756e" . + "7472795f637269746572696f6e5f696418042001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c75654280020a25636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "636573421347656f677261706869635669657750726f746f50015a4a676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f7265736f757263" . + "65733b7265736f7572636573a20203474141aa0221476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5265736f7572636573" . + "ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php b/metadata/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php new file mode 100644 index 000000000..f7a98050c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php @@ -0,0 +1,70 @@ +internalAddGeneratedFile(hex2bin( + "0af8090a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f676f6f676c655f6164735f6669656c642e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a3e676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f676f6f676c655f6164735f6669656c645f646174615f" . + "747970652e70726f746f1a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f228f060a0e476f6f676c654164734669656c" . + "6412150a0d7265736f757263655f6e616d65180120012809122a0a046e61" . + "6d6518022001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512620a0863617465676f727918032001280e32502e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e47" . + "6f6f676c654164734669656c6443617465676f7279456e756d2e476f6f67" . + "6c654164734669656c6443617465676f7279122e0a0a73656c6563746162" . + "6c6518042001280b321a2e676f6f676c652e70726f746f6275662e426f6f" . + "6c56616c7565122e0a0a66696c74657261626c6518052001280b321a2e67" . + "6f6f676c652e70726f746f6275662e426f6f6c56616c7565122c0a08736f" . + "727461626c6518062001280b321a2e676f6f676c652e70726f746f627566" . + "2e426f6f6c56616c756512350a0f73656c65637461626c655f7769746818" . + "072003280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c756512390a136174747269627574655f7265736f75726365731808" . + "2003280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c7565122d0a076d65747269637318092003280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565122e0a087365676d65" . + "6e7473180a2003280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512310a0b656e756d5f76616c756573180b2003280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12630a09646174615f74797065180c2001280e32502e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e476f6f676c654164" . + "734669656c644461746154797065456e756d2e476f6f676c654164734669" . + "656c644461746154797065122e0a08747970655f75726c180d2001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "2f0a0b69735f7265706561746564180e2001280b321a2e676f6f676c652e" . + "70726f746f6275662e426f6f6c56616c75654280020a25636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "4213476f6f676c654164734669656c6450726f746f50015a4a676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f7265736f75726365733b" . + "7265736f7572636573a20203474141aa0221476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e5265736f7572636573ca0221476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5265736f7572636573ea0225" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265" . + "736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php new file mode 100644 index 000000000..9c02055de --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0acb050a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f67726f75705f706c6163656d656e745f766965772e" . + "70726f746f1221676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365731a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f229a020a1247726f7570506c6163656d656e" . + "745669657712150a0d7265736f757263655f6e616d65180120012809122f" . + "0a09706c6163656d656e7418022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512320a0c646973706c61795f6e" . + "616d6518032001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756512300a0a7461726765745f75726c18042001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "560a0e706c6163656d656e745f7479706518052001280e323e2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e656e756d732e506c6163" . + "656d656e7454797065456e756d2e506c6163656d656e7454797065428402" . + "0a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f7572636573421747726f7570506c6163656d656e745669657750" . + "726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f7265736f75726365733b7265736f7572636573a20203474141aa02" . + "21476f6f676c652e4164732e476f6f676c654164732e56322e5265736f75" . + "72636573ca0221476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php new file mode 100644 index 000000000..bb6c69880 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a91030a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f686f74656c5f67726f75705f766965772e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f757263657322270a0e486f74656c47726f75705669657712150a0d7265" . + "736f757263655f6e616d651801200128094280020a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "13486f74656c47726f75705669657750726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php new file mode 100644 index 000000000..9e540354f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa3030a3e676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f686f74656c5f706572666f726d616e63655f766965" . + "772e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f7572636573222d0a14486f74656c506572666f726d616e" . + "63655669657712150a0d7265736f757263655f6e616d6518012001280942" . + "86020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365734219486f74656c506572666f726d616e636556" . + "69657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php new file mode 100644 index 000000000..6859e3ca5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php @@ -0,0 +1,58 @@ +internalAddGeneratedFile(hex2bin( + "0a96070a34676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f706c616e2e70726f746f122167" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65731a42676f6f676c652f6164732f676f6f676c656164732f76322f656e" . + "756d732f6b6579776f72645f706c616e5f666f7265636173745f696e7465" . + "7276616c2e70726f746f1a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f22d0010a0b4b6579776f7264506c616e1215" . + "0a0d7265736f757263655f6e616d6518012001280912270a026964180220" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "7565122a0a046e616d6518032001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512550a0f666f7265636173745f70" . + "6572696f6418042001280b323c2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e4b6579776f7264506c616e46" . + "6f726563617374506572696f6422dd010a194b6579776f7264506c616e46" . + "6f726563617374506572696f6412730a0d646174655f696e74657276616c" . + "18012001280e325a2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e4b6579776f7264506c616e466f726563617374496e" . + "74657276616c456e756d2e4b6579776f7264506c616e466f726563617374" . + "496e74657276616c4800123f0a0a646174655f72616e676518022001280b" . + "32292e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e4461746552616e67654800420a0a08696e74657276616c42fd01" . + "0a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f757263657342104b6579776f7264506c616e50726f746f50015a" . + "4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f7265736f" . + "75726365733b7265736f7572636573a20203474141aa0221476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5265736f7572636573ca0221" . + "476f6f676c655c4164735c476f6f676c654164735c56325c5265736f7572" . + "636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php new file mode 100644 index 000000000..2b2935a80 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0a84050a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f706c616e5f61645f67726f7570" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f22f2010a124b6579776f7264506c616e416447" . + "726f757012150a0d7265736f757263655f6e616d65180120012809123b0a" . + "156b6579776f72645f706c616e5f63616d706169676e18022001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c75651227" . + "0a02696418032001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c7565122a0a046e616d6518042001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512330a0e637063" . + "5f6269645f6d6963726f7318052001280b321b2e676f6f676c652e70726f" . + "746f6275662e496e74363456616c75654284020a25636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365734217" . + "4b6579776f7264506c616e416447726f757050726f746f50015a4a676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7265736f75726365" . + "733b7265736f7572636573a20203474141aa0221476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5265736f7572636573ea" . + "0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php new file mode 100644 index 000000000..3c26cec49 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php @@ -0,0 +1,60 @@ +internalAddGeneratedFile(hex2bin( + "0ae0070a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f706c616e5f63616d706169676e" . + "2e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365731a1e676f6f676c652f70726f746f6275662f77" . + "726170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f22da030a134b6579776f7264506c616e43" . + "616d706169676e12150a0d7265736f757263655f6e616d65180120012809" . + "12320a0c6b6579776f72645f706c616e18022001280b321c2e676f6f676c" . + "652e70726f746f6275662e537472696e6756616c756512270a0269641803" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c7565122a0a046e616d6518042001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512380a126c616e67756167655f" . + "636f6e7374616e747318052003280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512660a146b6579776f72645f706c61" . + "6e5f6e6574776f726b18062001280e32482e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d732e4b6579776f7264506c616e4e" . + "6574776f726b456e756d2e4b6579776f7264506c616e4e6574776f726b12" . + "330a0e6370635f6269645f6d6963726f7318072001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565124c0a0b67656f5f" . + "7461726765747318082003280b32372e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e4b6579776f7264506c61" . + "6e47656f54617267657422510a144b6579776f7264506c616e47656f5461" . + "7267657412390a1367656f5f7461726765745f636f6e7374616e74180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c75654285020a25636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f757263657342184b6579776f7264506c616e4361" . + "6d706169676e50726f746f50015a4a676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f7265736f75726365733b7265736f7572636573a2" . + "0203474141aa0221476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5265736f7572636573ea0225476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a5265736f7572636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php new file mode 100644 index 000000000..163eaf2e2 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0afd050a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f706c616e5f6b6579776f72642e" . + "70726f746f1221676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365731a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f22cc020a124b6579776f7264506c616e4b65" . + "79776f726412150a0d7265736f757263655f6e616d65180120012809123b" . + "0a156b6579776f72645f706c616e5f61645f67726f757018022001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "270a02696418032001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c7565122a0a047465787418042001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512580a0a6d61" . + "7463685f7479706518052001280e32442e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e4b6579776f72644d6174636854" . + "797065456e756d2e4b6579776f72644d617463685479706512330a0e6370" . + "635f6269645f6d6963726f7318062001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c75654284020a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "174b6579776f7264506c616e4b6579776f726450726f746f50015a4a676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f7265736f757263" . + "65733b7265736f7572636573a20203474141aa0221476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5265736f7572636573" . + "ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php new file mode 100644 index 000000000..e8adc3e3f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ae1050a45676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f706c616e5f6e65676174697665" . + "5f6b6579776f72642e70726f746f1221676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365731a1e676f6f676c652f7072" . + "6f746f6275662f77726170706572732e70726f746f1a1c676f6f676c652f" . + "6170692f616e6e6f746174696f6e732e70726f746f229f020a1a4b657977" . + "6f7264506c616e4e656761746976654b6579776f726412150a0d7265736f" . + "757263655f6e616d65180120012809123b0a156b6579776f72645f706c61" . + "6e5f63616d706169676e18022001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512270a02696418032001280b321b" . + "2e676f6f676c652e70726f746f6275662e496e74363456616c7565122a0a" . + "047465787418042001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756512580a0a6d617463685f747970651805200128" . + "0e32442e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e4b6579776f72644d6174636854797065456e756d2e4b6579776f" . + "72644d6174636854797065428c020a25636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f7572636573421f4b6579776f" . + "7264506c616e4e656761746976654b6579776f726450726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordView.php new file mode 100644 index 000000000..8c8ca97cb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/KeywordView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a87030a34676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f766965772e70726f746f122167" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "657322240a0b4b6579776f72645669657712150a0d7265736f757263655f" . + "6e616d6518012001280942fd010a25636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f757263657342104b6579776f72" . + "645669657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365733b7265736f7572636573a202" . + "03474141aa0221476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c5265736f7572636573ea0225476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5265736f757263657362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Label.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Label.php new file mode 100644 index 000000000..f4238d7c9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Label.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ac5050a2d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6c6162656c2e70726f746f1221676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365731a30676f6f" . + "676c652f6164732f676f6f676c656164732f76322f656e756d732f6c6162" . + "656c5f7374617475732e70726f746f1a1e676f6f676c652f70726f746f62" . + "75662f77726170706572732e70726f746f1a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f22fe010a054c6162656c12150a" . + "0d7265736f757263655f6e616d6518012001280912270a02696418022001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "65122a0a046e616d6518032001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c7565124a0a067374617475731804200128" . + "0e323a2e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e4c6162656c537461747573456e756d2e4c6162656c5374617475" . + "73123d0a0a746578745f6c6162656c18052001280b32292e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e546578744c" . + "6162656c42f7010a25636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f7572636573420a4c6162656c50726f746f5001" . + "5a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f726573" . + "6f75726365733b7265736f7572636573a20203474141aa0221476f6f676c" . + "652e4164732e476f6f676c654164732e56322e5265736f7572636573ca02" . + "21476f6f676c655c4164735c476f6f676c654164735c56325c5265736f75" . + "72636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php new file mode 100644 index 000000000..f90b0296e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php @@ -0,0 +1,42 @@ +internalAddGeneratedFile(hex2bin( + "0aee030a39676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6c616e64696e675f706167655f766965772e70726f" . + "746f1221676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f22640a0f4c616e64696e67506167655669657712150a0d" . + "7265736f757263655f6e616d65180120012809123a0a14756e657870616e" . + "6465645f66696e616c5f75726c18022001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c75654281020a25636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "7342144c616e64696e67506167655669657750726f746f50015a4a676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7265736f75726365" . + "733b7265736f7572636573a20203474141aa0221476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5265736f7572636573ea" . + "0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php new file mode 100644 index 000000000..d9050d522 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php @@ -0,0 +1,46 @@ +internalAddGeneratedFile(hex2bin( + "0ae6040a39676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6c616e67756167655f636f6e7374616e742e70726f" . + "746f1221676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f22da010a104c616e6775616765436f6e7374616e741215" . + "0a0d7265736f757263655f6e616d6518012001280912270a026964180220" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "7565122a0a04636f646518032001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c7565122a0a046e616d6518042001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "122e0a0a74617267657461626c6518052001280b321a2e676f6f676c652e" . + "70726f746f6275662e426f6f6c56616c75654282020a25636f6d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "42154c616e6775616765436f6e7374616e7450726f746f50015a4a676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7265736f75726365" . + "733b7265736f7572636573a20203474141aa0221476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5265736f7572636573ca0221476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5265736f7572636573ea" . + "0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/LocationView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/LocationView.php new file mode 100644 index 000000000..53e2ae24d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/LocationView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a8a030a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6c6f636174696f6e5f766965772e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "63657322250a0c4c6f636174696f6e5669657712150a0d7265736f757263" . + "655f6e616d6518012001280942fe010a25636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f757263657342114c6f6361" . + "74696f6e5669657750726f746f50015a4a676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365733b7265736f75726365" . + "73a20203474141aa0221476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5265736f7572636573ea0225476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a5265736f757263657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php new file mode 100644 index 000000000..319540155 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aa3030a3e676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d616e616765645f706c6163656d656e745f766965" . + "772e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f7572636573222d0a144d616e61676564506c6163656d65" . + "6e745669657712150a0d7265736f757263655f6e616d6518012001280942" . + "86020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f757263657342194d616e61676564506c6163656d656e7456" . + "69657750726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/MediaFile.php b/metadata/Google/Ads/GoogleAds/V2/Resources/MediaFile.php new file mode 100644 index 000000000..663a3370b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/MediaFile.php @@ -0,0 +1,78 @@ +internalAddGeneratedFile(hex2bin( + "0af00b0a32676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d656469615f66696c652e70726f746f1221676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "1a2d676f6f676c652f6164732f676f6f676c656164732f76322f656e756d" . + "732f6d696d655f747970652e70726f746f1a1e676f6f676c652f70726f74" . + "6f6275662f77726170706572732e70726f746f1a1c676f6f676c652f6170" . + "692f616e6e6f746174696f6e732e70726f746f22fd040a094d6564696146" . + "696c6512150a0d7265736f757263655f6e616d6518012001280912270a02" . + "696418022001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c756512440a047479706518052001280e32362e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e4d6564696154" . + "797065456e756d2e4d656469615479706512470a096d696d655f74797065" . + "18062001280e32342e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e656e756d732e4d696d6554797065456e756d2e4d696d6554797065" . + "12300a0a736f757263655f75726c18072001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c7565122a0a046e616d651808" . + "2001280b321c2e676f6f676c652e70726f746f6275662e537472696e6756" . + "616c7565122e0a0966696c655f73697a6518092001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74363456616c7565123e0a05696d6167" . + "6518032001280b322d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365732e4d65646961496d616765480012460a0c" . + "6d656469615f62756e646c6518042001280b322e2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f75726365732e4d65646961" . + "42756e646c654800123e0a05617564696f180a2001280b322d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "4d65646961417564696f4800123e0a05766964656f180b2001280b322d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e4d65646961566964656f4800420b0a096d656469617479706522" . + "370a0a4d65646961496d61676512290a046461746118012001280b321b2e" . + "676f6f676c652e70726f746f6275662e427974657356616c756522380a0b" . + "4d6564696142756e646c6512290a046461746118012001280b321b2e676f" . + "6f676c652e70726f746f6275662e427974657356616c756522450a0a4d65" . + "646961417564696f12370a1261645f6475726174696f6e5f6d696c6c6973" . + "18012001280b321b2e676f6f676c652e70726f746f6275662e496e743634" . + "56616c756522e9010a0a4d65646961566964656f12370a1261645f647572" . + "6174696f6e5f6d696c6c697318012001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c756512360a10796f75747562655f76" . + "6964656f5f696418022001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512390a136164766572746973696e675f69" . + "645f636f646518032001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c7565122f0a09697363695f636f64651804200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6542fb010a25636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f7572636573420e4d6564696146696c6550726f746f50" . + "015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f7265" . + "736f75726365733b7265736f7572636573a20203474141aa0221476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e5265736f7572636573ca" . + "0221476f6f676c655c4164735c476f6f676c654164735c56325c5265736f" . + "7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php b/metadata/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php new file mode 100644 index 000000000..3f9a3a994 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0aaf050a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d65726368616e745f63656e7465725f6c696e6b2e" . + "70726f746f1221676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365731a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f22fe010a124d65726368616e7443656e7465" . + "724c696e6b12150a0d7265736f757263655f6e616d651801200128091227" . + "0a02696418032001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512420a1c6d65726368616e745f63656e7465725f61" . + "63636f756e745f6e616d6518042001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756512640a06737461747573180520" . + "01280e32542e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "656e756d732e4d65726368616e7443656e7465724c696e6b537461747573" . + "456e756d2e4d65726368616e7443656e7465724c696e6b53746174757342" . + "84020a25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f757263657342174d65726368616e7443656e7465724c696e" . + "6b50726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f7265736f75726365733b7265736f7572636573a20203474141" . + "aa0221476f6f676c652e4164732e476f6f676c654164732e56322e526573" . + "6f7572636573ca0221476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php new file mode 100644 index 000000000..ef4cf36fc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0aa7040a44676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d6f62696c655f6170705f63617465676f72795f63" . + "6f6e7374616e742e70726f746f1221676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f2287010a194d6f62696c6541" . + "707043617465676f7279436f6e7374616e7412150a0d7265736f75726365" . + "5f6e616d6518012001280912270a02696418022001280b321b2e676f6f67" . + "6c652e70726f746f6275662e496e74333256616c7565122a0a046e616d65" . + "18032001280b321c2e676f6f676c652e70726f746f6275662e537472696e" . + "6756616c7565428b020a25636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f7572636573421e4d6f62696c6541707043" . + "617465676f7279436f6e7374616e7450726f746f50015a4a676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f7265736f75726365733b72" . + "65736f7572636573a20203474141aa0221476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5265736f7572636573ca0221476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5265736f7572636573ea022547" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a526573" . + "6f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php new file mode 100644 index 000000000..065d58085 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0a81060a3e676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d6f62696c655f6465766963655f636f6e7374616e" . + "742e70726f746f1221676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365731a1e676f6f676c652f70726f746f6275662f" . + "77726170706572732e70726f746f1a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f22cc020a144d6f62696c654465766963" . + "65436f6e7374616e7412150a0d7265736f757263655f6e616d6518012001" . + "280912270a02696418022001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c7565122a0a046e616d6518032001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c756512370a" . + "116d616e7566616374757265725f6e616d6518042001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565123b0a156f70" . + "65726174696e675f73797374656d5f6e616d6518052001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512520a0474" . + "79706518062001280e32442e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e4d6f62696c6544657669636554797065456e" . + "756d2e4d6f62696c65446576696365547970654286020a25636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "7342194d6f62696c65446576696365436f6e7374616e7450726f746f5001" . + "5a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f726573" . + "6f75726365733b7265736f7572636573a20203474141aa0221476f6f676c" . + "652e4164732e476f6f676c654164732e56322e5265736f7572636573ca02" . + "21476f6f676c655c4164735c476f6f676c654164735c56325c5265736f75" . + "72636573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/MutateJob.php b/metadata/Google/Ads/GoogleAds/V2/Resources/MutateJob.php new file mode 100644 index 000000000..4279fbfc7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/MutateJob.php @@ -0,0 +1,63 @@ +internalAddGeneratedFile(hex2bin( + "0acf080a32676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d75746174655f6a6f622e70726f746f1221676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "1a1e676f6f676c652f70726f746f6275662f77726170706572732e70726f" . + "746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f" . + "746f22b1050a094d75746174654a6f6212150a0d7265736f757263655f6e" . + "616d6518012001280912270a02696418022001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c7565123d0a176e6578745f61" . + "64645f73657175656e63655f746f6b656e18032001280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c756512500a086d6574" . + "616461746118042001280b323e2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e4d75746174654a6f622e4d75" . + "746174654a6f624d6574616461746112520a067374617475731805200128" . + "0e32422e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e4d75746174654a6f62537461747573456e756d2e4d7574617465" . + "4a6f62537461747573123c0a166c6f6e675f72756e6e696e675f6f706572" . + "6174696f6e18062001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c75651ac0020a114d75746174654a6f624d65746164" . + "61746112380a126372656174696f6e5f646174655f74696d651801200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65123a0a14636f6d706c6574696f6e5f646174655f74696d651802200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512400a1a657374696d617465645f636f6d706c6574696f6e5f72617469" . + "6f18032001280b321c2e676f6f676c652e70726f746f6275662e446f7562" . + "6c6556616c756512340a0f6f7065726174696f6e5f636f756e7418042001" . + "280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c75" . + "65123d0a1865786563757465645f6f7065726174696f6e5f636f756e7418" . + "052001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c756542fb010a25636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f7572636573420e4d75746174654a6f6250726f" . + "746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365733b7265736f7572636573a20203474141aa022147" . + "6f6f676c652e4164732e476f6f676c654164732e56322e5265736f757263" . + "6573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c52" . + "65736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/OperatingSystemVersionConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/OperatingSystemVersionConstant.php new file mode 100644 index 000000000..5addbcd9f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/OperatingSystemVersionConstant.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ac5060a49676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6f7065726174696e675f73797374656d5f76657273" . + "696f6e5f636f6e7374616e742e70726f746f1221676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365731a1e676f6f676c" . + "652f70726f746f6275662f77726170706572732e70726f746f1a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f22fb020a1e" . + "4f7065726174696e6753797374656d56657273696f6e436f6e7374616e74" . + "12150a0d7265736f757263655f6e616d6518012001280912270a02696418" . + "022001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c7565122a0a046e616d6518032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512350a106f735f6d616a6f72" . + "5f76657273696f6e18042001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74333256616c756512350a106f735f6d696e6f725f76657273" . + "696f6e18052001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74333256616c7565127f0a0d6f70657261746f725f747970651806200128" . + "0e32682e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e4f7065726174696e6753797374656d56657273696f6e4f706572" . + "61746f7254797065456e756d2e4f7065726174696e6753797374656d5665" . + "7273696f6e4f70657261746f72547970654290020a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "234f7065726174696e6753797374656d56657273696f6e436f6e7374616e" . + "7450726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f7265736f75726365733b7265736f7572636573a20203474141" . + "aa0221476f6f676c652e4164732e476f6f676c654164732e56322e526573" . + "6f7572636573ca0221476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php new file mode 100644 index 000000000..935a532e4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php @@ -0,0 +1,43 @@ +internalAddGeneratedFile(hex2bin( + "0a85040a45676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f706169645f6f7267616e69635f7365617263685f74" . + "65726d5f766965772e70726f746f1221676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365731a1c676f6f676c652f6170" . + "692f616e6e6f746174696f6e732e70726f746f22650a19506169644f7267" . + "616e69635365617263685465726d5669657712150a0d7265736f75726365" . + "5f6e616d6518012001280912310a0b7365617263685f7465726d18022001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565428b020a25636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f7572636573421e506169644f7267616e6963536561" . + "7263685465726d5669657750726f746f50015a4a676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f7265736f75726365733b7265736f75" . + "72636573a20203474141aa0221476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5265736f7572636573ca0221476f6f676c655c4164735c" . + "476f6f676c654164735c56325c5265736f7572636573ea0225476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f757263" . + "6573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php new file mode 100644 index 000000000..4af1bed80 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a9d030a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f706172656e74616c5f7374617475735f766965772e" . + "70726f746f1221676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f7572636573222b0a12506172656e74616c5374617475735669" . + "657712150a0d7265736f757263655f6e616d651801200128094284020a25" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365734217506172656e74616c5374617475735669657750726f" . + "746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365733b7265736f7572636573a20203474141aa022147" . + "6f6f676c652e4164732e476f6f676c654164732e56322e5265736f757263" . + "6573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c52" . + "65736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php b/metadata/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php new file mode 100644 index 000000000..c40c2d4ca --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0ace050a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f7061796d656e74735f6163636f756e742e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f22c4020a0f5061796d656e74734163636f756e7412150a0d" . + "7265736f757263655f6e616d6518012001280912390a137061796d656e74" . + "735f6163636f756e745f696418022001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565122a0a046e616d6518032001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512330a0d63757272656e63795f636f646518042001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512390a1370" . + "61796d656e74735f70726f66696c655f696418052001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c756512430a1d7365" . + "636f6e646172795f7061796d656e74735f70726f66696c655f6964180620" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c75654281020a25636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f757263657342145061796d656e74734163636f75" . + "6e7450726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f7265736f75726365733b7265736f7572636573a202034741" . + "41aa0221476f6f676c652e4164732e476f6f676c654164732e56322e5265" . + "736f7572636573ca0221476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5265736f7572636573620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php new file mode 100644 index 000000000..d696fa837 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php @@ -0,0 +1,64 @@ +internalAddGeneratedFile(hex2bin( + "0ab7080a49676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f70726f647563745f62696464696e675f6361746567" . + "6f72795f636f6e7374616e742e70726f746f1221676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365731a43676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f70726f6475" . + "63745f62696464696e675f63617465676f72795f7374617475732e70726f" . + "746f1a1e676f6f676c652f70726f746f6275662f77726170706572732e70" . + "726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f22a8040a1e50726f6475637442696464696e6743617465676f72" . + "79436f6e7374616e7412150a0d7265736f757263655f6e616d6518012001" . + "280912270a02696418022001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c756512320a0c636f756e7472795f636f646518" . + "032001280b321c2e676f6f676c652e70726f746f6275662e537472696e67" . + "56616c7565124e0a2870726f647563745f62696464696e675f6361746567" . + "6f72795f636f6e7374616e745f706172656e7418042001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512690a056c" . + "6576656c18052001280e325a2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e50726f6475637442696464696e67436174" . + "65676f72794c6576656c456e756d2e50726f6475637442696464696e6743" . + "617465676f72794c6576656c126c0a0673746174757318062001280e325c" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e656e756d73" . + "2e50726f6475637442696464696e6743617465676f727953746174757345" . + "6e756d2e50726f6475637442696464696e6743617465676f727953746174" . + "757312330a0d6c616e67756167655f636f646518072001280b321c2e676f" . + "6f676c652e70726f746f6275662e537472696e6756616c756512340a0e6c" . + "6f63616c697a65645f6e616d6518082001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c75654290020a25636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "73422350726f6475637442696464696e6743617465676f7279436f6e7374" . + "616e7450726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365733b7265736f7572636573a2020347" . + "4141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e52" . + "65736f7572636573ca0221476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5265736f7572636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php new file mode 100644 index 000000000..8d99d9f27 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile(hex2bin( + "0a97030a3a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f70726f647563745f67726f75705f766965772e7072" . + "6f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f757263657322290a1050726f6475637447726f7570566965771215" . + "0a0d7265736f757263655f6e616d651801200128094282020a25636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "636573421550726f6475637447726f75705669657750726f746f50015a4a" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7265736f75" . + "726365733b7265736f7572636573a20203474141aa0221476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5265736f7572636573ca022147" . + "6f6f676c655c4164735c476f6f676c654164735c56325c5265736f757263" . + "6573ea0225476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Recommendation.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Recommendation.php new file mode 100644 index 000000000..ac0079003 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Recommendation.php @@ -0,0 +1,229 @@ +internalAddGeneratedFile(hex2bin( + "0a982e0a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f7265636f6d6d656e646174696f6e2e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a2f676f6f676c652f6164732f676f6f676c656164732f76322f" . + "636f6d6d6f6e2f657874656e73696f6e732e70726f746f1a36676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f6b6579776f" . + "72645f6d617463685f747970652e70726f746f1a37676f6f676c652f6164" . + "732f676f6f676c656164732f76322f656e756d732f7265636f6d6d656e64" . + "6174696f6e5f747970652e70726f746f1a49676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f656e756d732f7461726765745f6370615f6f" . + "70745f696e5f7265636f6d6d656e646174696f6e5f676f616c2e70726f74" . + "6f1a2a676f6f676c652f6164732f676f6f676c656164732f76322f726573" . + "6f75726365732f61642e70726f746f1a1e676f6f676c652f70726f746f62" . + "75662f77726170706572732e70726f746f1a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f22d8280a0e5265636f6d6d656e" . + "646174696f6e12150a0d7265736f757263655f6e616d6518012001280912" . + "560a047479706518022001280e32482e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e5265636f6d6d656e646174696f6e" . + "54797065456e756d2e5265636f6d6d656e646174696f6e5479706512560a" . + "06696d7061637418032001280b32462e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e5265636f6d6d656e6461" . + "74696f6e2e5265636f6d6d656e646174696f6e496d7061637412350a0f63" . + "616d706169676e5f62756467657418052001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c7565122e0a0863616d706169" . + "676e18062001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c7565122e0a0861645f67726f757018072001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c7565122d0a09" . + "6469736d6973736564180d2001280b321a2e676f6f676c652e70726f746f" . + "6275662e426f6f6c56616c756512780a1e63616d706169676e5f62756467" . + "65745f7265636f6d6d656e646174696f6e18042001280b324e2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "5265636f6d6d656e646174696f6e2e43616d706169676e42756467657452" . + "65636f6d6d656e646174696f6e480012690a166b6579776f72645f726563" . + "6f6d6d656e646174696f6e18082001280b32472e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e5265636f6d6d" . + "656e646174696f6e2e4b6579776f72645265636f6d6d656e646174696f6e" . + "480012680a16746578745f61645f7265636f6d6d656e646174696f6e1809" . + "2001280b32462e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e5265636f6d6d656e646174696f6e2e54657874" . + "41645265636f6d6d656e646174696f6e4800127a0a207461726765745f63" . + "70615f6f70745f696e5f7265636f6d6d656e646174696f6e180a2001280b" . + "324e2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e5265636f6d6d656e646174696f6e2e5461726765744370" . + "614f7074496e5265636f6d6d656e646174696f6e4800128e010a2a6d6178" . + "696d697a655f636f6e76657273696f6e735f6f70745f696e5f7265636f6d" . + "6d656e646174696f6e180b2001280b32582e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e5265636f6d6d656e" . + "646174696f6e2e4d6178696d697a65436f6e76657273696f6e734f707449" . + "6e5265636f6d6d656e646174696f6e4800127e0a22656e68616e6365645f" . + "6370635f6f70745f696e5f7265636f6d6d656e646174696f6e180c200128" . + "0b32502e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e5265636f6d6d656e646174696f6e2e456e68616e6365" . + "644370634f7074496e5265636f6d6d656e646174696f6e48001284010a25" . + "7365617263685f706172746e6572735f6f70745f696e5f7265636f6d6d65" . + "6e646174696f6e180e2001280b32532e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e5265636f6d6d656e6461" . + "74696f6e2e536561726368506172746e6572734f7074496e5265636f6d6d" . + "656e646174696f6e48001284010a256d6178696d697a655f636c69636b73" . + "5f6f70745f696e5f7265636f6d6d656e646174696f6e180f2001280b3253" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e5265636f6d6d656e646174696f6e2e4d6178696d697a65436c" . + "69636b734f7074496e5265636f6d6d656e646174696f6e48001281010a23" . + "6f7074696d697a655f61645f726f746174696f6e5f7265636f6d6d656e64" . + "6174696f6e18102001280b32522e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e5265636f6d6d656e64617469" . + "6f6e2e4f7074696d697a654164526f746174696f6e5265636f6d6d656e64" . + "6174696f6e4800127c0a2063616c6c6f75745f657874656e73696f6e5f72" . + "65636f6d6d656e646174696f6e18112001280b32502e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e5265636f" . + "6d6d656e646174696f6e2e43616c6c6f7574457874656e73696f6e526563" . + "6f6d6d656e646174696f6e4800127e0a21736974656c696e6b5f65787465" . + "6e73696f6e5f7265636f6d6d656e646174696f6e18122001280b32512e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e5265636f6d6d656e646174696f6e2e536974656c696e6b45787465" . + "6e73696f6e5265636f6d6d656e646174696f6e480012760a1d63616c6c5f" . + "657874656e73696f6e5f7265636f6d6d656e646174696f6e18132001280b" . + "324d2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e5265636f6d6d656e646174696f6e2e43616c6c45787465" . + "6e73696f6e5265636f6d6d656e646174696f6e4800127d0a216b6579776f" . + "72645f6d617463685f747970655f7265636f6d6d656e646174696f6e1814" . + "2001280b32502e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e5265636f6d6d656e646174696f6e2e4b657977" . + "6f72644d61746368547970655265636f6d6d656e646174696f6e4800127d" . + "0a216d6f76655f756e757365645f6275646765745f7265636f6d6d656e64" . + "6174696f6e18152001280b32502e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e5265636f6d6d656e64617469" . + "6f6e2e4d6f7665556e757365644275646765745265636f6d6d656e646174" . + "696f6e48001ad9010a145265636f6d6d656e646174696f6e496d70616374" . + "125d0a0c626173655f6d65747269637318012001280b32472e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e52" . + "65636f6d6d656e646174696f6e2e5265636f6d6d656e646174696f6e4d65" . + "747269637312620a11706f74656e7469616c5f6d65747269637318022001" . + "280b32472e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e5265636f6d6d656e646174696f6e2e5265636f6d6d" . + "656e646174696f6e4d6574726963731a90020a155265636f6d6d656e6461" . + "74696f6e4d65747269637312310a0b696d7072657373696f6e7318012001" . + "280b321c2e676f6f676c652e70726f746f6275662e446f75626c6556616c" . + "7565122c0a06636c69636b7318022001280b321c2e676f6f676c652e7072" . + "6f746f6275662e446f75626c6556616c756512300a0b636f73745f6d6963" . + "726f7318032001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c756512310a0b636f6e76657273696f6e7318042001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "310a0b766964656f5f766965777318052001280b321c2e676f6f676c652e" . + "70726f746f6275662e446f75626c6556616c75651aee030a1c43616d7061" . + "69676e4275646765745265636f6d6d656e646174696f6e12410a1c637572" . + "72656e745f6275646765745f616d6f756e745f6d6963726f731801200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "12450a207265636f6d6d656e6465645f6275646765745f616d6f756e745f" . + "6d6963726f7318022001280b321b2e676f6f676c652e70726f746f627566" . + "2e496e74363456616c75651289010a0e6275646765745f6f7074696f6e73" . + "18032003280b32712e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e5265636f6d6d656e646174696f6e2e4361" . + "6d706169676e4275646765745265636f6d6d656e646174696f6e2e43616d" . + "706169676e4275646765745265636f6d6d656e646174696f6e4f7074696f" . + "6e1ab7010a2243616d706169676e4275646765745265636f6d6d656e6461" . + "74696f6e4f7074696f6e12390a146275646765745f616d6f756e745f6d69" . + "63726f7318012001280b321b2e676f6f676c652e70726f746f6275662e49" . + "6e74363456616c756512560a06696d7061637418022001280b32462e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e5265636f6d6d656e646174696f6e2e5265636f6d6d656e646174696f" . + "6e496d706163741a96010a154b6579776f72645265636f6d6d656e646174" . + "696f6e123c0a076b6579776f726418012001280b322b2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4b6579776f72" . + "64496e666f123f0a1a7265636f6d6d656e6465645f6370635f6269645f6d" . + "6963726f7318022001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c75651ab5010a145465787441645265636f6d6d656e64" . + "6174696f6e12310a02616418012001280b32252e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e416412330a0d" . + "6372656174696f6e5f6461746518022001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512350a0f6175746f5f6170" . + "706c795f6461746518032001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c75651a200a1e456e68616e6365644370634f" . + "7074496e5265636f6d6d656e646174696f6e1adf040a1c54617267657443" . + "70614f7074496e5265636f6d6d656e646174696f6e1282010a076f707469" . + "6f6e7318012003280b32712e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e5265636f6d6d656e646174696f6e" . + "2e5461726765744370614f7074496e5265636f6d6d656e646174696f6e2e" . + "5461726765744370614f7074496e5265636f6d6d656e646174696f6e4f70" . + "74696f6e12420a1d7265636f6d6d656e6465645f7461726765745f637061" . + "5f6d6963726f7318022001280b321b2e676f6f676c652e70726f746f6275" . + "662e496e74363456616c75651af5020a225461726765744370614f707449" . + "6e5265636f6d6d656e646174696f6e4f7074696f6e12720a04676f616c18" . + "012001280e32642e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e656e756d732e5461726765744370614f7074496e5265636f6d6d656e" . + "646174696f6e476f616c456e756d2e5461726765744370614f7074496e52" . + "65636f6d6d656e646174696f6e476f616c12360a117461726765745f6370" . + "615f6d6963726f7318022001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c7565124b0a2672657175697265645f63616d70" . + "6169676e5f6275646765745f616d6f756e745f6d6963726f731803200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "12560a06696d7061637418042001280b32462e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e5265636f6d6d65" . + "6e646174696f6e2e5265636f6d6d656e646174696f6e496d706163741ac4" . + "010a1e4b6579776f72644d61746368547970655265636f6d6d656e646174" . + "696f6e123c0a076b6579776f726418012001280b322b2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4b6579776f72" . + "64496e666f12640a167265636f6d6d656e6465645f6d617463685f747970" . + "6518022001280e32442e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e656e756d732e4b6579776f72644d6174636854797065456e756d" . + "2e4b6579776f72644d61746368547970651a6f0a264d6178696d697a6543" . + "6f6e76657273696f6e734f7074496e5265636f6d6d656e646174696f6e12" . + "450a207265636f6d6d656e6465645f6275646765745f616d6f756e745f6d" . + "6963726f7318012001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c75651a6a0a214d6178696d697a65436c69636b734f70" . + "74496e5265636f6d6d656e646174696f6e12450a207265636f6d6d656e64" . + "65645f6275646765745f616d6f756e745f6d6963726f7318012001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c75651a23" . + "0a21536561726368506172746e6572734f7074496e5265636f6d6d656e64" . + "6174696f6e1a710a1e43616c6c6f7574457874656e73696f6e5265636f6d" . + "6d656e646174696f6e124f0a167265636f6d6d656e6465645f657874656e" . + "73696f6e7318012003280b322f2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e636f6d6d6f6e2e43616c6c6f7574466565644974656d" . + "1a730a1f536974656c696e6b457874656e73696f6e5265636f6d6d656e64" . + "6174696f6e12500a167265636f6d6d656e6465645f657874656e73696f6e" . + "7318012003280b32302e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e536974656c696e6b466565644974656d1a6b0a" . + "1b43616c6c457874656e73696f6e5265636f6d6d656e646174696f6e124c" . + "0a167265636f6d6d656e6465645f657874656e73696f6e7318012003280b" . + "322c2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d" . + "6d6f6e2e43616c6c466565644974656d1a220a204f7074696d697a654164" . + "526f746174696f6e5265636f6d6d656e646174696f6e1acd010a1e4d6f76" . + "65556e757365644275646765745265636f6d6d656e646174696f6e123c0a" . + "166578636573735f63616d706169676e5f62756467657418012001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "6d0a156275646765745f7265636f6d6d656e646174696f6e18022001280b" . + "324e2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e5265636f6d6d656e646174696f6e2e43616d706169676e" . + "4275646765745265636f6d6d656e646174696f6e42100a0e7265636f6d6d" . + "656e646174696f6e4280020a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f757263657342135265636f6d6d656e" . + "646174696f6e50726f746f50015a4a676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f7265736f75726365733b7265736f7572636573a2" . + "0203474141aa0221476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5265736f7572636573ea0225476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a5265736f7572636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/RemarketingAction.php b/metadata/Google/Ads/GoogleAds/V2/Resources/RemarketingAction.php new file mode 100644 index 000000000..4b1e8f7b0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/RemarketingAction.php @@ -0,0 +1,47 @@ +internalAddGeneratedFile(hex2bin( + "0aef040a3a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f72656d61726b6574696e675f616374696f6e2e7072" . + "6f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365731a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22c1010a1152656d61726b6574696e6741637469" . + "6f6e12150a0d7265736f757263655f6e616d6518012001280912270a0269" . + "6418022001280b321b2e676f6f676c652e70726f746f6275662e496e7436" . + "3456616c7565122a0a046e616d6518032001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c756512400a0c7461675f736e" . + "69707065747318042003280b322a2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e546167536e69707065744283020a" . + "25636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f7572636573421652656d61726b6574696e67416374696f6e50726f" . + "746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365733b7265736f7572636573a20203474141aa022147" . + "6f6f676c652e4164732e476f6f676c654164732e56322e5265736f757263" . + "6573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c52" . + "65736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php new file mode 100644 index 000000000..cb7cfc788 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0a9b050a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f7365617263685f7465726d5f766965772e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a1e676f6f676c652f70726f746f6275662f777261707065" . + "72732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f22f2010a0e5365617263685465726d5669657712150a" . + "0d7265736f757263655f6e616d6518012001280912310a0b736561726368" . + "5f7465726d18022001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c7565122e0a0861645f67726f757018032001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "660a0673746174757318042001280e32562e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e656e756d732e5365617263685465726d5461" . + "72676574696e67537461747573456e756d2e5365617263685465726d5461" . + "72676574696e675374617475734280020a25636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365734213536561" . + "7263685465726d5669657750726f746f50015a4a676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f7265736f75726365733b7265736f75" . + "72636573a20203474141aa0221476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5265736f7572636573ca0221476f6f676c655c4164735c" . + "476f6f676c654164735c56325c5265736f7572636573ea0225476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f757263" . + "6573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php b/metadata/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php new file mode 100644 index 000000000..d79294872 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php @@ -0,0 +1,66 @@ +internalAddGeneratedFile(hex2bin( + "0a8f090a38676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f7368617265645f637269746572696f6e2e70726f74" . + "6f1221676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365731a32676f6f676c652f6164732f676f6f676c656164732f76" . + "322f656e756d732f637269746572696f6e5f747970652e70726f746f1a1e" . + "676f6f676c652f70726f746f6275662f77726170706572732e70726f746f" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "22b1050a0f536861726564437269746572696f6e12150a0d7265736f7572" . + "63655f6e616d6518012001280912300a0a7368617265645f736574180220" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c756512310a0c637269746572696f6e5f6964181a2001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c7565124c0a047479" . + "706518042001280e323e2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e656e756d732e437269746572696f6e54797065456e756d2e43" . + "7269746572696f6e54797065123e0a076b6579776f726418032001280b32" . + "2b2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d" . + "6f6e2e4b6579776f7264496e666f480012490a0d796f75747562655f7669" . + "64656f18052001280b32302e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e596f7554756265566964656f496e666f48" . + "00124d0a0f796f75747562655f6368616e6e656c18062001280b32322e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "596f75547562654368616e6e656c496e666f480012420a09706c6163656d" . + "656e7418072001280b322d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e636f6d6d6f6e2e506c6163656d656e74496e666f48001254" . + "0a136d6f62696c655f6170705f63617465676f727918082001280b32352e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e4d6f62696c6541707043617465676f7279496e666f480012530a126d6f" . + "62696c655f6170706c69636174696f6e18092001280b32352e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e4d6f6269" . + "6c654170706c69636174696f6e496e666f4800420b0a0963726974657269" . + "6f6e4281020a25636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365734214536861726564437269746572696f" . + "6e50726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f7265736f75726365733b7265736f7572636573a20203474141" . + "aa0221476f6f676c652e4164732e476f6f676c654164732e56322e526573" . + "6f7572636573ca0221476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/SharedSet.php b/metadata/Google/Ads/GoogleAds/V2/Resources/SharedSet.php new file mode 100644 index 000000000..92992d157 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/SharedSet.php @@ -0,0 +1,56 @@ +internalAddGeneratedFile(hex2bin( + "0ad5060a32676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f7368617265645f7365742e70726f746f1221676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "1a33676f6f676c652f6164732f676f6f676c656164732f76322f656e756d" . + "732f7368617265645f7365745f747970652e70726f746f1a1e676f6f676c" . + "652f70726f746f6275662f77726170706572732e70726f746f1a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f2282030a09" . + "53686172656453657412150a0d7265736f757263655f6e616d6518012001" . + "280912270a02696418022001280b321b2e676f6f676c652e70726f746f62" . + "75662e496e74363456616c7565124c0a047479706518032001280e323e2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e" . + "53686172656453657454797065456e756d2e536861726564536574547970" . + "65122a0a046e616d6518042001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756512520a067374617475731805200128" . + "0e32422e676f6f676c652e6164732e676f6f676c656164732e76322e656e" . + "756d732e536861726564536574537461747573456e756d2e536861726564" . + "53657453746174757312310a0c6d656d6265725f636f756e741806200128" . + "0b321b2e676f6f676c652e70726f746f6275662e496e74363456616c7565" . + "12340a0f7265666572656e63655f636f756e7418072001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c756542fb010a2563" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f7572636573420e53686172656453657450726f746f50015a4a676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "3b7265736f7572636573a20203474141aa0221476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5265736f7572636573ca0221476f6f676c" . + "655c4164735c476f6f676c654164735c56325c5265736f7572636573ea02" . + "25476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a52" . + "65736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php new file mode 100644 index 000000000..0144a5b96 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php @@ -0,0 +1,39 @@ +internalAddGeneratedFile(hex2bin( + "0aac030a41676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f73686f7070696e675f706572666f726d616e63655f" . + "766965772e70726f746f1221676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f757263657322300a1753686f7070696e67506572" . + "666f726d616e63655669657712150a0d7265736f757263655f6e616d6518" . + "01200128094289020a25636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f7572636573421c53686f7070696e67506572" . + "666f726d616e63655669657750726f746f50015a4a676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f7265736f75726365733b7265736f" . + "7572636573a20203474141aa0221476f6f676c652e4164732e476f6f676c" . + "654164732e56322e5265736f7572636573ca0221476f6f676c655c416473" . + "5c476f6f676c654164735c56325c5265736f7572636573ea0225476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f7572" . + "636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php b/metadata/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php new file mode 100644 index 000000000..da3ced95b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0abe040a36676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f746f7069635f636f6e7374616e742e70726f746f12" . + "21676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f22b8010a0d546f706963436f6e7374616e7412150a0d7265736f" . + "757263655f6e616d6518012001280912270a02696418022001280b321b2e" . + "676f6f676c652e70726f746f6275662e496e74363456616c7565123b0a15" . + "746f7069635f636f6e7374616e745f706172656e7418032001280b321c2e" . + "676f6f676c652e70726f746f6275662e537472696e6756616c7565122a0a" . + "047061746818042003280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c756542ff010a25636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365734212546f706963" . + "436f6e7374616e7450726f746f50015a4a676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365733b7265736f75726365" . + "73a20203474141aa0221476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5265736f7572636573ca0221476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5265736f7572636573ea0225476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a5265736f757263657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/TopicView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/TopicView.php new file mode 100644 index 000000000..dbe7b0316 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/TopicView.php @@ -0,0 +1,37 @@ +internalAddGeneratedFile(hex2bin( + "0a81030a32676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f746f7069635f766965772e70726f746f1221676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "22220a09546f7069635669657712150a0d7265736f757263655f6e616d65" . + "18012001280942fb010a25636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f7572636573420e546f7069635669657750" . + "726f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e70" . + "726f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f" . + "76322f7265736f75726365733b7265736f7572636573a20203474141aa02" . + "21476f6f676c652e4164732e476f6f676c654164732e56322e5265736f75" . + "72636573ca0221476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/UserInterest.php b/metadata/Google/Ads/GoogleAds/V2/Resources/UserInterest.php new file mode 100644 index 000000000..e731b061d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/UserInterest.php @@ -0,0 +1,59 @@ +internalAddGeneratedFile(hex2bin( + "0aa2070a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f757365725f696e7465726573742e70726f746f1221" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365731a3f676f6f676c652f6164732f676f6f676c656164732f76322f65" . + "6e756d732f757365725f696e7465726573745f7461786f6e6f6d795f7479" . + "70652e70726f746f1a1e676f6f676c652f70726f746f6275662f77726170" . + "706572732e70726f746f1a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f22bd030a0c55736572496e74657265737412150a" . + "0d7265736f757263655f6e616d65180120012809126b0a0d7461786f6e6f" . + "6d795f7479706518022001280e32542e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e55736572496e7465726573745461" . + "786f6e6f6d7954797065456e756d2e55736572496e746572657374546178" . + "6f6e6f6d795479706512350a10757365725f696e7465726573745f696418" . + "032001280b321b2e676f6f676c652e70726f746f6275662e496e74363456" . + "616c7565122a0a046e616d6518042001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565123a0a14757365725f696e74" . + "65726573745f706172656e7418052001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512330a0f6c61756e63686564" . + "5f746f5f616c6c18062001280b321a2e676f6f676c652e70726f746f6275" . + "662e426f6f6c56616c756512550a0e617661696c6162696c697469657318" . + "072003280b323d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e437269746572696f6e43617465676f727941766169" . + "6c6162696c69747942fe010a25636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f7572636573421155736572496e7465" . + "7265737450726f746f50015a4a676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f7265736f75726365733b7265736f7572636573a20203" . + "474141aa0221476f6f676c652e4164732e476f6f676c654164732e56322e" . + "5265736f7572636573ca0221476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c5265736f7572636573ea0225476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a5265736f7572636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/UserList.php b/metadata/Google/Ads/GoogleAds/V2/Resources/UserList.php new file mode 100644 index 000000000..58416d45a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/UserList.php @@ -0,0 +1,114 @@ +internalAddGeneratedFile(hex2bin( + "0a88130a31676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f757365725f6c6973742e70726f746f1221676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365731a" . + "31676f6f676c652f6164732f676f6f676c656164732f76322f656e756d73" . + "2f6163636573735f726561736f6e2e70726f746f1a3b676f6f676c652f61" . + "64732f676f6f676c656164732f76322f656e756d732f757365725f6c6973" . + "745f6163636573735f7374617475732e70726f746f1a3c676f6f676c652f" . + "6164732f676f6f676c656164732f76322f656e756d732f757365725f6c69" . + "73745f636c6f73696e675f726561736f6e2e70726f746f1a3f676f6f676c" . + "652f6164732f676f6f676c656164732f76322f656e756d732f757365725f" . + "6c6973745f6d656d626572736869705f7374617475732e70726f746f1a38" . + "676f6f676c652f6164732f676f6f676c656164732f76322f656e756d732f" . + "757365725f6c6973745f73697a655f72616e67652e70726f746f1a32676f" . + "6f676c652f6164732f676f6f676c656164732f76322f656e756d732f7573" . + "65725f6c6973745f747970652e70726f746f1a1e676f6f676c652f70726f" . + "746f6275662f77726170706572732e70726f746f1a1c676f6f676c652f61" . + "70692f616e6e6f746174696f6e732e70726f746f228f0d0a08557365724c" . + "69737412150a0d7265736f757263655f6e616d6518012001280912270a02" . + "696418022001280b321b2e676f6f676c652e70726f746f6275662e496e74" . + "363456616c7565122d0a09726561645f6f6e6c7918032001280b321a2e67" . + "6f6f676c652e70726f746f6275662e426f6f6c56616c7565122a0a046e61" . + "6d6518042001280b321c2e676f6f676c652e70726f746f6275662e537472" . + "696e6756616c756512310a0b6465736372697074696f6e18052001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "6f0a116d656d626572736869705f73746174757318062001280e32542e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e55" . + "7365724c6973744d656d62657273686970537461747573456e756d2e5573" . + "65724c6973744d656d6265727368697053746174757312360a10696e7465" . + "67726174696f6e5f636f646518072001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756512390a146d656d6265727368" . + "69705f6c6966655f7370616e18082001280b321b2e676f6f676c652e7072" . + "6f746f6275662e496e74363456616c756512350a1073697a655f666f725f" . + "646973706c617918092001280b321b2e676f6f676c652e70726f746f6275" . + "662e496e74363456616c756512660a1673697a655f72616e67655f666f72" . + "5f646973706c6179180a2001280e32462e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e656e756d732e557365724c69737453697a6552" . + "616e6765456e756d2e557365724c69737453697a6552616e676512340a0f" . + "73697a655f666f725f736561726368180b2001280b321b2e676f6f676c65" . + "2e70726f746f6275662e496e74363456616c756512650a1573697a655f72" . + "616e67655f666f725f736561726368180c2001280e32462e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e656e756d732e557365724c69" . + "737453697a6552616e6765456e756d2e557365724c69737453697a655261" . + "6e6765124a0a0474797065180d2001280e323c2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e656e756d732e557365724c6973745479" . + "7065456e756d2e557365724c6973745479706512660a0e636c6f73696e67" . + "5f726561736f6e180e2001280e324e2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e656e756d732e557365724c697374436c6f73696e" . + "67526561736f6e456e756d2e557365724c697374436c6f73696e67526561" . + "736f6e12530a0d6163636573735f726561736f6e180f2001280e323c2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e656e756d732e41" . + "6363657373526561736f6e456e756d2e416363657373526561736f6e126e" . + "0a186163636f756e745f757365725f6c6973745f73746174757318102001" . + "280e324c2e676f6f676c652e6164732e676f6f676c656164732e76322e65" . + "6e756d732e557365724c697374416363657373537461747573456e756d2e" . + "557365724c69737441636365737353746174757312370a13656c69676962" . + "6c655f666f725f73656172636818112001280b321a2e676f6f676c652e70" . + "726f746f6275662e426f6f6c56616c756512380a14656c696769626c655f" . + "666f725f646973706c617918122001280b321a2e676f6f676c652e70726f" . + "746f6275662e426f6f6c56616c756512530a1363726d5f62617365645f75" . + "7365725f6c69737418132001280b32342e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e636f6d6d6f6e2e43726d426173656455736572" . + "4c697374496e666f480012500a1173696d696c61725f757365725f6c6973" . + "7418142001280b32332e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e636f6d6d6f6e2e53696d696c6172557365724c697374496e666f" . + "480012550a1472756c655f62617365645f757365725f6c69737418152001" . + "280b32352e676f6f676c652e6164732e676f6f676c656164732e76322e63" . + "6f6d6d6f6e2e52756c654261736564557365724c697374496e666f480012" . + "500a116c6f676963616c5f757365725f6c69737418162001280b32332e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e2e" . + "4c6f676963616c557365724c697374496e666f4800124c0a0f6261736963" . + "5f757365725f6c69737418172001280b32312e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e636f6d6d6f6e2e4261736963557365724c" . + "697374496e666f4800420b0a09757365725f6c69737442fa010a25636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "72636573420d557365724c69737450726f746f50015a4a676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f7265736f75726365733b7265" . + "736f7572636573a20203474141aa0221476f6f676c652e4164732e476f6f" . + "676c654164732e56322e5265736f7572636573ca0221476f6f676c655c41" . + "64735c476f6f676c654164735c56325c5265736f7572636573ea0225476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5265736f" . + "7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php b/metadata/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php new file mode 100644 index 000000000..6336da155 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php @@ -0,0 +1,44 @@ +internalAddGeneratedFile(hex2bin( + "0aa9040a3a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f757365725f6c6f636174696f6e5f766965772e7072" . + "6f746f1221676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365731a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f229c010a10557365724c6f636174696f6e5669657712" . + "150a0d7265736f757263655f6e616d6518012001280912390a14636f756e" . + "7472795f637269746572696f6e5f696418022001280b321b2e676f6f676c" . + "652e70726f746f6275662e496e74363456616c756512360a127461726765" . + "74696e675f6c6f636174696f6e18032001280b321a2e676f6f676c652e70" . + "726f746f6275662e426f6f6c56616c75654282020a25636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f757263657342" . + "15557365724c6f636174696f6e5669657750726f746f50015a4a676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "3b7265736f7572636573a20203474141aa0221476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5265736f7572636573ca0221476f6f676c" . + "655c4164735c476f6f676c654164735c56325c5265736f7572636573ea02" . + "25476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a52" . + "65736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Resources/Video.php b/metadata/Google/Ads/GoogleAds/V2/Resources/Video.php new file mode 100644 index 000000000..e1d1d1e4d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Resources/Video.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile(hex2bin( + "0ad2040a2d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f766964656f2e70726f746f1221676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365731a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f22dd010a05" . + "566964656f12150a0d7265736f757263655f6e616d651801200128091228" . + "0a02696418022001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512300a0a6368616e6e656c5f696418032001280b" . + "321c2e676f6f676c652e70726f746f6275662e537472696e6756616c7565" . + "12340a0f6475726174696f6e5f6d696c6c697318042001280b321b2e676f" . + "6f676c652e70726f746f6275662e496e74363456616c7565122b0a057469" . + "746c6518052001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c756542f7010a25636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f7572636573420a566964656f5072" . + "6f746f50015a4a676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f7265736f75726365733b7265736f7572636573a20203474141aa0221" . + "476f6f676c652e4164732e476f6f676c654164732e56322e5265736f7572" . + "636573ca0221476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5265736f7572636573ea0225476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a5265736f7572636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalService.php new file mode 100644 index 000000000..0f35cae89 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalService.php @@ -0,0 +1,81 @@ +internalAddGeneratedFile(hex2bin( + "0abe0c0a46676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6163636f756e745f6275646765745f70726f706f7361" . + "6c5f736572766963652e70726f746f1220676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365731a1c676f6f676c652f6170" . + "692f616e6e6f746174696f6e732e70726f746f1a20676f6f676c652f7072" . + "6f746f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c" . + "652f6170692f636c69656e742e70726f746f22380a1f4765744163636f75" . + "6e7442756467657450726f706f73616c5265717565737412150a0d726573" . + "6f757263655f6e616d6518012001280922a5010a224d7574617465416363" . + "6f756e7442756467657450726f706f73616c5265717565737412130a0b63" . + "7573746f6d65725f696418012001280912530a096f7065726174696f6e18" . + "022001280b32402e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4163636f756e7442756467657450726f706f73" . + "616c4f7065726174696f6e12150a0d76616c69646174655f6f6e6c791803" . + "2001280822bc010a1e4163636f756e7442756467657450726f706f73616c" . + "4f7065726174696f6e122f0a0b7570646174655f6d61736b18032001280b" . + "321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b124a" . + "0a0663726561746518022001280b32382e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f75726365732e4163636f756e744275" . + "6467657450726f706f73616c480012100a0672656d6f7665180120012809" . + "4800420b0a096f7065726174696f6e227a0a234d75746174654163636f75" . + "6e7442756467657450726f706f73616c526573706f6e736512530a067265" . + "73756c7418022001280b32432e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d75746174654163636f756e7442" . + "756467657450726f706f73616c526573756c74223a0a214d757461746541" . + "63636f756e7442756467657450726f706f73616c526573756c7412150a0d" . + "7265736f757263655f6e616d65180120012809328c040a1c4163636f756e" . + "7442756467657450726f706f73616c5365727669636512d9010a18476574" . + "4163636f756e7442756467657450726f706f73616c12412e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e476574" . + "4163636f756e7442756467657450726f706f73616c526571756573741a38" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e4163636f756e7442756467657450726f706f73616c224082d3" . + "e493023a12382f76322f7b7265736f757263655f6e616d653d637573746f" . + "6d6572732f2a2f6163636f756e7442756467657450726f706f73616c732f" . + "2a7d12f2010a1b4d75746174654163636f756e7442756467657450726f70" . + "6f73616c12442e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d75746174654163636f756e7442756467657450" . + "726f706f73616c526571756573741a452e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d75746174654163636f" . + "756e7442756467657450726f706f73616c526573706f6e7365224682d3e4" . + "930240223b2f76322f637573746f6d6572732f7b637573746f6d65725f69" . + "643d2a7d2f6163636f756e7442756467657450726f706f73616c733a6d75" . + "746174653a012a1a1bca4118676f6f676c656164732e676f6f676c656170" . + "69732e636f6d4288020a24636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e736572766963657342214163636f756e7442756467" . + "657450726f706f73616c5365727669636550726f746f50015a48676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f73657276696365733b" . + "7365727669636573a20203474141aa0220476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5365727669636573ca0220476f6f676c655c41" . + "64735c476f6f676c654164735c56325c5365727669636573ea0224476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5365727669" . + "636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetService.php new file mode 100644 index 000000000..1b7766ef0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AccountBudgetService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0ac7050a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6163636f756e745f6275646765745f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e" . + "70726f746f22300a174765744163636f756e744275646765745265717565" . + "737412150a0d7265736f757263655f6e616d6518012001280932ef010a14" . + "4163636f756e744275646765745365727669636512b9010a104765744163" . + "636f756e7442756467657412392e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4765744163636f756e74427564" . + "676574526571756573741a302e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e4163636f756e74427564676574" . + "223882d3e493023212302f76322f7b7265736f757263655f6e616d653d63" . + "7573746f6d6572732f2a2f6163636f756e74427564676574732f2a7d1a1b" . + "ca4118676f6f676c656164732e676f6f676c65617069732e636f6d428002" . + "0a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "736572766963657342194163636f756e7442756467657453657276696365" . + "50726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f73657276696365733b7365727669636573a20203474141aa0220" . + "476f6f676c652e4164732e476f6f676c654164732e56322e536572766963" . + "6573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c53" . + "65727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewService.php new file mode 100644 index 000000000..0a8643893 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af2050a45676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f61645f61737365745f76696577" . + "5f736572766963652e70726f746f1220676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f22350a1c476574416447726f7570416441" . + "73736574566965775265717565737412150a0d7265736f757263655f6e61" . + "6d651801200128093288020a19416447726f757041644173736574566965" . + "775365727669636512cd010a15476574416447726f757041644173736574" . + "56696577123e2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e476574416447726f757041644173736574566965" . + "77526571756573741a352e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e416447726f75704164417373657456" . + "696577223d82d3e493023712352f76322f7b7265736f757263655f6e616d" . + "653d637573746f6d6572732f2a2f616447726f7570416441737365745669" . + "6577732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4285020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421e416447726f75704164417373" . + "6574566965775365727669636550726f746f50015a48676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f73657276696365733b73657276" . + "69636573a20203474141aa0220476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5365727669636573ca0220476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c5365727669636573ea0224476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a536572766963657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelService.php new file mode 100644 index 000000000..90f1d85f5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelService.php @@ -0,0 +1,77 @@ +internalAddGeneratedFile(hex2bin( + "0ad30b0a40676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f61645f6c6162656c5f73657276" . + "6963652e70726f746f1220676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f1a17676f6f676c652f7270632f73746174" . + "75732e70726f746f1a17676f6f676c652f6170692f636c69656e742e7072" . + "6f746f22310a18476574416447726f757041644c6162656c526571756573" . + "7412150a0d7265736f757263655f6e616d6518012001280922b2010a1c4d" . + "7574617465416447726f757041644c6162656c735265717565737412130a" . + "0b637573746f6d65725f6964180120012809124d0a0a6f7065726174696f" . + "6e7318022003280b32392e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e416447726f757041644c6162656c4f70" . + "65726174696f6e12170a0f7061727469616c5f6661696c75726518032001" . + "280812150a0d76616c69646174655f6f6e6c79180420012808227d0a1741" . + "6447726f757041644c6162656c4f7065726174696f6e12430a0663726561" . + "746518012001280b32312e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e416447726f757041644c6162656c48" . + "0012100a0672656d6f76651802200128094800420b0a096f706572617469" . + "6f6e22a1010a1d4d7574617465416447726f757041644c6162656c735265" . + "73706f6e736512310a157061727469616c5f6661696c7572655f6572726f" . + "7218032001280b32122e676f6f676c652e7270632e537461747573124d0a" . + "07726573756c747318022003280b323c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746541644772" . + "6f757041644c6162656c526573756c7422330a1a4d757461746541644772" . + "6f757041644c6162656c526573756c7412150a0d7265736f757263655f6e" . + "616d6518012001280932d0030a15416447726f757041644c6162656c5365" . + "727669636512bd010a11476574416447726f757041644c6162656c123a2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e476574416447726f757041644c6162656c526571756573741a312e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e416447726f757041644c6162656c223982d3e493023312312f76" . + "322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f61" . + "6447726f757041644c6162656c732f2a7d12d9010a154d75746174654164" . + "47726f757041644c6162656c73123e2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e4d7574617465416447726f" . + "757041644c6162656c73526571756573741a3f2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d757461746541" . + "6447726f757041644c6162656c73526573706f6e7365223f82d3e4930239" . + "22342f76322f637573746f6d6572732f7b637573746f6d65725f69643d2a" . + "7d2f616447726f757041644c6162656c733a6d75746174653a012a1a1bca" . + "4118676f6f676c656164732e676f6f676c65617069732e636f6d4281020a" . + "24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "65727669636573421a416447726f757041644c6162656c53657276696365" . + "50726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f73657276696365733b7365727669636573a20203474141aa0220" . + "476f6f676c652e4164732e476f6f676c654164732e56322e536572766963" . + "6573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c53" . + "65727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdService.php new file mode 100644 index 000000000..9d95718c4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAdService.php @@ -0,0 +1,86 @@ +internalAddGeneratedFile(hex2bin( + "0a9c0d0a3a676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f61645f736572766963652e7072" . + "6f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365731a33676f6f676c652f6164732f676f6f676c656164732f" . + "76322f7265736f75726365732f61645f67726f75705f61642e70726f746f" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "1a20676f6f676c652f70726f746f6275662f6669656c645f6d61736b2e70" . + "726f746f1a17676f6f676c652f7270632f7374617475732e70726f746f1a" . + "17676f6f676c652f6170692f636c69656e742e70726f746f222c0a134765" . + "74416447726f757041645265717565737412150a0d7265736f757263655f" . + "6e616d6518012001280922a8010a174d7574617465416447726f75704164" . + "735265717565737412130a0b637573746f6d65725f696418012001280912" . + "480a0a6f7065726174696f6e7318022003280b32342e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e416447726f" . + "757041644f7065726174696f6e12170a0f7061727469616c5f6661696c75" . + "726518032001280812150a0d76616c69646174655f6f6e6c791804200128" . + "0822c4020a12416447726f757041644f7065726174696f6e122f0a0b7570" . + "646174655f6d61736b18042001280b321a2e676f6f676c652e70726f746f" . + "6275662e4669656c644d61736b125e0a1b706f6c6963795f76616c696461" . + "74696f6e5f706172616d6574657218052001280b32392e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e636f6d6d6f6e2e506f6c696379" . + "56616c69646174696f6e506172616d65746572123e0a0663726561746518" . + "012001280b322c2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e416447726f757041644800123e0a06757064" . + "61746518022001280b322c2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e416447726f75704164480012100a" . + "0672656d6f76651803200128094800420b0a096f7065726174696f6e2297" . + "010a184d7574617465416447726f7570416473526573706f6e736512310a" . + "157061727469616c5f6661696c7572655f6572726f7218032001280b3212" . + "2e676f6f676c652e7270632e53746174757312480a07726573756c747318" . + "022003280b32372e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d7574617465416447726f7570416452657375" . + "6c74222e0a154d7574617465416447726f75704164526573756c7412150a" . + "0d7265736f757263655f6e616d6518012001280932a3030a10416447726f" . + "757041645365727669636512a9010a0c476574416447726f757041641235" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e476574416447726f75704164526571756573741a2c2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "416447726f75704164223482d3e493022e122c2f76322f7b7265736f7572" . + "63655f6e616d653d637573746f6d6572732f2a2f616447726f7570416473" . + "2f2a7d12c5010a104d7574617465416447726f757041647312392e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4d7574617465416447726f7570416473526571756573741a3a2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "7574617465416447726f7570416473526573706f6e7365223a82d3e49302" . + "34222f2f76322f637573746f6d6572732f7b637573746f6d65725f69643d" . + "2a7d2f616447726f75704164733a6d75746174653a012a1a1bca4118676f" . + "6f676c656164732e676f6f676c65617069732e636f6d42fc010a24636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365734215416447726f757041645365727669636550726f746f50015a48" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7365727669" . + "6365733b7365727669636573a20203474141aa0220476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5365727669636573ca0220476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5365727669636573ea02" . + "24476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53" . + "65727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewService.php new file mode 100644 index 000000000..d15715236 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af9050a45676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f61756469656e63655f76696577" . + "5f736572766963652e70726f746f1220676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f22360a1d476574416447726f7570417564" . + "69656e6365566965775265717565737412150a0d7265736f757263655f6e" . + "616d65180120012809328d020a1a416447726f757041756469656e636556" . + "6965775365727669636512d1010a16476574416447726f75704175646965" . + "6e636556696577123f2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e476574416447726f757041756469656e63" . + "6556696577526571756573741a362e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e416447726f757041756469" . + "656e636556696577223e82d3e493023812362f76322f7b7265736f757263" . + "655f6e616d653d637573746f6d6572732f2a2f616447726f757041756469" . + "656e636556696577732f2a7d1a1bca4118676f6f676c656164732e676f6f" . + "676c65617069732e636f6d4286020a24636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7365727669636573421f416447726f75" . + "7041756469656e6365566965775365727669636550726f746f50015a4867" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f736572766963" . + "65733b7365727669636573a20203474141aa0220476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5365727669636573ca0220476f6f676c" . + "655c4164735c476f6f676c654164735c56325c5365727669636573ea0224" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5365" . + "727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierService.php new file mode 100644 index 000000000..94ab1690e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierService.php @@ -0,0 +1,86 @@ +internalAddGeneratedFile(hex2bin( + "0abc0d0a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f6269645f6d6f6469666965725f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f74" . + "6f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f" . + "7270632f7374617475732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22350a1c476574416447726f75704269644d6f" . + "6469666965725265717565737412150a0d7265736f757263655f6e616d65" . + "18012001280922ba010a204d7574617465416447726f75704269644d6f64" . + "6966696572735265717565737412130a0b637573746f6d65725f69641801" . + "2001280912510a0a6f7065726174696f6e7318022003280b323d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "416447726f75704269644d6f6469666965724f7065726174696f6e12170a" . + "0f7061727469616c5f6661696c75726518032001280812150a0d76616c69" . + "646174655f6f6e6c7918042001280822ff010a1b416447726f7570426964" . + "4d6f6469666965724f7065726174696f6e122f0a0b7570646174655f6d61" . + "736b18042001280b321a2e676f6f676c652e70726f746f6275662e466965" . + "6c644d61736b12470a0663726561746518012001280b32352e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e41" . + "6447726f75704269644d6f646966696572480012470a0675706461746518" . + "022001280b32352e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e416447726f75704269644d6f646966696572" . + "480012100a0672656d6f76651803200128094800420b0a096f7065726174" . + "696f6e22a9010a214d7574617465416447726f75704269644d6f64696669" . + "657273526573706f6e736512310a157061727469616c5f6661696c757265" . + "5f6572726f7218032001280b32122e676f6f676c652e7270632e53746174" . + "757312510a07726573756c747318022003280b32402e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4d75746174" . + "65416447726f75704269644d6f646966696572526573756c7422370a1e4d" . + "7574617465416447726f75704269644d6f646966696572526573756c7412" . + "150a0d7265736f757263655f6e616d6518012001280932f4030a19416447" . + "726f75704269644d6f6469666965725365727669636512cd010a15476574" . + "416447726f75704269644d6f646966696572123e2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e476574416447" . + "726f75704269644d6f646966696572526571756573741a352e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e41" . + "6447726f75704269644d6f646966696572223d82d3e493023712352f7632" . + "2f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f6164" . + "47726f75704269644d6f646966696572732f2a7d12e9010a194d75746174" . + "65416447726f75704269644d6f6469666965727312422e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4d757461" . + "7465416447726f75704269644d6f64696669657273526571756573741a43" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d7574617465416447726f75704269644d6f6469666965727352" . + "6573706f6e7365224382d3e493023d22382f76322f637573746f6d657273" . + "2f7b637573746f6d65725f69643d2a7d2f616447726f75704269644d6f64" . + "6966696572733a6d75746174653a012a1a1bca4118676f6f676c65616473" . + "2e676f6f676c65617069732e636f6d4285020a24636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7365727669636573421e4164" . + "47726f75704269644d6f6469666965725365727669636550726f746f5001" . + "5a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f736572" . + "76696365733b7365727669636573a20203474141aa0220476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5365727669636573ca0220476f" . + "6f676c655c4164735c476f6f676c654164735c56325c5365727669636573" . + "ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelService.php new file mode 100644 index 000000000..086717144 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelService.php @@ -0,0 +1,82 @@ +internalAddGeneratedFile(hex2bin( + "0ad90c0a47676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f637269746572696f6e5f6c6162" . + "656c5f736572766963652e70726f746f1220676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365731a1c676f6f676c652f61" . + "70692f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f72" . + "70632f7374617475732e70726f746f1a17676f6f676c652f6170692f636c" . + "69656e742e70726f746f22380a1f476574416447726f7570437269746572" . + "696f6e4c6162656c5265717565737412150a0d7265736f757263655f6e61" . + "6d6518012001280922c0010a234d7574617465416447726f757043726974" . + "6572696f6e4c6162656c735265717565737412130a0b637573746f6d6572" . + "5f696418012001280912540a0a6f7065726174696f6e7318022003280b32" . + "402e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e416447726f7570437269746572696f6e4c6162656c4f706572" . + "6174696f6e12170a0f7061727469616c5f6661696c757265180320012808" . + "12150a0d76616c69646174655f6f6e6c79180420012808228b010a1e4164" . + "47726f7570437269746572696f6e4c6162656c4f7065726174696f6e124a" . + "0a0663726561746518012001280b32382e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f75726365732e416447726f75704372" . + "69746572696f6e4c6162656c480012100a0672656d6f7665180220012809" . + "4800420b0a096f7065726174696f6e22af010a244d757461746541644772" . + "6f7570437269746572696f6e4c6162656c73526573706f6e736512310a15" . + "7061727469616c5f6661696c7572655f6572726f7218032001280b32122e" . + "676f6f676c652e7270632e53746174757312540a07726573756c74731802" . + "2003280b32432e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d7574617465416447726f757043726974657269" . + "6f6e4c6162656c526573756c74223a0a214d7574617465416447726f7570" . + "437269746572696f6e4c6162656c526573756c7412150a0d7265736f7572" . + "63655f6e616d65180120012809328f040a1c416447726f75704372697465" . + "72696f6e4c6162656c5365727669636512d9010a18476574416447726f75" . + "70437269746572696f6e4c6162656c12412e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e476574416447726f75" . + "70437269746572696f6e4c6162656c526571756573741a382e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e41" . + "6447726f7570437269746572696f6e4c6162656c224082d3e493023a1238" . + "2f76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a" . + "2f616447726f7570437269746572696f6e4c6162656c732f2a7d12f5010a" . + "1c4d7574617465416447726f7570437269746572696f6e4c6162656c7312" . + "452e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d7574617465416447726f7570437269746572696f6e4c6162" . + "656c73526571756573741a462e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d7574617465416447726f757043" . + "7269746572696f6e4c6162656c73526573706f6e7365224682d3e4930240" . + "223b2f76322f637573746f6d6572732f7b637573746f6d65725f69643d2a" . + "7d2f616447726f7570437269746572696f6e4c6162656c733a6d75746174" . + "653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d4288020a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365734221416447726f757043726974657269" . + "6f6e4c6162656c5365727669636550726f746f50015a48676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f73657276696365733b736572" . + "7669636573a20203474141aa0220476f6f676c652e4164732e476f6f676c" . + "654164732e56322e5365727669636573ca0220476f6f676c655c4164735c" . + "476f6f676c654164735c56325c5365727669636573ea0224476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a5365727669636573" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionService.php new file mode 100644 index 000000000..86344815a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionService.php @@ -0,0 +1,90 @@ +internalAddGeneratedFile(hex2bin( + "0a9b0e0a41676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f637269746572696f6e5f736572" . + "766963652e70726f746f1220676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365731a3a676f6f676c652f6164732f676f6f" . + "676c656164732f76322f7265736f75726365732f61645f67726f75705f63" . + "7269746572696f6e2e70726f746f1a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f6275" . + "662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f727063" . + "2f7374617475732e70726f746f1a17676f6f676c652f6170692f636c6965" . + "6e742e70726f746f22330a1a476574416447726f7570437269746572696f" . + "6e5265717565737412150a0d7265736f757263655f6e616d651801200128" . + "0922b4010a1c4d7574617465416447726f75704372697465726961526571" . + "7565737412130a0b637573746f6d65725f6964180120012809124f0a0a6f" . + "7065726174696f6e7318022003280b323b2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e416447726f75704372" . + "69746572696f6e4f7065726174696f6e12170a0f7061727469616c5f6661" . + "696c75726518032001280812150a0d76616c69646174655f6f6e6c791804" . + "2001280822d3020a19416447726f7570437269746572696f6e4f70657261" . + "74696f6e122f0a0b7570646174655f6d61736b18042001280b321a2e676f" . + "6f676c652e70726f746f6275662e4669656c644d61736b12580a1c657865" . + "6d70745f706f6c6963795f76696f6c6174696f6e5f6b6579731805200328" . + "0b32322e676f6f676c652e6164732e676f6f676c656164732e76322e636f" . + "6d6d6f6e2e506f6c69637956696f6c6174696f6e4b657912450a06637265" . + "61746518012001280b32332e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e416447726f757043726974657269" . + "6f6e480012450a0675706461746518022001280b32332e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e416447" . + "726f7570437269746572696f6e480012100a0672656d6f76651803200128" . + "094800420b0a096f7065726174696f6e22a3010a1d4d7574617465416447" . + "726f75704372697465726961526573706f6e736512310a15706172746961" . + "6c5f6661696c7572655f6572726f7218032001280b32122e676f6f676c65" . + "2e7270632e537461747573124f0a07726573756c747318022003280b323e" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d7574617465416447726f7570437269746572696f6e52657375" . + "6c7422350a1c4d7574617465416447726f7570437269746572696f6e5265" . + "73756c7412150a0d7265736f757263655f6e616d6518012001280932d803" . + "0a17416447726f7570437269746572696f6e5365727669636512c3010a13" . + "476574416447726f7570437269746572696f6e123c2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4765744164" . + "47726f7570437269746572696f6e526571756573741a332e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4164" . + "47726f7570437269746572696f6e223982d3e493023312312f76322f7b72" . + "65736f757263655f6e616d653d637573746f6d6572732f2a2f616447726f" . + "757043726974657269612f2a7d12d9010a154d7574617465416447726f75" . + "704372697465726961123e2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d7574617465416447726f75704372" . + "697465726961526571756573741a3f2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e4d7574617465416447726f" . + "75704372697465726961526573706f6e7365223f82d3e493023922342f76" . + "322f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f6164" . + "47726f757043726974657269613a6d75746174653a012a1a1bca4118676f" . + "6f676c656164732e676f6f676c65617069732e636f6d4283020a24636f6d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "636573421c416447726f7570437269746572696f6e536572766963655072" . + "6f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f73657276696365733b7365727669636573a20203474141aa0220476f" . + "6f676c652e4164732e476f6f676c654164732e56322e5365727669636573" . + "ca0220476f6f676c655c4164735c476f6f676c654164735c56325c536572" . + "7669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationService.php new file mode 100644 index 000000000..8c281842d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationService.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ab1060a4c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f637269746572696f6e5f73696d" . + "756c6174696f6e5f736572766963652e70726f746f1220676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365731a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f" . + "676c652f6170692f636c69656e742e70726f746f223d0a24476574416447" . + "726f7570437269746572696f6e53696d756c6174696f6e52657175657374" . + "12150a0d7265736f757263655f6e616d6518012001280932b0020a214164" . + "47726f7570437269746572696f6e53696d756c6174696f6e536572766963" . + "6512ed010a1d476574416447726f7570437269746572696f6e53696d756c" . + "6174696f6e12462e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e476574416447726f7570437269746572696f6e" . + "53696d756c6174696f6e526571756573741a3d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e416447726f75" . + "70437269746572696f6e53696d756c6174696f6e224582d3e493023f123d" . + "2f76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a" . + "2f616447726f7570437269746572696f6e53696d756c6174696f6e732f2a" . + "7d1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d" . + "428d020a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365734226416447726f7570437269746572696f6e53" . + "696d756c6174696f6e5365727669636550726f746f50015a48676f6f676c" . + "652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c656170" . + "69732f6164732f676f6f676c656164732f76322f73657276696365733b73" . + "65727669636573a20203474141aa0220476f6f676c652e4164732e476f6f" . + "676c654164732e56322e5365727669636573ca0220476f6f676c655c4164" . + "735c476f6f676c654164735c56325c5365727669636573ea0224476f6f67" . + "6c653a3a4164733a3a476f6f676c654164733a3a56323a3a536572766963" . + "6573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingService.php new file mode 100644 index 000000000..a36e87d58 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingService.php @@ -0,0 +1,89 @@ +internalAddGeneratedFile(hex2bin( + "0aa00e0a49676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f657874656e73696f6e5f736574" . + "74696e675f736572766963652e70726f746f1220676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365731a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f1a20676f6f676c65" . + "2f70726f746f6275662f6669656c645f6d61736b2e70726f746f1a17676f" . + "6f676c652f7270632f7374617475732e70726f746f1a17676f6f676c652f" . + "6170692f636c69656e742e70726f746f223a0a21476574416447726f7570" . + "457874656e73696f6e53657474696e675265717565737412150a0d726573" . + "6f757263655f6e616d6518012001280922c4010a254d7574617465416447" . + "726f7570457874656e73696f6e53657474696e6773526571756573741213" . + "0a0b637573746f6d65725f696418012001280912560a0a6f706572617469" . + "6f6e7318022003280b32422e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e416447726f7570457874656e73696f" . + "6e53657474696e674f7065726174696f6e12170a0f7061727469616c5f66" . + "61696c75726518032001280812150a0d76616c69646174655f6f6e6c7918" . + "0420012808228e020a20416447726f7570457874656e73696f6e53657474" . + "696e674f7065726174696f6e122f0a0b7570646174655f6d61736b180420" . + "01280b321a2e676f6f676c652e70726f746f6275662e4669656c644d6173" . + "6b124c0a0663726561746518012001280b323a2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e416447726f75" . + "70457874656e73696f6e53657474696e674800124c0a0675706461746518" . + "022001280b323a2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e416447726f7570457874656e73696f6e5365" . + "7474696e67480012100a0672656d6f76651803200128094800420b0a096f" . + "7065726174696f6e22b3010a264d7574617465416447726f757045787465" . + "6e73696f6e53657474696e6773526573706f6e736512310a157061727469" . + "616c5f6661696c7572655f6572726f7218032001280b32122e676f6f676c" . + "652e7270632e53746174757312560a07726573756c747318022003280b32" . + "452e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d7574617465416447726f7570457874656e73696f6e536574" . + "74696e67526573756c74223c0a234d7574617465416447726f7570457874" . + "656e73696f6e53657474696e67526573756c7412150a0d7265736f757263" . + "655f6e616d6518012001280932a1040a1e416447726f7570457874656e73" . + "696f6e53657474696e675365727669636512e1010a1a476574416447726f" . + "7570457874656e73696f6e53657474696e6712432e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e476574416447" . + "726f7570457874656e73696f6e53657474696e67526571756573741a3a2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e416447726f7570457874656e73696f6e53657474696e67224282" . + "d3e493023c123a2f76322f7b7265736f757263655f6e616d653d63757374" . + "6f6d6572732f2a2f616447726f7570457874656e73696f6e53657474696e" . + "67732f2a7d12fd010a1e4d7574617465416447726f7570457874656e7369" . + "6f6e53657474696e677312472e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d7574617465416447726f757045" . + "7874656e73696f6e53657474696e6773526571756573741a482e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "7574617465416447726f7570457874656e73696f6e53657474696e677352" . + "6573706f6e7365224882d3e4930242223d2f76322f637573746f6d657273" . + "2f7b637573746f6d65725f69643d2a7d2f616447726f7570457874656e73" . + "696f6e53657474696e67733a6d75746174653a012a1a1bca4118676f6f67" . + "6c656164732e676f6f676c65617069732e636f6d428a020a24636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "734223416447726f7570457874656e73696f6e53657474696e6753657276" . + "69636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f73657276696365733b7365727669636573a20203474141" . + "aa0220476f6f676c652e4164732e476f6f676c654164732e56322e536572" . + "7669636573ca0220476f6f676c655c4164735c476f6f676c654164735c56" . + "325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupFeedService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupFeedService.php new file mode 100644 index 000000000..d7eb463d3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupFeedService.php @@ -0,0 +1,81 @@ +internalAddGeneratedFile(hex2bin( + "0aaf0c0a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f666565645f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a20676f6f676c652f70726f746f6275662f666965" . + "6c645f6d61736b2e70726f746f1a17676f6f676c652f7270632f73746174" . + "75732e70726f746f1a17676f6f676c652f6170692f636c69656e742e7072" . + "6f746f222e0a15476574416447726f757046656564526571756573741215" . + "0a0d7265736f757263655f6e616d6518012001280922ac010a194d757461" . + "7465416447726f757046656564735265717565737412130a0b637573746f" . + "6d65725f6964180120012809124a0a0a6f7065726174696f6e7318022003" . + "280b32362e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e416447726f7570466565644f7065726174696f6e1217" . + "0a0f7061727469616c5f6661696c75726518032001280812150a0d76616c" . + "69646174655f6f6e6c7918042001280822ea010a14416447726f75704665" . + "65644f7065726174696f6e122f0a0b7570646174655f6d61736b18042001" . + "280b321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b" . + "12400a0663726561746518012001280b322e2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e416447726f7570" . + "46656564480012400a0675706461746518022001280b322e2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e41" . + "6447726f757046656564480012100a0672656d6f76651803200128094800" . + "420b0a096f7065726174696f6e229b010a1a4d7574617465416447726f75" . + "704665656473526573706f6e736512310a157061727469616c5f6661696c" . + "7572655f6572726f7218032001280b32122e676f6f676c652e7270632e53" . + "7461747573124a0a07726573756c747318022003280b32392e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d75" . + "74617465416447726f757046656564526573756c7422300a174d75746174" . + "65416447726f757046656564526573756c7412150a0d7265736f75726365" . + "5f6e616d6518012001280932b5030a12416447726f757046656564536572" . + "7669636512b1010a0e476574416447726f75704665656412372e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e47" . + "6574416447726f757046656564526571756573741a2e2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e416447" . + "726f757046656564223682d3e4930230122e2f76322f7b7265736f757263" . + "655f6e616d653d637573746f6d6572732f2a2f616447726f757046656564" . + "732f2a7d12cd010a124d7574617465416447726f75704665656473123b2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d7574617465416447726f75704665656473526571756573741a3c" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d7574617465416447726f75704665656473526573706f6e7365" . + "223c82d3e493023622312f76322f637573746f6d6572732f7b637573746f" . + "6d65725f69643d2a7d2f616447726f757046656564733a6d75746174653a" . + "012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f" . + "6d42fe010a24636f6d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365734217416447726f7570466565645365727669" . + "636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f73657276696365733b7365727669636573a20203474141aa" . + "0220476f6f676c652e4164732e476f6f676c654164732e56322e53657276" . + "69636573ca0220476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupLabelService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupLabelService.php new file mode 100644 index 000000000..8d5292afd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupLabelService.php @@ -0,0 +1,76 @@ +internalAddGeneratedFile(hex2bin( + "0aac0b0a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f6c6162656c5f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a17676f6f676c652f7270632f7374617475732e" . + "70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f" . + "222f0a16476574416447726f75704c6162656c5265717565737412150a0d" . + "7265736f757263655f6e616d6518012001280922ae010a1a4d7574617465" . + "416447726f75704c6162656c735265717565737412130a0b637573746f6d" . + "65725f6964180120012809124b0a0a6f7065726174696f6e731802200328" . + "0b32372e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e416447726f75704c6162656c4f7065726174696f6e1217" . + "0a0f7061727469616c5f6661696c75726518032001280812150a0d76616c" . + "69646174655f6f6e6c7918042001280822790a15416447726f75704c6162" . + "656c4f7065726174696f6e12410a0663726561746518012001280b322f2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e416447726f75704c6162656c480012100a0672656d6f76651802" . + "200128094800420b0a096f7065726174696f6e229d010a1b4d7574617465" . + "416447726f75704c6162656c73526573706f6e736512310a157061727469" . + "616c5f6661696c7572655f6572726f7218032001280b32122e676f6f676c" . + "652e7270632e537461747573124b0a07726573756c747318022003280b32" . + "3a2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d7574617465416447726f75704c6162656c526573756c7422" . + "310a184d7574617465416447726f75704c6162656c526573756c7412150a" . + "0d7265736f757263655f6e616d6518012001280932be030a13416447726f" . + "75704c6162656c5365727669636512b5010a0f476574416447726f75704c" . + "6162656c12382e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e476574416447726f75704c6162656c5265717565" . + "73741a2f2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e416447726f75704c6162656c223782d3e493023112" . + "2f2f76322f7b7265736f757263655f6e616d653d637573746f6d6572732f" . + "2a2f616447726f75704c6162656c732f2a7d12d1010a134d757461746541" . + "6447726f75704c6162656c73123c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4d7574617465416447726f75" . + "704c6162656c73526571756573741a3d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746541644772" . + "6f75704c6162656c73526573706f6e7365223d82d3e493023722322f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f616447" . + "726f75704c6162656c733a6d75746174653a012a1a1bca4118676f6f676c" . + "656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "4218416447726f75704c6162656c5365727669636550726f746f50015a48" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7365727669" . + "6365733b7365727669636573a20203474141aa0220476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5365727669636573ca0220476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5365727669636573ea02" . + "24476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53" . + "65727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupService.php new file mode 100644 index 000000000..4248a9754 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupService.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0ade0b0a37676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f736572766963652e70726f746f" . + "1220676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f1a20676f6f676c652f70726f746f6275662f6669656c645f6d61" . + "736b2e70726f746f1a17676f6f676c652f7270632f7374617475732e7072" . + "6f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f222a" . + "0a11476574416447726f75705265717565737412150a0d7265736f757263" . + "655f6e616d6518012001280922a4010a154d7574617465416447726f7570" . + "735265717565737412130a0b637573746f6d65725f696418012001280912" . + "460a0a6f7065726174696f6e7318022003280b32322e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e416447726f" . + "75704f7065726174696f6e12170a0f7061727469616c5f6661696c757265" . + "18032001280812150a0d76616c69646174655f6f6e6c7918042001280822" . + "de010a10416447726f75704f7065726174696f6e122f0a0b757064617465" . + "5f6d61736b18042001280b321a2e676f6f676c652e70726f746f6275662e" . + "4669656c644d61736b123c0a0663726561746518012001280b322a2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e416447726f75704800123c0a0675706461746518022001280b322a2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e416447726f7570480012100a0672656d6f766518032001280948" . + "00420b0a096f7065726174696f6e2293010a164d7574617465416447726f" . + "757073526573706f6e736512310a157061727469616c5f6661696c757265" . + "5f6572726f7218032001280b32122e676f6f676c652e7270632e53746174" . + "757312460a07726573756c747318022003280b32352e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4d75746174" . + "65416447726f7570526573756c74222c0a134d7574617465416447726f75" . + "70526573756c7412150a0d7265736f757263655f6e616d65180120012809" . + "3291030a0e416447726f75705365727669636512a1010a0a476574416447" . + "726f757012332e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e476574416447726f7570526571756573741a2a2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e416447726f7570223282d3e493022c122a2f76322f7b7265736f" . + "757263655f6e616d653d637573746f6d6572732f2a2f616447726f757073" . + "2f2a7d12bd010a0e4d7574617465416447726f75707312372e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d75" . + "74617465416447726f757073526571756573741a382e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4d75746174" . + "65416447726f757073526573706f6e7365223882d3e4930232222d2f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f616447" . + "726f7570733a6d75746174653a012a1a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d42fa010a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365734213416447" . + "726f75705365727669636550726f746f50015a48676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f73657276696365733b736572766963" . + "6573a20203474141aa0220476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5365727669636573ca0220476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5365727669636573ea0224476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a5365727669636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationService.php new file mode 100644 index 000000000..779c67c3f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ae8050a42676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f67726f75705f73696d756c6174696f6e5f7365" . + "72766963652e70726f746f1220676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365731a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f636c" . + "69656e742e70726f746f22340a1b476574416447726f757053696d756c61" . + "74696f6e5265717565737412150a0d7265736f757263655f6e616d651801" . + "200128093283020a18416447726f757053696d756c6174696f6e53657276" . + "69636512c9010a14476574416447726f757053696d756c6174696f6e123d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e476574416447726f757053696d756c6174696f6e526571756573" . + "741a342e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e416447726f757053696d756c6174696f6e223c82d3e4" . + "93023612342f76322f7b7265736f757263655f6e616d653d637573746f6d" . + "6572732f2a2f616447726f757053696d756c6174696f6e732f2a7d1a1bca" . + "4118676f6f676c656164732e676f6f676c65617069732e636f6d4284020a" . + "24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "65727669636573421d416447726f757053696d756c6174696f6e53657276" . + "69636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f73657276696365733b7365727669636573a20203474141" . + "aa0220476f6f676c652e4164732e476f6f676c654164732e56322e536572" . + "7669636573ca0220476f6f676c655c4164735c476f6f676c654164735c56" . + "325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdParameterService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdParameterService.php new file mode 100644 index 000000000..3226657f3 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdParameterService.php @@ -0,0 +1,81 @@ +internalAddGeneratedFile(hex2bin( + "0aae0c0a3b676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f706172616d657465725f736572766963652e70" . + "726f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365731a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f1a20676f6f676c652f70726f746f6275662f6669656c" . + "645f6d61736b2e70726f746f1a17676f6f676c652f7270632f7374617475" . + "732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f" . + "746f222e0a154765744164506172616d657465725265717565737412150a" . + "0d7265736f757263655f6e616d6518012001280922ac010a194d75746174" . + "654164506172616d65746572735265717565737412130a0b637573746f6d" . + "65725f6964180120012809124a0a0a6f7065726174696f6e731802200328" . + "0b32362e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4164506172616d657465724f7065726174696f6e12170a" . + "0f7061727469616c5f6661696c75726518032001280812150a0d76616c69" . + "646174655f6f6e6c7918042001280822ea010a144164506172616d657465" . + "724f7065726174696f6e122f0a0b7570646174655f6d61736b1804200128" . + "0b321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b12" . + "400a0663726561746518012001280b322e2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e4164506172616d65" . + "746572480012400a0675706461746518022001280b322e2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4164" . + "506172616d65746572480012100a0672656d6f7665180320012809480042" . + "0b0a096f7065726174696f6e229b010a1a4d75746174654164506172616d" . + "6574657273526573706f6e736512310a157061727469616c5f6661696c75" . + "72655f6572726f7218032001280b32122e676f6f676c652e7270632e5374" . + "61747573124a0a07726573756c747318022003280b32392e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "6174654164506172616d65746572526573756c7422300a174d7574617465" . + "4164506172616d65746572526573756c7412150a0d7265736f757263655f" . + "6e616d6518012001280932b5030a124164506172616d6574657253657276" . + "69636512b1010a0e4765744164506172616d6574657212372e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4765" . + "744164506172616d65746572526571756573741a2e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e41645061" . + "72616d65746572223682d3e4930230122e2f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f6164506172616d6574657273" . + "2f2a7d12cd010a124d75746174654164506172616d6574657273123b2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d75746174654164506172616d6574657273526571756573741a3c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d75746174654164506172616d6574657273526573706f6e736522" . + "3c82d3e493023622312f76322f637573746f6d6572732f7b637573746f6d" . + "65725f69643d2a7d2f6164506172616d65746572733a6d75746174653a01" . + "2a1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d" . + "42fe010a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e736572766963657342174164506172616d65746572536572766963" . + "6550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f73657276696365733b7365727669636573a20203474141aa02" . + "20476f6f676c652e4164732e476f6f676c654164732e56322e5365727669" . + "636573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdScheduleViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdScheduleViewService.php new file mode 100644 index 000000000..026ad4bfd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdScheduleViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad0050a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f7363686564756c655f766965775f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22310a1847657441645363686564756c65566965775265" . + "717565737412150a0d7265736f757263655f6e616d6518012001280932f4" . + "010a1541645363686564756c65566965775365727669636512bd010a1147" . + "657441645363686564756c6556696577123a2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4765744164536368" . + "6564756c6556696577526571756573741a312e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e41645363686564" . + "756c6556696577223982d3e493023312312f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f61645363686564756c655669" . + "6577732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4281020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421a41645363686564756c655669" . + "65775365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AdService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AdService.php new file mode 100644 index 000000000..fcffb9829 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AdService.php @@ -0,0 +1,68 @@ +internalAddGeneratedFile(hex2bin( + "0ab0090a31676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61645f736572766963652e70726f746f1220676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365731a1c" . + "676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f1a20" . + "676f6f676c652f70726f746f6275662f6669656c645f6d61736b2e70726f" . + "746f1a17676f6f676c652f6170692f636c69656e742e70726f746f22250a" . + "0c47657441645265717565737412150a0d7265736f757263655f6e616d65" . + "180120012809226a0a104d75746174654164735265717565737412130a0b" . + "637573746f6d65725f696418012001280912410a0a6f7065726174696f6e" . + "7318022003280b322d2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e41644f7065726174696f6e2284010a0b41" . + "644f7065726174696f6e122f0a0b7570646174655f6d61736b1802200128" . + "0b321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b12" . + "370a0675706461746518012001280b32252e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e41644800420b0a09" . + "6f7065726174696f6e22560a114d7574617465416473526573706f6e7365" . + "12410a07726573756c747318022003280b32302e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d757461746541" . + "64526573756c7422270a0e4d75746174654164526573756c7412150a0d72" . + "65736f757263655f6e616d6518012001280932e4020a0941645365727669" . + "6365128d010a054765744164122e2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e476574416452657175657374" . + "1a252e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e4164222d82d3e493022712252f76322f7b7265736f7572" . + "63655f6e616d653d637573746f6d6572732f2a2f6164732f2a7d12a9010a" . + "094d757461746541647312322e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d75746174654164735265717565" . + "73741a332e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e4d7574617465416473526573706f6e7365223382d3e4" . + "93022d22282f76322f637573746f6d6572732f7b637573746f6d65725f69" . + "643d2a7d2f6164733a6d75746174653a012a1a1bca4118676f6f676c6561" . + "64732e676f6f676c65617069732e636f6d42f5010a24636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7365727669636573420e" . + "41645365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AgeRangeViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AgeRangeViewService.php new file mode 100644 index 000000000..84fc6f889 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AgeRangeViewService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0ac0050a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6167655f72616e67655f766965775f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e" . + "70726f746f222f0a1647657441676552616e676556696577526571756573" . + "7412150a0d7265736f757263655f6e616d6518012001280932ea010a1341" . + "676552616e6765566965775365727669636512b5010a0f47657441676552" . + "616e67655669657712382e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e47657441676552616e67655669657752" . + "6571756573741a2f2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e41676552616e676556696577223782d3e4" . + "930231122f2f76322f7b7265736f757263655f6e616d653d637573746f6d" . + "6572732f2a2f61676552616e676556696577732f2a7d1a1bca4118676f6f" . + "676c656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "6573421841676552616e6765566965775365727669636550726f746f5001" . + "5a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f736572" . + "76696365733b7365727669636573a20203474141aa0220476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5365727669636573ca0220476f" . + "6f676c655c4164735c476f6f676c654164735c56325c5365727669636573" . + "ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/AssetService.php b/metadata/Google/Ads/GoogleAds/V2/Services/AssetService.php new file mode 100644 index 000000000..1b48538f9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/AssetService.php @@ -0,0 +1,66 @@ +internalAddGeneratedFile(hex2bin( + "0a95090a34676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f61737365745f736572766963652e70726f746f122067" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f74" . + "6f1a17676f6f676c652f6170692f636c69656e742e70726f746f22280a0f" . + "47657441737365745265717565737412150a0d7265736f757263655f6e61" . + "6d6518012001280922700a134d7574617465417373657473526571756573" . + "7412130a0b637573746f6d65725f696418012001280912440a0a6f706572" . + "6174696f6e7318022003280b32302e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e41737365744f706572617469" . + "6f6e22590a0e41737365744f7065726174696f6e123a0a06637265617465" . + "18012001280b32282e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e41737365744800420b0a096f7065726174" . + "696f6e225c0a144d7574617465417373657473526573706f6e736512440a" . + "07726573756c747318022003280b32332e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746541737365" . + "74526573756c74222a0a114d75746174654173736574526573756c741215" . + "0a0d7265736f757263655f6e616d6518012001280932ff020a0c41737365" . + "74536572766963651299010a08476574417373657412312e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e476574" . + "4173736574526571756573741a282e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e4173736574223082d3e493" . + "022a12282f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f6173736574732f2a7d12b5010a0c4d75746174654173736574" . + "7312352e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4d7574617465417373657473526571756573741a362e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d7574617465417373657473526573706f6e7365223682d3e4930230" . + "222b2f76322f637573746f6d6572732f7b637573746f6d65725f69643d2a" . + "7d2f6173736574733a6d75746174653a012a1a1bca4118676f6f676c6561" . + "64732e676f6f676c65617069732e636f6d42f8010a24636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365734211" . + "41737365745365727669636550726f746f50015a48676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f73657276696365733b7365727669" . + "636573a20203474141aa0220476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e5365727669636573ca0220476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5365727669636573ea0224476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a53657276696365736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/BiddingStrategyService.php b/metadata/Google/Ads/GoogleAds/V2/Services/BiddingStrategyService.php new file mode 100644 index 000000000..b84aa349a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/BiddingStrategyService.php @@ -0,0 +1,84 @@ +internalAddGeneratedFile(hex2bin( + "0a850d0a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f62696464696e675f73747261746567795f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a20676f6f676c652f70726f746f6275662f" . + "6669656c645f6d61736b2e70726f746f1a17676f6f676c652f7270632f73" . + "74617475732e70726f746f1a17676f6f676c652f6170692f636c69656e74" . + "2e70726f746f22320a1947657442696464696e6753747261746567795265" . + "717565737412150a0d7265736f757263655f6e616d6518012001280922b5" . + "010a1e4d757461746542696464696e675374726174656769657352657175" . + "65737412130a0b637573746f6d65725f6964180120012809124e0a0a6f70" . + "65726174696f6e7318022003280b323a2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e42696464696e67537472" . + "61746567794f7065726174696f6e12170a0f7061727469616c5f6661696c" . + "75726518032001280812150a0d76616c69646174655f6f6e6c7918042001" . + "280822f6010a1842696464696e6753747261746567794f7065726174696f" . + "6e122f0a0b7570646174655f6d61736b18042001280b321a2e676f6f676c" . + "652e70726f746f6275662e4669656c644d61736b12440a06637265617465" . + "18012001280b32322e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e42696464696e6753747261746567794800" . + "12440a0675706461746518022001280b32322e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e42696464696e67" . + "5374726174656779480012100a0672656d6f76651803200128094800420b" . + "0a096f7065726174696f6e22a4010a1f4d757461746542696464696e6753" . + "747261746567696573526573706f6e736512310a157061727469616c5f66" . + "61696c7572655f6572726f7218032001280b32122e676f6f676c652e7270" . + "632e537461747573124e0a07726573756c747318022003280b323d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d757461746542696464696e675374726174656779526573756c742234" . + "0a1b4d757461746542696464696e675374726174656779526573756c7412" . + "150a0d7265736f757263655f6e616d6518012001280932de030a16426964" . + "64696e6753747261746567795365727669636512c2010a12476574426964" . + "64696e675374726174656779123b2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e47657442696464696e675374" . + "726174656779526571756573741a322e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e42696464696e67537472" . + "6174656779223b82d3e493023512332f76322f7b7265736f757263655f6e" . + "616d653d637573746f6d6572732f2a2f62696464696e6753747261746567" . + "6965732f2a7d12e1010a174d757461746542696464696e67537472617465" . + "6769657312402e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d757461746542696464696e6753747261746567" . + "696573526571756573741a412e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d757461746542696464696e6753" . + "747261746567696573526573706f6e7365224182d3e493023b22362f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f626964" . + "64696e67537472617465676965733a6d75746174653a012a1a1bca411867" . + "6f6f676c656164732e676f6f676c65617069732e636f6d4282020a24636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "69636573421b42696464696e675374726174656779536572766963655072" . + "6f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f73657276696365733b7365727669636573a20203474141aa0220476f" . + "6f676c652e4164732e476f6f676c654164732e56322e5365727669636573" . + "ca0220476f6f676c655c4164735c476f6f676c654164735c56325c536572" . + "7669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/BillingSetupService.php b/metadata/Google/Ads/GoogleAds/V2/Services/BillingSetupService.php new file mode 100644 index 000000000..373970b5d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/BillingSetupService.php @@ -0,0 +1,71 @@ +internalAddGeneratedFile(hex2bin( + "0aa60a0a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f62696c6c696e675f73657475705f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70" . + "726f746f222f0a1647657442696c6c696e67536574757052657175657374" . + "12150a0d7265736f757263655f6e616d65180120012809227c0a194d7574" . + "61746542696c6c696e6753657475705265717565737412130a0b63757374" . + "6f6d65725f6964180120012809124a0a096f7065726174696f6e18022001" . + "280b32372e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e42696c6c696e6753657475704f7065726174696f6e22" . + "790a1542696c6c696e6753657475704f7065726174696f6e12410a066372" . + "6561746518022001280b322f2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e42696c6c696e67536574757048" . + "0012100a0672656d6f76651801200128094800420b0a096f706572617469" . + "6f6e22680a1a4d757461746542696c6c696e675365747570526573706f6e" . + "7365124a0a06726573756c7418012001280b323a2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4d7574617465" . + "42696c6c696e675365747570526573756c7422310a184d75746174654269" . + "6c6c696e675365747570526573756c7412150a0d7265736f757263655f6e" . + "616d6518012001280932bb030a1342696c6c696e67536574757053657276" . + "69636512b5010a0f47657442696c6c696e67536574757012382e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e47" . + "657442696c6c696e675365747570526571756573741a2f2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4269" . + "6c6c696e675365747570223782d3e4930231122f2f76322f7b7265736f75" . + "7263655f6e616d653d637573746f6d6572732f2a2f62696c6c696e675365" . + "747570732f2a7d12ce010a124d757461746542696c6c696e675365747570" . + "123b2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e4d757461746542696c6c696e675365747570526571756573" . + "741a3c2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4d757461746542696c6c696e675365747570526573706f" . + "6e7365223d82d3e493023722322f76322f637573746f6d6572732f7b6375" . + "73746f6d65725f69643d2a7d2f62696c6c696e675365747570733a6d7574" . + "6174653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d42ff010a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421842696c6c696e675365747570" . + "5365727669636550726f746f50015a48676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f73657276696365733b7365727669636573a202" . + "03474141aa0220476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e5365727669636573ca0220476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c5365727669636573ea0224476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5365727669636573620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewService.php new file mode 100644 index 000000000..fcc11ea0a --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0a80060a45676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f61756469656e63655f76696577" . + "5f736572766963652e70726f746f1220676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f22370a1e47657443616d706169676e4175" . + "6469656e6365566965775265717565737412150a0d7265736f757263655f" . + "6e616d651801200128093292020a1b43616d706169676e41756469656e63" . + "65566965775365727669636512d5010a1747657443616d706169676e4175" . + "6469656e63655669657712402e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e47657443616d706169676e417564" . + "69656e636556696577526571756573741a372e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e43616d70616967" . + "6e41756469656e636556696577223f82d3e493023912372f76322f7b7265" . + "736f757263655f6e616d653d637573746f6d6572732f2a2f63616d706169" . + "676e41756469656e636556696577732f2a7d1a1bca4118676f6f676c6561" . + "64732e676f6f676c65617069732e636f6d4287020a24636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365734220" . + "43616d706169676e41756469656e6365566965775365727669636550726f" . + "746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f73657276696365733b7365727669636573a20203474141aa0220476f6f" . + "676c652e4164732e476f6f676c654164732e56322e5365727669636573ca" . + "0220476f6f676c655c4164735c476f6f676c654164735c56325c53657276" . + "69636573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierService.php new file mode 100644 index 000000000..52a4e5c33 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierService.php @@ -0,0 +1,87 @@ +internalAddGeneratedFile(hex2bin( + "0acf0d0a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f6269645f6d6f6469666965725f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f74" . + "6f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f" . + "7270632f7374617475732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22360a1d47657443616d706169676e4269644d" . + "6f6469666965725265717565737412150a0d7265736f757263655f6e616d" . + "6518012001280922bc010a214d757461746543616d706169676e4269644d" . + "6f646966696572735265717565737412130a0b637573746f6d65725f6964" . + "18012001280912520a0a6f7065726174696f6e7318022003280b323e2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e43616d706169676e4269644d6f6469666965724f7065726174696f6e" . + "12170a0f7061727469616c5f6661696c75726518032001280812150a0d76" . + "616c69646174655f6f6e6c791804200128082282020a1c43616d70616967" . + "6e4269644d6f6469666965724f7065726174696f6e122f0a0b7570646174" . + "655f6d61736b18042001280b321a2e676f6f676c652e70726f746f627566" . + "2e4669656c644d61736b12480a0663726561746518012001280b32362e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e43616d706169676e4269644d6f646966696572480012480a067570" . + "6461746518022001280b32362e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e43616d706169676e4269644d6f" . + "646966696572480012100a0672656d6f76651803200128094800420b0a09" . + "6f7065726174696f6e22ab010a224d757461746543616d706169676e4269" . + "644d6f64696669657273526573706f6e736512310a157061727469616c5f" . + "6661696c7572655f6572726f7218032001280b32122e676f6f676c652e72" . + "70632e53746174757312520a07726573756c747318022003280b32412e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d757461746543616d706169676e4269644d6f646966696572526573" . + "756c7422380a1f4d757461746543616d706169676e4269644d6f64696669" . + "6572526573756c7412150a0d7265736f757263655f6e616d651801200128" . + "0932fd030a1a43616d706169676e4269644d6f6469666965725365727669" . + "636512d1010a1647657443616d706169676e4269644d6f64696669657212" . + "3f2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e47657443616d706169676e4269644d6f646966696572526571" . + "756573741a362e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e43616d706169676e4269644d6f646966696572" . + "223e82d3e493023812362f76322f7b7265736f757263655f6e616d653d63" . + "7573746f6d6572732f2a2f63616d706169676e4269644d6f646966696572" . + "732f2a7d12ed010a1a4d757461746543616d706169676e4269644d6f6469" . + "666965727312432e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e4269644d6f" . + "64696669657273526571756573741a442e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543616d70" . + "6169676e4269644d6f64696669657273526573706f6e7365224482d3e493" . + "023e22392f76322f637573746f6d6572732f7b637573746f6d65725f6964" . + "3d2a7d2f63616d706169676e4269644d6f646966696572733a6d75746174" . + "653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d4286020a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7365727669636573421f43616d706169676e4269644d6f64" . + "69666965725365727669636550726f746f50015a48676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f73657276696365733b7365727669" . + "636573a20203474141aa0220476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e5365727669636573ca0220476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5365727669636573ea0224476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a53657276696365736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignBudgetService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignBudgetService.php new file mode 100644 index 000000000..ee671ac76 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignBudgetService.php @@ -0,0 +1,83 @@ +internalAddGeneratedFile(hex2bin( + "0aea0c0a3e676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f6275646765745f736572766963" . + "652e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f1a20676f6f676c652f70726f746f6275662f66" . + "69656c645f6d61736b2e70726f746f1a17676f6f676c652f7270632f7374" . + "617475732e70726f746f1a17676f6f676c652f6170692f636c69656e742e" . + "70726f746f22310a1847657443616d706169676e42756467657452657175" . + "65737412150a0d7265736f757263655f6e616d6518012001280922b2010a" . + "1c4d757461746543616d706169676e427564676574735265717565737412" . + "130a0b637573746f6d65725f6964180120012809124d0a0a6f7065726174" . + "696f6e7318022003280b32392e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e43616d706169676e427564676574" . + "4f7065726174696f6e12170a0f7061727469616c5f6661696c7572651803" . + "2001280812150a0d76616c69646174655f6f6e6c7918042001280822f301" . + "0a1743616d706169676e4275646765744f7065726174696f6e122f0a0b75" . + "70646174655f6d61736b18042001280b321a2e676f6f676c652e70726f74" . + "6f6275662e4669656c644d61736b12430a0663726561746518012001280b" . + "32312e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e43616d706169676e427564676574480012430a06757064" . + "61746518022001280b32312e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e43616d706169676e427564676574" . + "480012100a0672656d6f76651803200128094800420b0a096f7065726174" . + "696f6e22a1010a1d4d757461746543616d706169676e4275646765747352" . + "6573706f6e736512310a157061727469616c5f6661696c7572655f657272" . + "6f7218032001280b32122e676f6f676c652e7270632e537461747573124d" . + "0a07726573756c747318022003280b323c2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4d757461746543616d" . + "706169676e427564676574526573756c7422330a1a4d757461746543616d" . + "706169676e427564676574526573756c7412150a0d7265736f757263655f" . + "6e616d6518012001280932d0030a1543616d706169676e42756467657453" . + "65727669636512bd010a1147657443616d706169676e427564676574123a" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e47657443616d706169676e427564676574526571756573741a31" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e43616d706169676e427564676574223982d3e493023312312f" . + "76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f" . + "63616d706169676e427564676574732f2a7d12d9010a154d757461746543" . + "616d706169676e42756467657473123e2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543616d70" . + "6169676e42756467657473526571756573741a3f2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4d7574617465" . + "43616d706169676e42756467657473526573706f6e7365223f82d3e49302" . + "3922342f76322f637573746f6d6572732f7b637573746f6d65725f69643d" . + "2a7d2f63616d706169676e427564676574733a6d75746174653a012a1a1b" . + "ca4118676f6f676c656164732e676f6f676c65617069732e636f6d428102" . + "0a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7365727669636573421a43616d706169676e427564676574536572766963" . + "6550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f73657276696365733b7365727669636573a20203474141aa02" . + "20476f6f676c652e4164732e476f6f676c654164732e56322e5365727669" . + "636573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionService.php new file mode 100644 index 000000000..c5dd4b225 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionService.php @@ -0,0 +1,85 @@ +internalAddGeneratedFile(hex2bin( + "0a980d0a41676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f637269746572696f6e5f736572" . + "766963652e70726f746f1220676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f6275" . + "662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f727063" . + "2f7374617475732e70726f746f1a17676f6f676c652f6170692f636c6965" . + "6e742e70726f746f22340a1b47657443616d706169676e43726974657269" . + "6f6e5265717565737412150a0d7265736f757263655f6e616d6518012001" . + "280922b6010a1d4d757461746543616d706169676e437269746572696152" . + "65717565737412130a0b637573746f6d65725f696418012001280912500a" . + "0a6f7065726174696f6e7318022003280b323c2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e43616d70616967" . + "6e437269746572696f6e4f7065726174696f6e12170a0f7061727469616c" . + "5f6661696c75726518032001280812150a0d76616c69646174655f6f6e6c" . + "7918042001280822fc010a1a43616d706169676e437269746572696f6e4f" . + "7065726174696f6e122f0a0b7570646174655f6d61736b18042001280b32" . + "1a2e676f6f676c652e70726f746f6275662e4669656c644d61736b12460a" . + "0663726561746518012001280b32342e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e43616d706169676e4372" . + "69746572696f6e480012460a0675706461746518022001280b32342e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e43616d706169676e437269746572696f6e480012100a0672656d6f76" . + "651803200128094800420b0a096f7065726174696f6e22a5010a1e4d7574" . + "61746543616d706169676e4372697465726961526573706f6e736512310a" . + "157061727469616c5f6661696c7572655f6572726f7218032001280b3212" . + "2e676f6f676c652e7270632e53746174757312500a07726573756c747318" . + "022003280b323f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e4372697465" . + "72696f6e526573756c7422360a1d4d757461746543616d706169676e4372" . + "69746572696f6e526573756c7412150a0d7265736f757263655f6e616d65" . + "18012001280932e1030a1843616d706169676e437269746572696f6e5365" . + "727669636512c7010a1447657443616d706169676e437269746572696f6e" . + "123d2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e47657443616d706169676e437269746572696f6e52657175" . + "6573741a342e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e43616d706169676e437269746572696f6e223a82" . + "d3e493023412322f76322f7b7265736f757263655f6e616d653d63757374" . + "6f6d6572732f2a2f63616d706169676e43726974657269612f2a7d12dd01" . + "0a164d757461746543616d706169676e4372697465726961123f2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4d757461746543616d706169676e4372697465726961526571756573741a" . + "402e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d757461746543616d706169676e4372697465726961526573" . + "706f6e7365224082d3e493023a22352f76322f637573746f6d6572732f7b" . + "637573746f6d65725f69643d2a7d2f63616d706169676e43726974657269" . + "613a6d75746174653a012a1a1bca4118676f6f676c656164732e676f6f67" . + "6c65617069732e636f6d4284020a24636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7365727669636573421d43616d70616967" . + "6e437269746572696f6e5365727669636550726f746f50015a48676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f73657276696365733b" . + "7365727669636573a20203474141aa0220476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5365727669636573ca0220476f6f676c655c41" . + "64735c476f6f676c654164735c56325c5365727669636573ea0224476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5365727669" . + "636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationService.php new file mode 100644 index 000000000..dcc7ac23f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationService.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ab8060a4c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f637269746572696f6e5f73696d" . + "756c6174696f6e5f736572766963652e70726f746f1220676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365731a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f" . + "676c652f6170692f636c69656e742e70726f746f223e0a2547657443616d" . + "706169676e437269746572696f6e53696d756c6174696f6e526571756573" . + "7412150a0d7265736f757263655f6e616d6518012001280932b5020a2243" . + "616d706169676e437269746572696f6e53696d756c6174696f6e53657276" . + "69636512f1010a1e47657443616d706169676e437269746572696f6e5369" . + "6d756c6174696f6e12472e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e47657443616d706169676e4372697465" . + "72696f6e53696d756c6174696f6e526571756573741a3e2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4361" . + "6d706169676e437269746572696f6e53696d756c6174696f6e224682d3e4" . + "930240123e2f76322f7b7265736f757263655f6e616d653d637573746f6d" . + "6572732f2a2f63616d706169676e437269746572696f6e53696d756c6174" . + "696f6e732f2a7d1a1bca4118676f6f676c656164732e676f6f676c656170" . + "69732e636f6d428e020a24636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7365727669636573422743616d706169676e437269" . + "746572696f6e53696d756c6174696f6e5365727669636550726f746f5001" . + "5a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f736572" . + "76696365733b7365727669636573a20203474141aa0220476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5365727669636573ca0220476f" . + "6f676c655c4164735c476f6f676c654164735c56325c5365727669636573" . + "ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignDraftService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignDraftService.php new file mode 100644 index 000000000..955bbcb94 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignDraftService.php @@ -0,0 +1,109 @@ +internalAddGeneratedFile(hex2bin( + "0acd120a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f64726166745f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a23676f6f676c652f6c6f6e6772756e6e696e67" . + "2f6f7065726174696f6e732e70726f746f1a20676f6f676c652f70726f74" . + "6f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f" . + "7270632f7374617475732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22300a1747657443616d706169676e44726166" . + "745265717565737412150a0d7265736f757263655f6e616d651801200128" . + "0922b0010a1b4d757461746543616d706169676e44726166747352657175" . + "65737412130a0b637573746f6d65725f6964180120012809124c0a0a6f70" . + "65726174696f6e7318022003280b32382e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e43616d706169676e4472" . + "6166744f7065726174696f6e12170a0f7061727469616c5f6661696c7572" . + "6518032001280812150a0d76616c69646174655f6f6e6c79180420012808" . + "22350a1b50726f6d6f746543616d706169676e4472616674526571756573" . + "7412160a0e63616d706169676e5f647261667418012001280922f0010a16" . + "43616d706169676e44726166744f7065726174696f6e122f0a0b75706461" . + "74655f6d61736b18042001280b321a2e676f6f676c652e70726f746f6275" . + "662e4669656c644d61736b12420a0663726561746518012001280b32302e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e43616d706169676e4472616674480012420a0675706461746518" . + "022001280b32302e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e43616d706169676e4472616674480012100a" . + "0672656d6f76651803200128094800420b0a096f7065726174696f6e229f" . + "010a1c4d757461746543616d706169676e447261667473526573706f6e73" . + "6512310a157061727469616c5f6661696c7572655f6572726f7218032001" . + "280b32122e676f6f676c652e7270632e537461747573124c0a0772657375" . + "6c747318022003280b323b2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d757461746543616d706169676e44" . + "72616674526573756c7422320a194d757461746543616d706169676e4472" . + "616674526573756c7412150a0d7265736f757263655f6e616d6518012001" . + "280922630a234c69737443616d706169676e44726166744173796e634572" . + "726f72735265717565737412150a0d7265736f757263655f6e616d651801" . + "2001280912120a0a706167655f746f6b656e18022001280912110a097061" . + "67655f73697a6518032001280522630a244c69737443616d706169676e44" . + "726166744173796e634572726f7273526573706f6e736512220a06657272" . + "6f727318012003280b32122e676f6f676c652e7270632e53746174757312" . + "170a0f6e6578745f706167655f746f6b656e1802200128093298070a1443" . + "616d706169676e44726166745365727669636512b9010a1047657443616d" . + "706169676e447261667412392e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e47657443616d706169676e447261" . + "6674526571756573741a302e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e43616d706169676e447261667422" . + "3882d3e493023212302f76322f7b7265736f757263655f6e616d653d6375" . + "73746f6d6572732f2a2f63616d706169676e4472616674732f2a7d12d501" . + "0a144d757461746543616d706169676e447261667473123d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d75" . + "7461746543616d706169676e447261667473526571756573741a3e2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d757461746543616d706169676e447261667473526573706f6e736522" . + "3e82d3e493023822332f76322f637573746f6d6572732f7b637573746f6d" . + "65725f69643d2a7d2f63616d706169676e4472616674733a6d7574617465" . + "3a012a12d4010a1450726f6d6f746543616d706169676e4472616674123d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e50726f6d6f746543616d706169676e4472616674526571756573" . + "741a1d2e676f6f676c652e6c6f6e6772756e6e696e672e4f706572617469" . + "6f6e225e82d3e493023e22392f76322f7b63616d706169676e5f64726166" . + "743d637573746f6d6572732f2a2f63616d706169676e4472616674732f2a" . + "7d3a70726f6d6f74653a012aca41170a15676f6f676c652e70726f746f62" . + "75662e456d70747912f7010a1c4c69737443616d706169676e4472616674" . + "4173796e634572726f727312452e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4c69737443616d706169676e44" . + "726166744173796e634572726f7273526571756573741a462e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4c69" . + "737443616d706169676e44726166744173796e634572726f727352657370" . + "6f6e7365224882d3e493024212402f76322f7b7265736f757263655f6e61" . + "6d653d637573746f6d6572732f2a2f63616d706169676e4472616674732f" . + "2a7d3a6c6973744173796e634572726f72731a1bca4118676f6f676c6561" . + "64732e676f6f676c65617069732e636f6d4280020a24636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365734219" . + "43616d706169676e44726166745365727669636550726f746f50015a4867" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f736572766963" . + "65733b7365727669636573a20203474141aa0220476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5365727669636573ca0220476f6f676c" . + "655c4164735c476f6f676c654164735c56325c5365727669636573ea0224" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5365" . + "727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignExperimentService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignExperimentService.php new file mode 100644 index 000000000..79f31ffee --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignExperimentService.php @@ -0,0 +1,153 @@ +internalAddGeneratedFile(hex2bin( + "0adb1c0a42676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f6578706572696d656e745f7365" . + "72766963652e70726f746f1220676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365731a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f1a23676f6f676c652f6c6f6e677275" . + "6e6e696e672f6f7065726174696f6e732e70726f746f1a1b676f6f676c65" . + "2f70726f746f6275662f656d7074792e70726f746f1a20676f6f676c652f" . + "70726f746f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f" . + "676c652f7270632f7374617475732e70726f746f1a17676f6f676c652f61" . + "70692f636c69656e742e70726f746f22350a1c47657443616d706169676e" . + "4578706572696d656e745265717565737412150a0d7265736f757263655f" . + "6e616d6518012001280922ba010a204d757461746543616d706169676e45" . + "78706572696d656e74735265717565737412130a0b637573746f6d65725f" . + "696418012001280912510a0a6f7065726174696f6e7318022003280b323d" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e43616d706169676e4578706572696d656e744f7065726174696f" . + "6e12170a0f7061727469616c5f6661696c75726518032001280812150a0d" . + "76616c69646174655f6f6e6c7918042001280822b6010a1b43616d706169" . + "676e4578706572696d656e744f7065726174696f6e122f0a0b7570646174" . + "655f6d61736b18032001280b321a2e676f6f676c652e70726f746f627566" . + "2e4669656c644d61736b12470a0675706461746518012001280b32352e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e43616d706169676e4578706572696d656e74480012100a0672656d" . + "6f76651802200128094800420b0a096f7065726174696f6e22a9010a214d" . + "757461746543616d706169676e4578706572696d656e7473526573706f6e" . + "736512310a157061727469616c5f6661696c7572655f6572726f72180320" . + "01280b32122e676f6f676c652e7270632e53746174757312510a07726573" . + "756c747318022003280b32402e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d757461746543616d706169676e" . + "4578706572696d656e74526573756c7422370a1e4d757461746543616d70" . + "6169676e4578706572696d656e74526573756c7412150a0d7265736f7572" . + "63655f6e616d6518012001280922a1010a1f43726561746543616d706169" . + "676e4578706572696d656e745265717565737412130a0b637573746f6d65" . + "725f696418012001280912520a1363616d706169676e5f6578706572696d" . + "656e7418022001280b32352e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e43616d706169676e457870657269" . + "6d656e7412150a0d76616c69646174655f6f6e6c79180320012808223f0a" . + "2043726561746543616d706169676e4578706572696d656e744d65746164" . + "617461121b0a1363616d706169676e5f6578706572696d656e7418012001" . + "280922590a21477261647561746543616d706169676e4578706572696d65" . + "6e7452657175657374121b0a1363616d706169676e5f6578706572696d65" . + "6e7418012001280912170a0f63616d706169676e5f627564676574180220" . + "01280922400a22477261647561746543616d706169676e4578706572696d" . + "656e74526573706f6e7365121a0a126772616475617465645f63616d7061" . + "69676e180120012809223f0a2050726f6d6f746543616d706169676e4578" . + "706572696d656e7452657175657374121b0a1363616d706169676e5f6578" . + "706572696d656e74180120012809223b0a1c456e6443616d706169676e45" . + "78706572696d656e7452657175657374121b0a1363616d706169676e5f65" . + "78706572696d656e7418012001280922680a284c69737443616d70616967" . + "6e4578706572696d656e744173796e634572726f72735265717565737412" . + "150a0d7265736f757263655f6e616d6518012001280912120a0a70616765" . + "5f746f6b656e18022001280912110a09706167655f73697a651803200128" . + "0522680a294c69737443616d706169676e4578706572696d656e74417379" . + "6e634572726f7273526573706f6e736512220a066572726f727318012003" . + "280b32122e676f6f676c652e7270632e53746174757312170a0f6e657874" . + "5f706167655f746f6b656e18022001280932c80d0a1943616d706169676e" . + "4578706572696d656e745365727669636512cd010a1547657443616d7061" . + "69676e4578706572696d656e74123e2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e47657443616d706169676e" . + "4578706572696d656e74526571756573741a352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e43616d706169" . + "676e4578706572696d656e74223d82d3e493023712352f76322f7b726573" . + "6f757263655f6e616d653d637573746f6d6572732f2a2f63616d70616967" . + "6e4578706572696d656e74732f2a7d129f020a1843726561746543616d70" . + "6169676e4578706572696d656e7412412e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e43726561746543616d70" . + "6169676e4578706572696d656e74526571756573741a1d2e676f6f676c65" . + "2e6c6f6e6772756e6e696e672e4f7065726174696f6e22a00182d3e49302" . + "3d22382f76322f637573746f6d6572732f7b637573746f6d65725f69643d" . + "2a7d2f63616d706169676e4578706572696d656e74733a6372656174653a" . + "012aca415a0a15676f6f676c652e70726f746f6275662e456d7074791241" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e43726561746543616d706169676e4578706572696d656e744d6574" . + "616461746112e9010a194d757461746543616d706169676e457870657269" . + "6d656e747312422e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e4578706572" . + "696d656e7473526571756573741a432e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e4d757461746543616d7061" . + "69676e4578706572696d656e7473526573706f6e7365224382d3e493023d" . + "22382f76322f637573746f6d6572732f7b637573746f6d65725f69643d2a" . + "7d2f63616d706169676e4578706572696d656e74733a6d75746174653a01" . + "2a12f8010a1a477261647561746543616d706169676e4578706572696d65" . + "6e7412432e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e477261647561746543616d706169676e457870657269" . + "6d656e74526571756573741a442e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e477261647561746543616d7061" . + "69676e4578706572696d656e74526573706f6e7365224f82d3e493024922" . + "442f76322f7b63616d706169676e5f6578706572696d656e743d63757374" . + "6f6d6572732f2a2f63616d706169676e4578706572696d656e74732f2a7d" . + "3a67726164756174653a012a12e8010a1950726f6d6f746543616d706169" . + "676e4578706572696d656e7412422e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e50726f6d6f746543616d7061" . + "69676e4578706572696d656e74526571756573741a1d2e676f6f676c652e" . + "6c6f6e6772756e6e696e672e4f7065726174696f6e226882d3e493024822" . + "432f76322f7b63616d706169676e5f6578706572696d656e743d63757374" . + "6f6d6572732f2a2f63616d706169676e4578706572696d656e74732f2a7d" . + "3a70726f6d6f74653a012aca41170a15676f6f676c652e70726f746f6275" . + "662e456d70747912bb010a15456e6443616d706169676e4578706572696d" . + "656e74123e2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e456e6443616d706169676e4578706572696d656e74" . + "526571756573741a162e676f6f676c652e70726f746f6275662e456d7074" . + "79224a82d3e4930244223f2f76322f7b63616d706169676e5f6578706572" . + "696d656e743d637573746f6d6572732f2a2f63616d706169676e45787065" . + "72696d656e74732f2a7d3a656e643a012a128b020a214c69737443616d70" . + "6169676e4578706572696d656e744173796e634572726f7273124a2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4c69737443616d706169676e4578706572696d656e744173796e634572" . + "726f7273526571756573741a4b2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4c69737443616d706169676e45" . + "78706572696d656e744173796e634572726f7273526573706f6e7365224d" . + "82d3e493024712452f76322f7b7265736f757263655f6e616d653d637573" . + "746f6d6572732f2a2f63616d706169676e4578706572696d656e74732f2a" . + "7d3a6c6973744173796e634572726f72731a1bca4118676f6f676c656164" . + "732e676f6f676c65617069732e636f6d4285020a24636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7365727669636573421e43" . + "616d706169676e4578706572696d656e745365727669636550726f746f50" . + "015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f7365" . + "7276696365733b7365727669636573a20203474141aa0220476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5365727669636573ca022047" . + "6f6f676c655c4164735c476f6f676c654164735c56325c53657276696365" . + "73ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingService.php new file mode 100644 index 000000000..6328fe2d4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingService.php @@ -0,0 +1,90 @@ +internalAddGeneratedFile(hex2bin( + "0ab30e0a49676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f657874656e73696f6e5f736574" . + "74696e675f736572766963652e70726f746f1220676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365731a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f1a20676f6f676c65" . + "2f70726f746f6275662f6669656c645f6d61736b2e70726f746f1a17676f" . + "6f676c652f7270632f7374617475732e70726f746f1a17676f6f676c652f" . + "6170692f636c69656e742e70726f746f223b0a2247657443616d70616967" . + "6e457874656e73696f6e53657474696e675265717565737412150a0d7265" . + "736f757263655f6e616d6518012001280922c6010a264d75746174654361" . + "6d706169676e457874656e73696f6e53657474696e677352657175657374" . + "12130a0b637573746f6d65725f696418012001280912570a0a6f70657261" . + "74696f6e7318022003280b32432e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e43616d706169676e457874656e" . + "73696f6e53657474696e674f7065726174696f6e12170a0f706172746961" . + "6c5f6661696c75726518032001280812150a0d76616c69646174655f6f6e" . + "6c791804200128082291020a2143616d706169676e457874656e73696f6e" . + "53657474696e674f7065726174696f6e122f0a0b7570646174655f6d6173" . + "6b18042001280b321a2e676f6f676c652e70726f746f6275662e4669656c" . + "644d61736b124d0a0663726561746518012001280b323b2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4361" . + "6d706169676e457874656e73696f6e53657474696e674800124d0a067570" . + "6461746518022001280b323b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e43616d706169676e457874656e" . + "73696f6e53657474696e67480012100a0672656d6f766518032001280948" . + "00420b0a096f7065726174696f6e22b5010a274d757461746543616d7061" . + "69676e457874656e73696f6e53657474696e6773526573706f6e73651231" . + "0a157061727469616c5f6661696c7572655f6572726f7218032001280b32" . + "122e676f6f676c652e7270632e53746174757312570a07726573756c7473" . + "18022003280b32462e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e4d757461746543616d706169676e45787465" . + "6e73696f6e53657474696e67526573756c74223d0a244d75746174654361" . + "6d706169676e457874656e73696f6e53657474696e67526573756c741215" . + "0a0d7265736f757263655f6e616d6518012001280932aa040a1f43616d70" . + "6169676e457874656e73696f6e53657474696e675365727669636512e501" . + "0a1b47657443616d706169676e457874656e73696f6e53657474696e6712" . + "442e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e47657443616d706169676e457874656e73696f6e5365747469" . + "6e67526571756573741a3b2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e43616d706169676e457874656e73" . + "696f6e53657474696e67224382d3e493023d123b2f76322f7b7265736f75" . + "7263655f6e616d653d637573746f6d6572732f2a2f63616d706169676e45" . + "7874656e73696f6e53657474696e67732f2a7d1281020a1f4d7574617465" . + "43616d706169676e457874656e73696f6e53657474696e677312482e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d757461746543616d706169676e457874656e73696f6e53657474696e" . + "6773526571756573741a492e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d757461746543616d706169676e45" . + "7874656e73696f6e53657474696e6773526573706f6e7365224982d3e493" . + "0243223e2f76322f637573746f6d6572732f7b637573746f6d65725f6964" . + "3d2a7d2f63616d706169676e457874656e73696f6e53657474696e67733a" . + "6d75746174653a012a1a1bca4118676f6f676c656164732e676f6f676c65" . + "617069732e636f6d428b020a24636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7365727669636573422443616d706169676e45" . + "7874656e73696f6e53657474696e675365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignFeedService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignFeedService.php new file mode 100644 index 000000000..176a4cab9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignFeedService.php @@ -0,0 +1,82 @@ +internalAddGeneratedFile(hex2bin( + "0ac20c0a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f666565645f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a20676f6f676c652f70726f746f6275662f666965" . + "6c645f6d61736b2e70726f746f1a17676f6f676c652f7270632f73746174" . + "75732e70726f746f1a17676f6f676c652f6170692f636c69656e742e7072" . + "6f746f222f0a1647657443616d706169676e466565645265717565737412" . + "150a0d7265736f757263655f6e616d6518012001280922ae010a1a4d7574" . + "61746543616d706169676e46656564735265717565737412130a0b637573" . + "746f6d65725f6964180120012809124b0a0a6f7065726174696f6e731802" . + "2003280b32372e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e43616d706169676e466565644f7065726174696f" . + "6e12170a0f7061727469616c5f6661696c75726518032001280812150a0d" . + "76616c69646174655f6f6e6c7918042001280822ed010a1543616d706169" . + "676e466565644f7065726174696f6e122f0a0b7570646174655f6d61736b" . + "18042001280b321a2e676f6f676c652e70726f746f6275662e4669656c64" . + "4d61736b12410a0663726561746518012001280b322f2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e43616d" . + "706169676e46656564480012410a0675706461746518022001280b322f2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e43616d706169676e46656564480012100a0672656d6f76651803" . + "200128094800420b0a096f7065726174696f6e229d010a1b4d7574617465" . + "43616d706169676e4665656473526573706f6e736512310a157061727469" . + "616c5f6661696c7572655f6572726f7218032001280b32122e676f6f676c" . + "652e7270632e537461747573124b0a07726573756c747318022003280b32" . + "3a2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d757461746543616d706169676e46656564526573756c7422" . + "310a184d757461746543616d706169676e46656564526573756c7412150a" . + "0d7265736f757263655f6e616d6518012001280932be030a1343616d7061" . + "69676e466565645365727669636512b5010a0f47657443616d706169676e" . + "4665656412382e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e47657443616d706169676e466565645265717565" . + "73741a2f2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e43616d706169676e46656564223782d3e493023112" . + "2f2f76322f7b7265736f757263655f6e616d653d637573746f6d6572732f" . + "2a2f63616d706169676e46656564732f2a7d12d1010a134d757461746543" . + "616d706169676e4665656473123c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4d757461746543616d706169" . + "676e4665656473526571756573741a3d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543616d70" . + "6169676e4665656473526573706f6e7365223d82d3e493023722322f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f63616d" . + "706169676e46656564733a6d75746174653a012a1a1bca4118676f6f676c" . + "656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "421843616d706169676e466565645365727669636550726f746f50015a48" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7365727669" . + "6365733b7365727669636573a20203474141aa0220476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5365727669636573ca0220476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5365727669636573ea02" . + "24476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53" . + "65727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignLabelService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignLabelService.php new file mode 100644 index 000000000..01dabcf7b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignLabelService.php @@ -0,0 +1,77 @@ +internalAddGeneratedFile(hex2bin( + "0abe0b0a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f6c6162656c5f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a17676f6f676c652f7270632f7374617475732e" . + "70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f" . + "22300a1747657443616d706169676e4c6162656c5265717565737412150a" . + "0d7265736f757263655f6e616d6518012001280922b0010a1b4d75746174" . + "6543616d706169676e4c6162656c735265717565737412130a0b63757374" . + "6f6d65725f6964180120012809124c0a0a6f7065726174696f6e73180220" . + "03280b32382e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e43616d706169676e4c6162656c4f7065726174696f" . + "6e12170a0f7061727469616c5f6661696c75726518032001280812150a0d" . + "76616c69646174655f6f6e6c79180420012808227b0a1643616d70616967" . + "6e4c6162656c4f7065726174696f6e12420a066372656174651801200128" . + "0b32302e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e43616d706169676e4c6162656c480012100a0672656d" . + "6f76651802200128094800420b0a096f7065726174696f6e229f010a1c4d" . + "757461746543616d706169676e4c6162656c73526573706f6e736512310a" . + "157061727469616c5f6661696c7572655f6572726f7218032001280b3212" . + "2e676f6f676c652e7270632e537461747573124c0a07726573756c747318" . + "022003280b323b2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e4c6162656c" . + "526573756c7422320a194d757461746543616d706169676e4c6162656c52" . + "6573756c7412150a0d7265736f757263655f6e616d6518012001280932c7" . + "030a1443616d706169676e4c6162656c5365727669636512b9010a104765" . + "7443616d706169676e4c6162656c12392e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e47657443616d70616967" . + "6e4c6162656c526571756573741a302e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e43616d706169676e4c61" . + "62656c223882d3e493023212302f76322f7b7265736f757263655f6e616d" . + "653d637573746f6d6572732f2a2f63616d706169676e4c6162656c732f2a" . + "7d12d5010a144d757461746543616d706169676e4c6162656c73123d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d757461746543616d706169676e4c6162656c73526571756573741a" . + "3e2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d757461746543616d706169676e4c6162656c73526573706f" . + "6e7365223e82d3e493023822332f76322f637573746f6d6572732f7b6375" . + "73746f6d65725f69643d2a7d2f63616d706169676e4c6162656c733a6d75" . + "746174653a012a1a1bca4118676f6f676c656164732e676f6f676c656170" . + "69732e636f6d4280020a24636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7365727669636573421943616d706169676e4c6162" . + "656c5365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignService.php new file mode 100644 index 000000000..95ef26e93 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignService.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0af10b0a37676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f736572766963652e70726f746f" . + "1220676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70" . + "726f746f1a20676f6f676c652f70726f746f6275662f6669656c645f6d61" . + "736b2e70726f746f1a17676f6f676c652f7270632f7374617475732e7072" . + "6f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f222b" . + "0a1247657443616d706169676e5265717565737412150a0d7265736f7572" . + "63655f6e616d6518012001280922a6010a164d757461746543616d706169" . + "676e735265717565737412130a0b637573746f6d65725f69641801200128" . + "0912470a0a6f7065726174696f6e7318022003280b32332e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e43616d" . + "706169676e4f7065726174696f6e12170a0f7061727469616c5f6661696c" . + "75726518032001280812150a0d76616c69646174655f6f6e6c7918042001" . + "280822e1010a1143616d706169676e4f7065726174696f6e122f0a0b7570" . + "646174655f6d61736b18042001280b321a2e676f6f676c652e70726f746f" . + "6275662e4669656c644d61736b123d0a0663726561746518012001280b32" . + "2b2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e43616d706169676e4800123d0a0675706461746518022001" . + "280b322b2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e43616d706169676e480012100a0672656d6f766518" . + "03200128094800420b0a096f7065726174696f6e2295010a174d75746174" . + "6543616d706169676e73526573706f6e736512310a157061727469616c5f" . + "6661696c7572655f6572726f7218032001280b32122e676f6f676c652e72" . + "70632e53746174757312470a07726573756c747318022003280b32362e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d757461746543616d706169676e526573756c74222d0a144d757461" . + "746543616d706169676e526573756c7412150a0d7265736f757263655f6e" . + "616d65180120012809329a030a0f43616d706169676e5365727669636512" . + "a5010a0b47657443616d706169676e12342e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e47657443616d706169" . + "676e526571756573741a2b2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e43616d706169676e223382d3e493" . + "022d122b2f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f63616d706169676e732f2a7d12c1010a0f4d75746174654361" . + "6d706169676e7312382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e4d757461746543616d706169676e735265" . + "71756573741a392e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e7352657370" . + "6f6e7365223982d3e4930233222e2f76322f637573746f6d6572732f7b63" . + "7573746f6d65725f69643d2a7d2f63616d706169676e733a6d7574617465" . + "3a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e63" . + "6f6d42fb010a24636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7365727669636573421443616d706169676e53657276696365" . + "50726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f73657276696365733b7365727669636573a20203474141aa0220" . + "476f6f676c652e4164732e476f6f676c654164732e56322e536572766963" . + "6573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c53" . + "65727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetService.php new file mode 100644 index 000000000..d317e0b89 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetService.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0a8c0c0a42676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f63616d706169676e5f7368617265645f7365745f7365" . + "72766963652e70726f746f1220676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365731a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f1a17676f6f676c652f7270632f7374" . + "617475732e70726f746f1a17676f6f676c652f6170692f636c69656e742e" . + "70726f746f22340a1b47657443616d706169676e53686172656453657452" . + "65717565737412150a0d7265736f757263655f6e616d6518012001280922" . + "b8010a1f4d757461746543616d706169676e536861726564536574735265" . + "717565737412130a0b637573746f6d65725f696418012001280912500a0a" . + "6f7065726174696f6e7318022003280b323c2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e43616d706169676e" . + "5368617265645365744f7065726174696f6e12170a0f7061727469616c5f" . + "6661696c75726518032001280812150a0d76616c69646174655f6f6e6c79" . + "1804200128082283010a1a43616d706169676e5368617265645365744f70" . + "65726174696f6e12460a0663726561746518012001280b32342e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "43616d706169676e536861726564536574480012100a0672656d6f766518" . + "03200128094800420b0a096f7065726174696f6e22a7010a204d75746174" . + "6543616d706169676e53686172656453657473526573706f6e736512310a" . + "157061727469616c5f6661696c7572655f6572726f7218032001280b3212" . + "2e676f6f676c652e7270632e53746174757312500a07726573756c747318" . + "022003280b323f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e5368617265" . + "64536574526573756c7422360a1d4d757461746543616d706169676e5368" . + "61726564536574526573756c7412150a0d7265736f757263655f6e616d65" . + "18012001280932eb030a1843616d706169676e5368617265645365745365" . + "727669636512c9010a1447657443616d706169676e536861726564536574" . + "123d2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e47657443616d706169676e53686172656453657452657175" . + "6573741a342e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e43616d706169676e536861726564536574223c82" . + "d3e493023612342f76322f7b7265736f757263655f6e616d653d63757374" . + "6f6d6572732f2a2f63616d706169676e536861726564536574732f2a7d12" . + "e5010a184d757461746543616d706169676e536861726564536574731241" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d757461746543616d706169676e536861726564536574735265" . + "71756573741a422e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d757461746543616d706169676e5368617265" . + "6453657473526573706f6e7365224282d3e493023c22372f76322f637573" . + "746f6d6572732f7b637573746f6d65725f69643d2a7d2f63616d70616967" . + "6e536861726564536574733a6d75746174653a012a1a1bca4118676f6f67" . + "6c656164732e676f6f676c65617069732e636f6d4284020a24636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "73421d43616d706169676e5368617265645365745365727669636550726f" . + "746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f73657276696365733b7365727669636573a20203474141aa0220476f6f" . + "676c652e4164732e476f6f676c654164732e56322e5365727669636573ca" . + "0220476f6f676c655c4164735c476f6f676c654164735c56325c53657276" . + "69636573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CarrierConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CarrierConstantService.php new file mode 100644 index 000000000..4faf155c9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CarrierConstantService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0acb050a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f636172726965725f636f6e7374616e745f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22320a1947657443617272696572436f6e7374616e7452" . + "65717565737412150a0d7265736f757263655f6e616d6518012001280932" . + "ed010a1643617272696572436f6e7374616e745365727669636512b5010a" . + "1247657443617272696572436f6e7374616e74123b2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4765744361" . + "7272696572436f6e7374616e74526571756573741a322e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e436172" . + "72696572436f6e7374616e74222e82d3e493022812262f76322f7b726573" . + "6f757263655f6e616d653d63617272696572436f6e7374616e74732f2a7d" . + "1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d42" . + "82020a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7365727669636573421b43617272696572436f6e7374616e74536572" . + "7669636550726f746f50015a48676f6f676c652e676f6c616e672e6f7267" . + "2f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c" . + "656164732f76322f73657276696365733b7365727669636573a202034741" . + "41aa0220476f6f676c652e4164732e476f6f676c654164732e56322e5365" . + "727669636573ca0220476f6f676c655c4164735c476f6f676c654164735c" . + "56325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f" . + "676c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ChangeStatusService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ChangeStatusService.php new file mode 100644 index 000000000..4ddf93414 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ChangeStatusService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0abe050a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6368616e67655f7374617475735f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70" . + "726f746f222f0a164765744368616e676553746174757352657175657374" . + "12150a0d7265736f757263655f6e616d6518012001280932e9010a134368" . + "616e67655374617475735365727669636512b4010a0f4765744368616e67" . + "6553746174757312382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e4765744368616e67655374617475735265" . + "71756573741a2f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e4368616e6765537461747573223682d3e493" . + "0230122e2f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f6368616e67655374617475732f2a7d1a1bca4118676f6f676c" . + "656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "42184368616e67655374617475735365727669636550726f746f50015a48" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7365727669" . + "6365733b7365727669636573a20203474141aa0220476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5365727669636573ca0220476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5365727669636573ea02" . + "24476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53" . + "65727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ClickViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ClickViewService.php new file mode 100644 index 000000000..de0e65e52 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ClickViewService.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0aa7050a39676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f636c69636b5f766965775f736572766963652e70726f" . + "746f1220676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f74" . + "6f222c0a13476574436c69636b566965775265717565737412150a0d7265" . + "736f757263655f6e616d6518012001280932db010a10436c69636b566965" . + "775365727669636512a9010a0c476574436c69636b5669657712352e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e476574436c69636b56696577526571756573741a2c2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e436c69" . + "636b56696577223482d3e493022e122c2f76322f7b7265736f757263655f" . + "6e616d653d637573746f6d6572732f2a2f636c69636b56696577732f2a7d" . + "1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d42" . + "fc010a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365734215436c69636b56696577536572766963655072" . + "6f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f73657276696365733b7365727669636573a20203474141aa0220476f" . + "6f676c652e4164732e476f6f676c654164732e56322e5365727669636573" . + "ca0220476f6f676c655c4164735c476f6f676c654164735c56325c536572" . + "7669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ConversionActionService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ConversionActionService.php new file mode 100644 index 000000000..df1a16afc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ConversionActionService.php @@ -0,0 +1,85 @@ +internalAddGeneratedFile(hex2bin( + "0a920d0a40676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f636f6e76657273696f6e5f616374696f6e5f73657276" . + "6963652e70726f746f1220676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f1a20676f6f676c652f70726f746f627566" . + "2f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f7270632f" . + "7374617475732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22330a1a476574436f6e76657273696f6e416374696f6e" . + "5265717565737412150a0d7265736f757263655f6e616d65180120012809" . + "22b6010a1e4d7574617465436f6e76657273696f6e416374696f6e735265" . + "717565737412130a0b637573746f6d65725f6964180120012809124f0a0a" . + "6f7065726174696f6e7318022003280b323b2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e436f6e7665727369" . + "6f6e416374696f6e4f7065726174696f6e12170a0f7061727469616c5f66" . + "61696c75726518032001280812150a0d76616c69646174655f6f6e6c7918" . + "042001280822f9010a19436f6e76657273696f6e416374696f6e4f706572" . + "6174696f6e122f0a0b7570646174655f6d61736b18042001280b321a2e67" . + "6f6f676c652e70726f746f6275662e4669656c644d61736b12450a066372" . + "6561746518012001280b32332e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e436f6e76657273696f6e416374" . + "696f6e480012450a0675706461746518022001280b32332e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e436f" . + "6e76657273696f6e416374696f6e480012100a0672656d6f766518032001" . + "28094800420b0a096f7065726174696f6e22a5010a1f4d7574617465436f" . + "6e76657273696f6e416374696f6e73526573706f6e736512310a15706172" . + "7469616c5f6661696c7572655f6572726f7218032001280b32122e676f6f" . + "676c652e7270632e537461747573124f0a07726573756c74731802200328" . + "0b323e2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4d7574617465436f6e76657273696f6e416374696f6e52" . + "6573756c7422350a1c4d7574617465436f6e76657273696f6e416374696f" . + "6e526573756c7412150a0d7265736f757263655f6e616d65180120012809" . + "32e2030a17436f6e76657273696f6e416374696f6e5365727669636512c5" . + "010a13476574436f6e76657273696f6e416374696f6e123c2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4765" . + "74436f6e76657273696f6e416374696f6e526571756573741a332e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e436f6e76657273696f6e416374696f6e223b82d3e493023512332f7632" . + "2f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f636f" . + "6e76657273696f6e416374696f6e732f2a7d12e1010a174d757461746543" . + "6f6e76657273696f6e416374696f6e7312402e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4d7574617465436f" . + "6e76657273696f6e416374696f6e73526571756573741a412e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d75" . + "74617465436f6e76657273696f6e416374696f6e73526573706f6e736522" . + "4182d3e493023b22362f76322f637573746f6d6572732f7b637573746f6d" . + "65725f69643d2a7d2f636f6e76657273696f6e416374696f6e733a6d7574" . + "6174653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4283020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421c436f6e76657273696f6e4163" . + "74696f6e5365727669636550726f746f50015a48676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f73657276696365733b736572766963" . + "6573a20203474141aa0220476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5365727669636573ca0220476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5365727669636573ea0224476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a5365727669636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadService.php new file mode 100644 index 000000000..8fa81d9d9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadService.php @@ -0,0 +1,107 @@ +internalAddGeneratedFile(hex2bin( + "0aa7120a4b676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f636f6e76657273696f6e5f61646a7573746d656e745f" . + "75706c6f61645f736572766963652e70726f746f1220676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365731a1c676f6f67" . + "6c652f6170692f616e6e6f746174696f6e732e70726f746f1a1e676f6f67" . + "6c652f70726f746f6275662f77726170706572732e70726f746f1a17676f" . + "6f676c652f7270632f7374617475732e70726f746f1a17676f6f676c652f" . + "6170692f636c69656e742e70726f746f22c1010a2255706c6f6164436f6e" . + "76657273696f6e41646a7573746d656e74735265717565737412130a0b63" . + "7573746f6d65725f696418012001280912560a16636f6e76657273696f6e" . + "5f61646a7573746d656e747318022003280b32362e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e436f6e766572" . + "73696f6e41646a7573746d656e7412170a0f7061727469616c5f6661696c" . + "75726518032001280812150a0d76616c69646174655f6f6e6c7918042001" . + "280822a7010a2355706c6f6164436f6e76657273696f6e41646a7573746d" . + "656e7473526573706f6e736512310a157061727469616c5f6661696c7572" . + "655f6572726f7218012001280b32122e676f6f676c652e7270632e537461" . + "747573124d0a07726573756c747318022003280b323c2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e436f6e76" . + "657273696f6e41646a7573746d656e74526573756c7422e9030a14436f6e" . + "76657273696f6e41646a7573746d656e7412370a11636f6e76657273696f" . + "6e5f616374696f6e18032001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565123a0a1461646a7573746d656e745f64" . + "6174655f74696d6518042001280b321c2e676f6f676c652e70726f746f62" . + "75662e537472696e6756616c7565126d0a0f61646a7573746d656e745f74" . + "79706518052001280e32542e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e656e756d732e436f6e76657273696f6e41646a7573746d65" . + "6e7454797065456e756d2e436f6e76657273696f6e41646a7573746d656e" . + "7454797065124d0a11726573746174656d656e745f76616c756518062001" . + "280b32322e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e526573746174656d656e7456616c756512530a146763" . + "6c69645f646174655f74696d655f7061697218012001280b32332e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "47636c69644461746554696d6550616972480012300a086f726465725f69" . + "6418022001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c7565480042170a15636f6e76657273696f6e5f6964656e7469" . + "66696572227d0a10526573746174656d656e7456616c756512340a0e6164" . + "6a75737465645f76616c756518012001280b321c2e676f6f676c652e7072" . + "6f746f6275662e446f75626c6556616c756512330a0d63757272656e6379" . + "5f636f646518022001280b321c2e676f6f676c652e70726f746f6275662e" . + "537472696e6756616c7565227c0a1147636c69644461746554696d655061" . + "6972122b0a0567636c696418012001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c7565123a0a14636f6e76657273696f" . + "6e5f646174655f74696d6518022001280b321c2e676f6f676c652e70726f" . + "746f6275662e537472696e6756616c756522a0030a1a436f6e7665727369" . + "6f6e41646a7573746d656e74526573756c7412370a11636f6e7665727369" . + "6f6e5f616374696f6e18032001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c7565123a0a1461646a7573746d656e745f" . + "646174655f74696d6518042001280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c7565126d0a0f61646a7573746d656e745f" . + "7479706518052001280e32542e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e656e756d732e436f6e76657273696f6e41646a7573746d" . + "656e7454797065456e756d2e436f6e76657273696f6e41646a7573746d65" . + "6e745479706512530a1467636c69645f646174655f74696d655f70616972" . + "18012001280b32332e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e47636c69644461746554696d655061697248" . + "0012300a086f726465725f696418022001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c7565480042170a15636f6e7665" . + "7273696f6e5f6964656e74696669657232b3020a21436f6e76657273696f" . + "6e41646a7573746d656e7455706c6f61645365727669636512f0010a1b55" . + "706c6f6164436f6e76657273696f6e41646a7573746d656e747312442e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e55706c6f6164436f6e76657273696f6e41646a7573746d656e747352" . + "6571756573741a452e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e55706c6f6164436f6e76657273696f6e4164" . + "6a7573746d656e7473526573706f6e7365224482d3e493023e22392f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d3a75706c" . + "6f6164436f6e76657273696f6e41646a7573746d656e74733a012a1a1bca" . + "4118676f6f676c656164732e676f6f676c65617069732e636f6d428d020a" . + "24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365734226436f6e76657273696f6e41646a7573746d656e7455" . + "706c6f61645365727669636550726f746f50015a48676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f73657276696365733b7365727669" . + "636573a20203474141aa0220476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e5365727669636573ca0220476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5365727669636573ea0224476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a53657276696365736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ConversionUploadService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ConversionUploadService.php new file mode 100644 index 000000000..52c815a69 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ConversionUploadService.php @@ -0,0 +1,128 @@ +internalAddGeneratedFile(hex2bin( + "0abc170a40676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f636f6e76657273696f6e5f75706c6f61645f73657276" . + "6963652e70726f746f1220676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365731a1e676f6f676c652f70726f746f627566" . + "2f77726170706572732e70726f746f1a17676f6f676c652f7270632f7374" . + "617475732e70726f746f1a17676f6f676c652f6170692f636c69656e742e" . + "70726f746f22ac010a1d55706c6f6164436c69636b436f6e76657273696f" . + "6e735265717565737412130a0b637573746f6d65725f6964180120012809" . + "12460a0b636f6e76657273696f6e7318022003280b32312e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e436c69" . + "636b436f6e76657273696f6e12170a0f7061727469616c5f6661696c7572" . + "6518032001280812150a0d76616c69646174655f6f6e6c79180420012808" . + "229d010a1e55706c6f6164436c69636b436f6e76657273696f6e73526573" . + "706f6e736512310a157061727469616c5f6661696c7572655f6572726f72" . + "18012001280b32122e676f6f676c652e7270632e53746174757312480a07" . + "726573756c747318022003280b32372e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e436c69636b436f6e766572" . + "73696f6e526573756c7422aa010a1c55706c6f616443616c6c436f6e7665" . + "7273696f6e735265717565737412130a0b637573746f6d65725f69641801" . + "2001280912450a0b636f6e76657273696f6e7318022003280b32302e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e43616c6c436f6e76657273696f6e12170a0f7061727469616c5f666169" . + "6c75726518032001280812150a0d76616c69646174655f6f6e6c79180420" . + "012808229b010a1d55706c6f616443616c6c436f6e76657273696f6e7352" . + "6573706f6e736512310a157061727469616c5f6661696c7572655f657272" . + "6f7218012001280b32122e676f6f676c652e7270632e5374617475731247" . + "0a07726573756c747318022003280b32362e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e43616c6c436f6e7665" . + "7273696f6e526573756c7422ae030a0f436c69636b436f6e76657273696f" . + "6e122b0a0567636c696418012001280b321c2e676f6f676c652e70726f74" . + "6f6275662e537472696e6756616c756512370a11636f6e76657273696f6e" . + "5f616374696f6e18022001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c7565123a0a14636f6e76657273696f6e5f6461" . + "74655f74696d6518032001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512360a10636f6e76657273696f6e5f7661" . + "6c756518042001280b321c2e676f6f676c652e70726f746f6275662e446f" . + "75626c6556616c756512330a0d63757272656e63795f636f646518052001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565122e0a086f726465725f696418062001280b321c2e676f6f676c652e" . + "70726f746f6275662e537472696e6756616c7565125c0a1965787465726e" . + "616c5f6174747269627574696f6e5f6461746118072001280b32392e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e45787465726e616c4174747269627574696f6e4461746122df020a0e43" . + "616c6c436f6e76657273696f6e122f0a0963616c6c65725f696418012001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "7565123a0a1463616c6c5f73746172745f646174655f74696d6518022001" . + "280b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c" . + "756512370a11636f6e76657273696f6e5f616374696f6e18032001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "3a0a14636f6e76657273696f6e5f646174655f74696d6518042001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "360a10636f6e76657273696f6e5f76616c756518052001280b321c2e676f" . + "6f676c652e70726f746f6275662e446f75626c6556616c756512330a0d63" . + "757272656e63795f636f646518062001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565229e010a1745787465726e61" . + "6c4174747269627574696f6e4461746112410a1b65787465726e616c5f61" . + "74747269627574696f6e5f63726564697418012001280b321c2e676f6f67" . + "6c652e70726f746f6275662e446f75626c6556616c756512400a1a657874" . + "65726e616c5f6174747269627574696f6e5f6d6f64656c18022001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756522" . + "b9010a15436c69636b436f6e76657273696f6e526573756c74122b0a0567" . + "636c696418012001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512370a11636f6e76657273696f6e5f616374696f" . + "6e18022001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c7565123a0a14636f6e76657273696f6e5f646174655f74696d" . + "6518032001280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756522f8010a1443616c6c436f6e76657273696f6e52657375" . + "6c74122f0a0963616c6c65725f696418012001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565123a0a1463616c6c5f" . + "73746172745f646174655f74696d6518022001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c756512370a11636f6e7665" . + "7273696f6e5f616374696f6e18032001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c7565123a0a14636f6e7665727369" . + "6f6e5f646174655f74696d6518042001280b321c2e676f6f676c652e7072" . + "6f746f6275662e537472696e6756616c756532f0030a17436f6e76657273" . + "696f6e55706c6f61645365727669636512dc010a1655706c6f6164436c69" . + "636b436f6e76657273696f6e73123f2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e55706c6f6164436c69636b" . + "436f6e76657273696f6e73526571756573741a402e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e55706c6f6164" . + "436c69636b436f6e76657273696f6e73526573706f6e7365223f82d3e493" . + "023922342f76322f637573746f6d6572732f7b637573746f6d65725f6964" . + "3d2a7d3a75706c6f6164436c69636b436f6e76657273696f6e733a012a12" . + "d8010a1555706c6f616443616c6c436f6e76657273696f6e73123e2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e55706c6f616443616c6c436f6e76657273696f6e73526571756573741a" . + "3f2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e55706c6f616443616c6c436f6e76657273696f6e7352657370" . + "6f6e7365223e82d3e493023822332f76322f637573746f6d6572732f7b63" . + "7573746f6d65725f69643d2a7d3a75706c6f616443616c6c436f6e766572" . + "73696f6e733a012a1a1bca4118676f6f676c656164732e676f6f676c6561" . + "7069732e636f6d4283020a24636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7365727669636573421c436f6e76657273696f6e" . + "55706c6f61645365727669636550726f746f50015a48676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f73657276696365733b73657276" . + "69636573a20203474141aa0220476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5365727669636573ca0220476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c5365727669636573ea0224476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a536572766963657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomInterestService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomInterestService.php new file mode 100644 index 000000000..48cecdfa8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomInterestService.php @@ -0,0 +1,78 @@ +internalAddGeneratedFile(hex2bin( + "0af20b0a3e676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d5f696e7465726573745f736572766963" . + "652e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f1a20676f6f676c652f70726f746f6275662f66" . + "69656c645f6d61736b2e70726f746f1a17676f6f676c652f6170692f636c" . + "69656e742e70726f746f22310a18476574437573746f6d496e7465726573" . + "745265717565737412150a0d7265736f757263655f6e616d651801200128" . + "092299010a1c4d7574617465437573746f6d496e74657265737473526571" . + "7565737412130a0b637573746f6d65725f6964180120012809124d0a0a6f" . + "7065726174696f6e7318022003280b32392e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e437573746f6d496e74" . + "65726573744f7065726174696f6e12150a0d76616c69646174655f6f6e6c" . + "7918042001280822e1010a17437573746f6d496e7465726573744f706572" . + "6174696f6e122f0a0b7570646174655f6d61736b18042001280b321a2e67" . + "6f6f676c652e70726f746f6275662e4669656c644d61736b12430a066372" . + "6561746518012001280b32312e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e437573746f6d496e7465726573" . + "74480012430a0675706461746518022001280b32312e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e43757374" . + "6f6d496e7465726573744800420b0a096f7065726174696f6e226e0a1d4d" . + "7574617465437573746f6d496e74657265737473526573706f6e7365124d" . + "0a07726573756c747318022003280b323c2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4d7574617465437573" . + "746f6d496e746572657374526573756c7422330a1a4d7574617465437573" . + "746f6d496e746572657374526573756c7412150a0d7265736f757263655f" . + "6e616d6518012001280932d0030a15437573746f6d496e74657265737453" . + "65727669636512bd010a11476574437573746f6d496e746572657374123a" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e476574437573746f6d496e746572657374526571756573741a31" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e437573746f6d496e746572657374223982d3e493023312312f" . + "76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f" . + "637573746f6d496e746572657374732f2a7d12d9010a154d757461746543" . + "7573746f6d496e74657265737473123e2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543757374" . + "6f6d496e74657265737473526571756573741a3f2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4d7574617465" . + "437573746f6d496e74657265737473526573706f6e7365223f82d3e49302" . + "3922342f76322f637573746f6d6572732f7b637573746f6d65725f69643d" . + "2a7d2f637573746f6d496e746572657374733a6d75746174653a012a1a1b" . + "ca4118676f6f676c656164732e676f6f676c65617069732e636f6d428102" . + "0a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7365727669636573421a437573746f6d496e746572657374536572766963" . + "6550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f73657276696365733b7365727669636573a20203474141aa02" . + "20476f6f676c652e4164732e476f6f676c654164732e56322e5365727669" . + "636573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkService.php new file mode 100644 index 000000000..e236312e5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkService.php @@ -0,0 +1,80 @@ +internalAddGeneratedFile(hex2bin( + "0aa50c0a43676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f636c69656e745f6c696e6b5f73" . + "6572766963652e70726f746f1220676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f" . + "6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f61" . + "70692f636c69656e742e70726f746f22350a1c476574437573746f6d6572" . + "436c69656e744c696e6b5265717565737412150a0d7265736f757263655f" . + "6e616d651801200128092288010a1f4d7574617465437573746f6d657243" . + "6c69656e744c696e6b5265717565737412130a0b637573746f6d65725f69" . + "6418012001280912500a096f7065726174696f6e18022001280b323d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e437573746f6d6572436c69656e744c696e6b4f7065726174696f6e22" . + "ed010a1b437573746f6d6572436c69656e744c696e6b4f7065726174696f" . + "6e122f0a0b7570646174655f6d61736b18042001280b321a2e676f6f676c" . + "652e70726f746f6275662e4669656c644d61736b12470a06637265617465" . + "18012001280b32352e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e437573746f6d6572436c69656e744c696e" . + "6b480012470a0675706461746518022001280b32352e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e43757374" . + "6f6d6572436c69656e744c696e6b4800420b0a096f7065726174696f6e22" . + "740a204d7574617465437573746f6d6572436c69656e744c696e6b526573" . + "706f6e736512500a06726573756c7418012001280b32402e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "617465437573746f6d6572436c69656e744c696e6b526573756c7422370a" . + "1e4d7574617465437573746f6d6572436c69656e744c696e6b526573756c" . + "7412150a0d7265736f757263655f6e616d6518012001280932f1030a1943" . + "7573746f6d6572436c69656e744c696e6b5365727669636512cd010a1547" . + "6574437573746f6d6572436c69656e744c696e6b123e2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e47657443" . + "7573746f6d6572436c69656e744c696e6b526571756573741a352e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e437573746f6d6572436c69656e744c696e6b223d82d3e493023712352f" . + "76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f" . + "637573746f6d6572436c69656e744c696e6b732f2a7d12e6010a184d7574" . + "617465437573746f6d6572436c69656e744c696e6b12412e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "617465437573746f6d6572436c69656e744c696e6b526571756573741a42" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d7574617465437573746f6d6572436c69656e744c696e6b5265" . + "73706f6e7365224382d3e493023d22382f76322f637573746f6d6572732f" . + "7b637573746f6d65725f69643d2a7d2f637573746f6d6572436c69656e74" . + "4c696e6b733a6d75746174653a012a1a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d4285020a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7365727669636573421e437573" . + "746f6d6572436c69656e744c696e6b5365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientService.php new file mode 100644 index 000000000..0eea62392 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerClientService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0acf050a3e676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f636c69656e745f736572766963" . + "652e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e74" . + "2e70726f746f22310a18476574437573746f6d6572436c69656e74526571" . + "7565737412150a0d7265736f757263655f6e616d6518012001280932f401" . + "0a15437573746f6d6572436c69656e745365727669636512bd010a114765" . + "74437573746f6d6572436c69656e74123a2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e476574437573746f6d" . + "6572436c69656e74526571756573741a312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e437573746f6d6572" . + "436c69656e74223982d3e493023312312f76322f7b7265736f757263655f" . + "6e616d653d637573746f6d6572732f2a2f637573746f6d6572436c69656e" . + "74732f2a7d1a1bca4118676f6f676c656164732e676f6f676c6561706973" . + "2e636f6d4281020a24636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7365727669636573421a437573746f6d6572436c69656e" . + "745365727669636550726f746f50015a48676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f73657276696365733b7365727669636573a2" . + "0203474141aa0220476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c5365727669636573ea0224476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a5365727669636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingService.php new file mode 100644 index 000000000..bb8b14459 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingService.php @@ -0,0 +1,90 @@ +internalAddGeneratedFile(hex2bin( + "0ab30e0a49676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f657874656e73696f6e5f736574" . + "74696e675f736572766963652e70726f746f1220676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365731a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f1a20676f6f676c65" . + "2f70726f746f6275662f6669656c645f6d61736b2e70726f746f1a17676f" . + "6f676c652f7270632f7374617475732e70726f746f1a17676f6f676c652f" . + "6170692f636c69656e742e70726f746f223b0a22476574437573746f6d65" . + "72457874656e73696f6e53657474696e675265717565737412150a0d7265" . + "736f757263655f6e616d6518012001280922c6010a264d75746174654375" . + "73746f6d6572457874656e73696f6e53657474696e677352657175657374" . + "12130a0b637573746f6d65725f696418012001280912570a0a6f70657261" . + "74696f6e7318022003280b32432e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e437573746f6d6572457874656e" . + "73696f6e53657474696e674f7065726174696f6e12170a0f706172746961" . + "6c5f6661696c75726518032001280812150a0d76616c69646174655f6f6e" . + "6c791804200128082291020a21437573746f6d6572457874656e73696f6e" . + "53657474696e674f7065726174696f6e122f0a0b7570646174655f6d6173" . + "6b18042001280b321a2e676f6f676c652e70726f746f6275662e4669656c" . + "644d61736b124d0a0663726561746518012001280b323b2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4375" . + "73746f6d6572457874656e73696f6e53657474696e674800124d0a067570" . + "6461746518022001280b323b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e437573746f6d6572457874656e" . + "73696f6e53657474696e67480012100a0672656d6f766518032001280948" . + "00420b0a096f7065726174696f6e22b5010a274d7574617465437573746f" . + "6d6572457874656e73696f6e53657474696e6773526573706f6e73651231" . + "0a157061727469616c5f6661696c7572655f6572726f7218032001280b32" . + "122e676f6f676c652e7270632e53746174757312570a07726573756c7473" . + "18022003280b32462e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e4d7574617465437573746f6d657245787465" . + "6e73696f6e53657474696e67526573756c74223d0a244d75746174654375" . + "73746f6d6572457874656e73696f6e53657474696e67526573756c741215" . + "0a0d7265736f757263655f6e616d6518012001280932aa040a1f43757374" . + "6f6d6572457874656e73696f6e53657474696e675365727669636512e501" . + "0a1b476574437573746f6d6572457874656e73696f6e53657474696e6712" . + "442e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e476574437573746f6d6572457874656e73696f6e5365747469" . + "6e67526571756573741a3b2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e437573746f6d6572457874656e73" . + "696f6e53657474696e67224382d3e493023d123b2f76322f7b7265736f75" . + "7263655f6e616d653d637573746f6d6572732f2a2f637573746f6d657245" . + "7874656e73696f6e53657474696e67732f2a7d1281020a1f4d7574617465" . + "437573746f6d6572457874656e73696f6e53657474696e677312482e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d7574617465437573746f6d6572457874656e73696f6e53657474696e" . + "6773526571756573741a492e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d7574617465437573746f6d657245" . + "7874656e73696f6e53657474696e6773526573706f6e7365224982d3e493" . + "0243223e2f76322f637573746f6d6572732f7b637573746f6d65725f6964" . + "3d2a7d2f637573746f6d6572457874656e73696f6e53657474696e67733a" . + "6d75746174653a012a1a1bca4118676f6f676c656164732e676f6f676c65" . + "617069732e636f6d428b020a24636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365734224437573746f6d657245" . + "7874656e73696f6e53657474696e675365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerFeedService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerFeedService.php new file mode 100644 index 000000000..c2ede267b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerFeedService.php @@ -0,0 +1,82 @@ +internalAddGeneratedFile(hex2bin( + "0ac20c0a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f666565645f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a20676f6f676c652f70726f746f6275662f666965" . + "6c645f6d61736b2e70726f746f1a17676f6f676c652f7270632f73746174" . + "75732e70726f746f1a17676f6f676c652f6170692f636c69656e742e7072" . + "6f746f222f0a16476574437573746f6d6572466565645265717565737412" . + "150a0d7265736f757263655f6e616d6518012001280922ae010a1a4d7574" . + "617465437573746f6d657246656564735265717565737412130a0b637573" . + "746f6d65725f6964180120012809124b0a0a6f7065726174696f6e731802" . + "2003280b32372e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e437573746f6d6572466565644f7065726174696f" . + "6e12170a0f7061727469616c5f6661696c75726518032001280812150a0d" . + "76616c69646174655f6f6e6c7918042001280822ed010a15437573746f6d" . + "6572466565644f7065726174696f6e122f0a0b7570646174655f6d61736b" . + "18042001280b321a2e676f6f676c652e70726f746f6275662e4669656c64" . + "4d61736b12410a0663726561746518012001280b322f2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e437573" . + "746f6d657246656564480012410a0675706461746518022001280b322f2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e437573746f6d657246656564480012100a0672656d6f76651803" . + "200128094800420b0a096f7065726174696f6e229d010a1b4d7574617465" . + "437573746f6d65724665656473526573706f6e736512310a157061727469" . + "616c5f6661696c7572655f6572726f7218032001280b32122e676f6f676c" . + "652e7270632e537461747573124b0a07726573756c747318022003280b32" . + "3a2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d7574617465437573746f6d657246656564526573756c7422" . + "310a184d7574617465437573746f6d657246656564526573756c7412150a" . + "0d7265736f757263655f6e616d6518012001280932be030a13437573746f" . + "6d6572466565645365727669636512b5010a0f476574437573746f6d6572" . + "4665656412382e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e476574437573746f6d6572466565645265717565" . + "73741a2f2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e437573746f6d657246656564223782d3e493023112" . + "2f2f76322f7b7265736f757263655f6e616d653d637573746f6d6572732f" . + "2a2f637573746f6d657246656564732f2a7d12d1010a134d757461746543" . + "7573746f6d65724665656473123c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4d7574617465437573746f6d" . + "65724665656473526571756573741a3d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543757374" . + "6f6d65724665656473526573706f6e7365223d82d3e493023722322f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f637573" . + "746f6d657246656564733a6d75746174653a012a1a1bca4118676f6f676c" . + "656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "4218437573746f6d6572466565645365727669636550726f746f50015a48" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7365727669" . + "6365733b7365727669636573a20203474141aa0220476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5365727669636573ca0220476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5365727669636573ea02" . + "24476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53" . + "65727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerLabelService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerLabelService.php new file mode 100644 index 000000000..c4b3f0905 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerLabelService.php @@ -0,0 +1,77 @@ +internalAddGeneratedFile(hex2bin( + "0abe0b0a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f6c6162656c5f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a17676f6f676c652f7270632f7374617475732e" . + "70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f" . + "22300a17476574437573746f6d65724c6162656c5265717565737412150a" . + "0d7265736f757263655f6e616d6518012001280922b0010a1b4d75746174" . + "65437573746f6d65724c6162656c735265717565737412130a0b63757374" . + "6f6d65725f6964180120012809124c0a0a6f7065726174696f6e73180220" . + "03280b32382e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e437573746f6d65724c6162656c4f7065726174696f" . + "6e12170a0f7061727469616c5f6661696c75726518032001280812150a0d" . + "76616c69646174655f6f6e6c79180420012808227b0a16437573746f6d65" . + "724c6162656c4f7065726174696f6e12420a066372656174651801200128" . + "0b32302e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e437573746f6d65724c6162656c480012100a0672656d" . + "6f76651802200128094800420b0a096f7065726174696f6e229f010a1c4d" . + "7574617465437573746f6d65724c6162656c73526573706f6e736512310a" . + "157061727469616c5f6661696c7572655f6572726f7218032001280b3212" . + "2e676f6f676c652e7270632e537461747573124c0a07726573756c747318" . + "022003280b323b2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d7574617465437573746f6d65724c6162656c" . + "526573756c7422320a194d7574617465437573746f6d65724c6162656c52" . + "6573756c7412150a0d7265736f757263655f6e616d6518012001280932c7" . + "030a14437573746f6d65724c6162656c5365727669636512b9010a104765" . + "74437573746f6d65724c6162656c12392e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e476574437573746f6d65" . + "724c6162656c526571756573741a302e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e437573746f6d65724c61" . + "62656c223882d3e493023212302f76322f7b7265736f757263655f6e616d" . + "653d637573746f6d6572732f2a2f637573746f6d65724c6162656c732f2a" . + "7d12d5010a144d7574617465437573746f6d65724c6162656c73123d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d7574617465437573746f6d65724c6162656c73526571756573741a" . + "3e2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d7574617465437573746f6d65724c6162656c73526573706f" . + "6e7365223e82d3e493023822332f76322f637573746f6d6572732f7b6375" . + "73746f6d65725f69643d2a7d2f637573746f6d65724c6162656c733a6d75" . + "746174653a012a1a1bca4118676f6f676c656164732e676f6f676c656170" . + "69732e636f6d4280020a24636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365734219437573746f6d65724c6162" . + "656c5365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkService.php new file mode 100644 index 000000000..7912e8f25 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkService.php @@ -0,0 +1,78 @@ +internalAddGeneratedFile(hex2bin( + "0af10b0a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f6d616e616765725f6c696e6b5f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f74" . + "6f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f" . + "6170692f636c69656e742e70726f746f22360a1d476574437573746f6d65" . + "724d616e616765724c696e6b5265717565737412150a0d7265736f757263" . + "655f6e616d65180120012809228b010a204d7574617465437573746f6d65" . + "724d616e616765724c696e6b5265717565737412130a0b637573746f6d65" . + "725f696418012001280912520a0a6f7065726174696f6e7318022003280b" . + "323e2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e437573746f6d65724d616e616765724c696e6b4f70657261" . + "74696f6e22a6010a1c437573746f6d65724d616e616765724c696e6b4f70" . + "65726174696f6e122f0a0b7570646174655f6d61736b18042001280b321a" . + "2e676f6f676c652e70726f746f6275662e4669656c644d61736b12480a06" . + "75706461746518022001280b32362e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e437573746f6d65724d616e" . + "616765724c696e6b4800420b0a096f7065726174696f6e22770a214d7574" . + "617465437573746f6d65724d616e616765724c696e6b526573706f6e7365" . + "12520a07726573756c747318012003280b32412e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d757461746543" . + "7573746f6d65724d616e616765724c696e6b526573756c7422380a1f4d75" . + "74617465437573746f6d65724d616e616765724c696e6b526573756c7412" . + "150a0d7265736f757263655f6e616d6518012001280932fa030a1a437573" . + "746f6d65724d616e616765724c696e6b5365727669636512d1010a164765" . + "74437573746f6d65724d616e616765724c696e6b123f2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e47657443" . + "7573746f6d65724d616e616765724c696e6b526571756573741a362e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e437573746f6d65724d616e616765724c696e6b223e82d3e493023812" . + "362f76322f7b7265736f757263655f6e616d653d637573746f6d6572732f" . + "2a2f637573746f6d65724d616e616765724c696e6b732f2a7d12ea010a19" . + "4d7574617465437573746f6d65724d616e616765724c696e6b12422e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d7574617465437573746f6d65724d616e616765724c696e6b52657175" . + "6573741a432e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e4d7574617465437573746f6d65724d616e61676572" . + "4c696e6b526573706f6e7365224482d3e493023e22392f76322f63757374" . + "6f6d6572732f7b637573746f6d65725f69643d2a7d2f637573746f6d6572" . + "4d616e616765724c696e6b733a6d75746174653a012a1a1bca4118676f6f" . + "676c656164732e676f6f676c65617069732e636f6d4286020a24636f6d2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "6573421f437573746f6d65724d616e616765724c696e6b53657276696365" . + "50726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e" . + "70726f746f2f676f6f676c65617069732f6164732f676f6f676c65616473" . + "2f76322f73657276696365733b7365727669636573a20203474141aa0220" . + "476f6f676c652e4164732e476f6f676c654164732e56322e536572766963" . + "6573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c53" . + "65727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c6541" . + "64733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionService.php new file mode 100644 index 000000000..10ce76f36 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionService.php @@ -0,0 +1,84 @@ +internalAddGeneratedFile(hex2bin( + "0a940d0a4a676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f6e656761746976655f63726974" . + "6572696f6e5f736572766963652e70726f746f1220676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365731a1c676f6f676c" . + "652f6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f676c" . + "652f7270632f7374617475732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f223c0a23476574437573746f6d65724e65" . + "676174697665437269746572696f6e5265717565737412150a0d7265736f" . + "757263655f6e616d6518012001280922c6010a254d757461746543757374" . + "6f6d65724e6567617469766543726974657269615265717565737412130a" . + "0b637573746f6d65725f696418012001280912580a0a6f7065726174696f" . + "6e7318022003280b32442e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e437573746f6d65724e65676174697665" . + "437269746572696f6e4f7065726174696f6e12170a0f7061727469616c5f" . + "6661696c75726518032001280812150a0d76616c69646174655f6f6e6c79" . + "1804200128082293010a22437573746f6d65724e65676174697665437269" . + "746572696f6e4f7065726174696f6e124e0a066372656174651801200128" . + "0b323c2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e437573746f6d65724e65676174697665437269746572" . + "696f6e480012100a0672656d6f76651802200128094800420b0a096f7065" . + "726174696f6e22b4010a264d7574617465437573746f6d65724e65676174" . + "6976654372697465726961526573706f6e736512310a157061727469616c" . + "5f6661696c7572655f6572726f7218032001280b32122e676f6f676c652e" . + "7270632e53746174757312570a07726573756c747318022003280b32462e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d7574617465437573746f6d65724e656761746976654372697465" . + "726961526573756c74223d0a244d7574617465437573746f6d65724e6567" . + "61746976654372697465726961526573756c7412150a0d7265736f757263" . + "655f6e616d6518012001280932a9040a20437573746f6d65724e65676174" . + "697665437269746572696f6e5365727669636512e7010a1c476574437573" . + "746f6d65724e65676174697665437269746572696f6e12452e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4765" . + "74437573746f6d65724e65676174697665437269746572696f6e52657175" . + "6573741a3c2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e437573746f6d65724e6567617469766543726974" . + "6572696f6e224282d3e493023c123a2f76322f7b7265736f757263655f6e" . + "616d653d637573746f6d6572732f2a2f637573746f6d65724e6567617469" . + "766543726974657269612f2a7d12fd010a1e4d7574617465437573746f6d" . + "65724e65676174697665437269746572696112472e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4d7574617465" . + "437573746f6d65724e656761746976654372697465726961526571756573" . + "741a482e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4d7574617465437573746f6d65724e6567617469766543" . + "72697465726961526573706f6e7365224882d3e4930242223d2f76322f63" . + "7573746f6d6572732f7b637573746f6d65725f69643d2a7d2f637573746f" . + "6d65724e6567617469766543726974657269613a6d75746174653a012a1a" . + "1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d428c" . + "020a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365734225437573746f6d65724e65676174697665437269" . + "746572696f6e5365727669636550726f746f50015a48676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f73657276696365733b73657276" . + "69636573a20203474141aa0220476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5365727669636573ca0220476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c5365727669636573ea0224476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a536572766963657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/CustomerService.php b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerService.php new file mode 100644 index 000000000..58568ae45 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/CustomerService.php @@ -0,0 +1,103 @@ +internalAddGeneratedFile(hex2bin( + "0a9a110a37676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f736572766963652e70726f746f" . + "1220676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365731a30676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f637573746f6d65722e70726f746f1a1c676f6f67" . + "6c652f6170692f616e6e6f746174696f6e732e70726f746f1a20676f6f67" . + "6c652f70726f746f6275662f6669656c645f6d61736b2e70726f746f1a1e" . + "676f6f676c652f70726f746f6275662f77726170706572732e70726f746f" . + "1a17676f6f676c652f6170692f636c69656e742e70726f746f222b0a1247" . + "6574437573746f6d65725265717565737412150a0d7265736f757263655f" . + "6e616d65180120012809228b010a154d7574617465437573746f6d657252" . + "65717565737412130a0b637573746f6d65725f696418012001280912460a" . + "096f7065726174696f6e18042001280b32332e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e437573746f6d6572" . + "4f7065726174696f6e12150a0d76616c69646174655f6f6e6c7918052001" . + "280822fc010a1b437265617465437573746f6d6572436c69656e74526571" . + "7565737412130a0b637573746f6d65725f696418012001280912440a0f63" . + "7573746f6d65725f636c69656e7418022001280b322b2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e437573" . + "746f6d657212330a0d656d61696c5f6164647265737318032001280b321c" . + "2e676f6f676c652e70726f746f6275662e537472696e6756616c7565124d" . + "0a0b6163636573735f726f6c6518042001280e32382e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e416363657373526f" . + "6c65456e756d2e416363657373526f6c652281010a11437573746f6d6572" . + "4f7065726174696f6e123b0a0675706461746518012001280b322b2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e437573746f6d6572122f0a0b7570646174655f6d61736b1802200128" . + "0b321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b22" . + "350a1c437265617465437573746f6d6572436c69656e74526573706f6e73" . + "6512150a0d7265736f757263655f6e616d6518022001280922600a164d75" . + "74617465437573746f6d6572526573706f6e736512460a06726573756c74" . + "18022001280b32362e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e4d7574617465437573746f6d657252657375" . + "6c74222d0a144d7574617465437573746f6d6572526573756c7412150a0d" . + "7265736f757263655f6e616d6518012001280922200a1e4c697374416363" . + "65737369626c65437573746f6d6572735265717565737422390a1f4c6973" . + "7441636365737369626c65437573746f6d657273526573706f6e73651216" . + "0a0e7265736f757263655f6e616d657318012003280932a8060a0f437573" . + "746f6d6572536572766963651299010a0b476574437573746f6d65721234" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e476574437573746f6d6572526571756573741a2b2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e43" . + "7573746f6d6572222782d3e4930221121f2f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a7d12b4010a0e4d757461746543" . + "7573746f6d657212372e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e4d7574617465437573746f6d6572526571" . + "756573741a382e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d7574617465437573746f6d6572526573706f6e" . + "7365222f82d3e493022922242f76322f637573746f6d6572732f7b637573" . + "746f6d65725f69643d2a7d3a6d75746174653a012a12cd010a174c697374" . + "41636365737369626c65437573746f6d65727312402e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4c69737441" . + "636365737369626c65437573746f6d657273526571756573741a412e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4c69737441636365737369626c65437573746f6d657273526573706f6e" . + "7365222d82d3e493022712252f76322f637573746f6d6572733a6c697374" . + "41636365737369626c65437573746f6d65727312d4010a14437265617465" . + "437573746f6d6572436c69656e74123d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e43726561746543757374" . + "6f6d6572436c69656e74526571756573741a3e2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e43726561746543" . + "7573746f6d6572436c69656e74526573706f6e7365223d82d3e493023722" . + "322f76322f637573746f6d6572732f7b637573746f6d65725f69643d2a7d" . + "3a637265617465437573746f6d6572436c69656e743a012a1a1bca411867" . + "6f6f676c656164732e676f6f676c65617069732e636f6d42fb010a24636f" . + "6d2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365734214437573746f6d65725365727669636550726f746f50015a48" . + "676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f" . + "676c65617069732f6164732f676f6f676c656164732f76322f7365727669" . + "6365733b7365727669636573a20203474141aa0220476f6f676c652e4164" . + "732e476f6f676c654164732e56322e5365727669636573ca0220476f6f67" . + "6c655c4164735c476f6f676c654164735c56325c5365727669636573ea02" . + "24476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53" . + "65727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewService.php new file mode 100644 index 000000000..ae626a180 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af8050a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f64657461696c5f706c6163656d656e745f766965775f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f" . + "636c69656e742e70726f746f22360a1d47657444657461696c506c616365" . + "6d656e74566965775265717565737412150a0d7265736f757263655f6e61" . + "6d65180120012809328d020a1a44657461696c506c6163656d656e745669" . + "65775365727669636512d1010a1647657444657461696c506c6163656d65" . + "6e7456696577123f2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e47657444657461696c506c6163656d656e74" . + "56696577526571756573741a362e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e44657461696c506c6163656d" . + "656e7456696577223e82d3e493023812362f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f64657461696c506c6163656d" . + "656e7456696577732f2a7d1a1bca4118676f6f676c656164732e676f6f67" . + "6c65617069732e636f6d4286020a24636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7365727669636573421f44657461696c50" . + "6c6163656d656e74566965775365727669636550726f746f50015a48676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f73657276696365" . + "733b7365727669636573a20203474141aa0220476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5365727669636573ca0220476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5365727669636573ea022447" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a536572" . + "7669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewService.php new file mode 100644 index 000000000..8fcf3824d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af0050a43676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f646973706c61795f6b6579776f72645f766965775f73" . + "6572766963652e70726f746f1220676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22350a1c476574446973706c61794b6579776f" . + "7264566965775265717565737412150a0d7265736f757263655f6e616d65" . + "1801200128093288020a19446973706c61794b6579776f72645669657753" . + "65727669636512cd010a15476574446973706c61794b6579776f72645669" . + "6577123e2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e476574446973706c61794b6579776f72645669657752" . + "6571756573741a352e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e446973706c61794b6579776f7264566965" . + "77223d82d3e493023712352f76322f7b7265736f757263655f6e616d653d" . + "637573746f6d6572732f2a2f646973706c61794b6579776f726456696577" . + "732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d4285020a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7365727669636573421e446973706c61794b6579776f7264" . + "566965775365727669636550726f746f50015a48676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f73657276696365733b736572766963" . + "6573a20203474141aa0220476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5365727669636573ca0220476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5365727669636573ea0224476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a5365727669636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/DistanceViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/DistanceViewService.php new file mode 100644 index 000000000..00b1b8750 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/DistanceViewService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0abf050a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f64697374616e63655f766965775f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70" . + "726f746f222f0a1647657444697374616e63655669657752657175657374" . + "12150a0d7265736f757263655f6e616d6518012001280932ea010a134469" . + "7374616e6365566965775365727669636512b5010a0f4765744469737461" . + "6e63655669657712382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e47657444697374616e6365566965775265" . + "71756573741a2f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e44697374616e636556696577223782d3e493" . + "0231122f2f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f64697374616e636556696577732f2a7d1a1bca4118676f6f67" . + "6c656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "73421844697374616e6365566965775365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/DomainCategoryService.php b/metadata/Google/Ads/GoogleAds/V2/Services/DomainCategoryService.php new file mode 100644 index 000000000..0dcfc98f4 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/DomainCategoryService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad0050a3e676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f646f6d61696e5f63617465676f72795f736572766963" . + "652e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e74" . + "2e70726f746f22310a18476574446f6d61696e43617465676f7279526571" . + "7565737412150a0d7265736f757263655f6e616d6518012001280932f501" . + "0a15446f6d61696e43617465676f72795365727669636512be010a114765" . + "74446f6d61696e43617465676f7279123a2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e476574446f6d61696e" . + "43617465676f7279526571756573741a312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e446f6d61696e4361" . + "7465676f7279223a82d3e493023412322f76322f7b7265736f757263655f" . + "6e616d653d637573746f6d6572732f2a2f646f6d61696e43617465676f72" . + "6965732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4281020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421a446f6d61696e43617465676f" . + "72795365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewService.php new file mode 100644 index 000000000..012a8cadb --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewService.php @@ -0,0 +1,55 @@ +internalAddGeneratedFile(hex2bin( + "0ad3060a52676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f64796e616d69635f7365617263685f6164735f736561" . + "7263685f7465726d5f766965775f736572766963652e70726f746f122067" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f74" . + "6f1a17676f6f676c652f6170692f636c69656e742e70726f746f22410a28" . + "47657444796e616d69635365617263684164735365617263685465726d56" . + "6965775265717565737412150a0d7265736f757263655f6e616d65180120" . + "01280932c4020a2544796e616d6963536561726368416473536561726368" . + "5465726d566965775365727669636512fd010a2147657444796e616d6963" . + "5365617263684164735365617263685465726d56696577124a2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e47" . + "657444796e616d69635365617263684164735365617263685465726d5669" . + "6577526571756573741a412e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e44796e616d696353656172636841" . + "64735365617263685465726d56696577224982d3e493024312412f76322f" . + "7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f64796e" . + "616d69635365617263684164735365617263685465726d56696577732f2a" . + "7d1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d" . + "4291020a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7365727669636573422a44796e616d696353656172636841647353" . + "65617263685465726d566965775365727669636550726f746f50015a4867" . + "6f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f67" . + "6c65617069732f6164732f676f6f676c656164732f76322f736572766963" . + "65733b7365727669636573a20203474141aa0220476f6f676c652e416473" . + "2e476f6f676c654164732e56322e5365727669636573ca0220476f6f676c" . + "655c4164735c476f6f676c654164735c56325c5365727669636573ea0224" . + "476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5365" . + "727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewService.php new file mode 100644 index 000000000..54522c1ca --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewService.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0a99060a49676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f657870616e6465645f6c616e64696e675f706167655f" . + "766965775f736572766963652e70726f746f1220676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365731a1c676f6f676c65" . + "2f6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f676c65" . + "2f6170692f636c69656e742e70726f746f223a0a21476574457870616e64" . + "65644c616e64696e6750616765566965775265717565737412150a0d7265" . + "736f757263655f6e616d6518012001280932a1020a1e457870616e646564" . + "4c616e64696e6750616765566965775365727669636512e1010a1a476574" . + "457870616e6465644c616e64696e67506167655669657712432e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e47" . + "6574457870616e6465644c616e64696e6750616765566965775265717565" . + "73741a3a2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e457870616e6465644c616e64696e67506167655669" . + "6577224282d3e493023c123a2f76322f7b7265736f757263655f6e616d65" . + "3d637573746f6d6572732f2a2f657870616e6465644c616e64696e675061" . + "676556696577732f2a7d1a1bca4118676f6f676c656164732e676f6f676c" . + "65617069732e636f6d428a020a24636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365734223457870616e646564" . + "4c616e64696e6750616765566965775365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemService.php new file mode 100644 index 000000000..a7ad3ad97 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemService.php @@ -0,0 +1,85 @@ +internalAddGeneratedFile(hex2bin( + "0aa70d0a42676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f657874656e73696f6e5f666565645f6974656d5f7365" . + "72766963652e70726f746f1220676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365731a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f62" . + "75662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f7270" . + "632f7374617475732e70726f746f1a17676f6f676c652f6170692f636c69" . + "656e742e70726f746f22340a1b476574457874656e73696f6e4665656449" . + "74656d5265717565737412150a0d7265736f757263655f6e616d65180120" . + "01280922b8010a1f4d7574617465457874656e73696f6e46656564497465" . + "6d735265717565737412130a0b637573746f6d65725f6964180120012809" . + "12500a0a6f7065726174696f6e7318022003280b323c2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e45787465" . + "6e73696f6e466565644974656d4f7065726174696f6e12170a0f70617274" . + "69616c5f6661696c75726518032001280812150a0d76616c69646174655f" . + "6f6e6c7918042001280822fc010a1a457874656e73696f6e466565644974" . + "656d4f7065726174696f6e122f0a0b7570646174655f6d61736b18042001" . + "280b321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b" . + "12460a0663726561746518012001280b32342e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e457874656e7369" . + "6f6e466565644974656d480012460a0675706461746518022001280b3234" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e457874656e73696f6e466565644974656d480012100a067265" . + "6d6f76651803200128094800420b0a096f7065726174696f6e22a7010a20" . + "4d7574617465457874656e73696f6e466565644974656d73526573706f6e" . + "736512310a157061727469616c5f6661696c7572655f6572726f72180320" . + "01280b32122e676f6f676c652e7270632e53746174757312500a07726573" . + "756c747318022003280b323f2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d7574617465457874656e73696f" . + "6e466565644974656d526573756c7422360a1d4d7574617465457874656e" . + "73696f6e466565644974656d526573756c7412150a0d7265736f75726365" . + "5f6e616d6518012001280932eb030a18457874656e73696f6e4665656449" . + "74656d5365727669636512c9010a14476574457874656e73696f6e466565" . + "644974656d123d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e476574457874656e73696f6e46656564497465" . + "6d526571756573741a342e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e457874656e73696f6e466565644974" . + "656d223c82d3e493023612342f76322f7b7265736f757263655f6e616d65" . + "3d637573746f6d6572732f2a2f657874656e73696f6e466565644974656d" . + "732f2a7d12e5010a184d7574617465457874656e73696f6e466565644974" . + "656d7312412e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e4d7574617465457874656e73696f6e466565644974" . + "656d73526571756573741a422e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d7574617465457874656e73696f" . + "6e466565644974656d73526573706f6e7365224282d3e493023c22372f76" . + "322f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f6578" . + "74656e73696f6e466565644974656d733a6d75746174653a012a1a1bca41" . + "18676f6f676c656164732e676f6f676c65617069732e636f6d4284020a24" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "727669636573421d457874656e73696f6e466565644974656d5365727669" . + "636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f73657276696365733b7365727669636573a20203474141aa" . + "0220476f6f676c652e4164732e476f6f676c654164732e56322e53657276" . + "69636573ca0220476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/FeedItemService.php b/metadata/Google/Ads/GoogleAds/V2/Services/FeedItemService.php new file mode 100644 index 000000000..872520088 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/FeedItemService.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0af20b0a38676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f666565645f6974656d5f736572766963652e70726f74" . + "6f1220676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f1a20676f6f676c652f70726f746f6275662f6669656c645f6d" . + "61736b2e70726f746f1a17676f6f676c652f7270632f7374617475732e70" . + "726f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f22" . + "2b0a12476574466565644974656d5265717565737412150a0d7265736f75" . + "7263655f6e616d6518012001280922a6010a164d75746174654665656449" . + "74656d735265717565737412130a0b637573746f6d65725f696418012001" . + "280912470a0a6f7065726174696f6e7318022003280b32332e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4665" . + "65644974656d4f7065726174696f6e12170a0f7061727469616c5f666169" . + "6c75726518032001280812150a0d76616c69646174655f6f6e6c79180420" . + "01280822e1010a11466565644974656d4f7065726174696f6e122f0a0b75" . + "70646174655f6d61736b18042001280b321a2e676f6f676c652e70726f74" . + "6f6275662e4669656c644d61736b123d0a0663726561746518012001280b" . + "322b2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e466565644974656d4800123d0a06757064617465180220" . + "01280b322b2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e466565644974656d480012100a0672656d6f7665" . + "1803200128094800420b0a096f7065726174696f6e2295010a174d757461" . + "7465466565644974656d73526573706f6e736512310a157061727469616c" . + "5f6661696c7572655f6572726f7218032001280b32122e676f6f676c652e" . + "7270632e53746174757312470a07726573756c747318022003280b32362e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d7574617465466565644974656d526573756c74222d0a144d7574" . + "617465466565644974656d526573756c7412150a0d7265736f757263655f" . + "6e616d65180120012809329a030a0f466565644974656d53657276696365" . + "12a5010a0b476574466565644974656d12342e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4765744665656449" . + "74656d526571756573741a2b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e466565644974656d223382d3e4" . + "93022d122b2f76322f7b7265736f757263655f6e616d653d637573746f6d" . + "6572732f2a2f666565644974656d732f2a7d12c1010a0f4d757461746546" . + "6565644974656d7312382e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d7574617465466565644974656d7352" . + "6571756573741a392e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e4d7574617465466565644974656d73526573" . + "706f6e7365223982d3e4930233222e2f76322f637573746f6d6572732f7b" . + "637573746f6d65725f69643d2a7d2f666565644974656d733a6d75746174" . + "653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d42fb010a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365734214466565644974656d536572766963" . + "6550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f73657276696365733b7365727669636573a20203474141aa02" . + "20476f6f676c652e4164732e476f6f676c654164732e56322e5365727669" . + "636573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/FeedItemTargetService.php b/metadata/Google/Ads/GoogleAds/V2/Services/FeedItemTargetService.php new file mode 100644 index 000000000..a4134e278 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/FeedItemTargetService.php @@ -0,0 +1,72 @@ +internalAddGeneratedFile(hex2bin( + "0ad50a0a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f666565645f6974656d5f7461726765745f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22310a18476574466565644974656d5461726765745265" . + "717565737412150a0d7265736f757263655f6e616d651801200128092282" . + "010a1c4d7574617465466565644974656d54617267657473526571756573" . + "7412130a0b637573746f6d65725f6964180120012809124d0a0a6f706572" . + "6174696f6e7318022003280b32392e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e466565644974656d54617267" . + "65744f7065726174696f6e227d0a17466565644974656d5461726765744f" . + "7065726174696f6e12430a0663726561746518012001280b32312e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e466565644974656d546172676574480012100a0672656d6f7665180220" . + "0128094800420b0a096f7065726174696f6e226e0a1d4d75746174654665" . + "65644974656d54617267657473526573706f6e7365124d0a07726573756c" . + "747318022003280b323c2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d7574617465466565644974656d5461" . + "72676574526573756c7422330a1a4d7574617465466565644974656d5461" . + "72676574526573756c7412150a0d7265736f757263655f6e616d65180120" . + "01280932d0030a15466565644974656d5461726765745365727669636512" . + "bd010a11476574466565644974656d546172676574123a2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e476574" . + "466565644974656d546172676574526571756573741a312e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4665" . + "65644974656d546172676574223982d3e493023312312f76322f7b726573" . + "6f757263655f6e616d653d637573746f6d6572732f2a2f66656564497465" . + "6d546172676574732f2a7d12d9010a154d7574617465466565644974656d" . + "54617267657473123e2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e4d7574617465466565644974656d546172" . + "67657473526571756573741a3f2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4d757461746546656564497465" . + "6d54617267657473526573706f6e7365223f82d3e493023922342f76322f" . + "637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f66656564" . + "4974656d546172676574733a6d75746174653a012a1a1bca4118676f6f67" . + "6c656164732e676f6f676c65617069732e636f6d4281020a24636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "73421a466565644974656d5461726765745365727669636550726f746f50" . + "015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f7365" . + "7276696365733b7365727669636573a20203474141aa0220476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5365727669636573ca022047" . + "6f6f676c655c4164735c476f6f676c654164735c56325c53657276696365" . + "73ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/FeedMappingService.php b/metadata/Google/Ads/GoogleAds/V2/Services/FeedMappingService.php new file mode 100644 index 000000000..40b4f2ee0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/FeedMappingService.php @@ -0,0 +1,75 @@ +internalAddGeneratedFile(hex2bin( + "0a980b0a3b676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f666565645f6d617070696e675f736572766963652e70" . + "726f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365731a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f1a17676f6f676c652f7270632f7374617475732e7072" . + "6f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f222e" . + "0a15476574466565644d617070696e675265717565737412150a0d726573" . + "6f757263655f6e616d6518012001280922ac010a194d7574617465466565" . + "644d617070696e67735265717565737412130a0b637573746f6d65725f69" . + "64180120012809124a0a0a6f7065726174696f6e7318022003280b32362e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e466565644d617070696e674f7065726174696f6e12170a0f706172" . + "7469616c5f6661696c75726518032001280812150a0d76616c6964617465" . + "5f6f6e6c7918042001280822770a14466565644d617070696e674f706572" . + "6174696f6e12400a0663726561746518012001280b322e2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4665" . + "65644d617070696e67480012100a0672656d6f7665180320012809480042" . + "0b0a096f7065726174696f6e229b010a1a4d7574617465466565644d6170" . + "70696e6773526573706f6e736512310a157061727469616c5f6661696c75" . + "72655f6572726f7218032001280b32122e676f6f676c652e7270632e5374" . + "61747573124a0a07726573756c747318022003280b32392e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "617465466565644d617070696e67526573756c7422300a174d7574617465" . + "466565644d617070696e67526573756c7412150a0d7265736f757263655f" . + "6e616d6518012001280932b5030a12466565644d617070696e6753657276" . + "69636512b1010a0e476574466565644d617070696e6712372e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4765" . + "74466565644d617070696e67526571756573741a2e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e46656564" . + "4d617070696e67223682d3e4930230122e2f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f666565644d617070696e6773" . + "2f2a7d12cd010a124d7574617465466565644d617070696e6773123b2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d7574617465466565644d617070696e6773526571756573741a3c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d7574617465466565644d617070696e6773526573706f6e736522" . + "3c82d3e493023622312f76322f637573746f6d6572732f7b637573746f6d" . + "65725f69643d2a7d2f666565644d617070696e67733a6d75746174653a01" . + "2a1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d" . + "42fe010a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365734217466565644d617070696e67536572766963" . + "6550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f73657276696365733b7365727669636573a20203474141aa02" . + "20476f6f676c652e4164732e476f6f676c654164732e56322e5365727669" . + "636573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewService.php new file mode 100644 index 000000000..bd3072b8e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af8050a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f666565645f706c616365686f6c6465725f766965775f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f" . + "636c69656e742e70726f746f22360a1d47657446656564506c616365686f" . + "6c646572566965775265717565737412150a0d7265736f757263655f6e61" . + "6d65180120012809328d020a1a46656564506c616365686f6c6465725669" . + "65775365727669636512d1010a1647657446656564506c616365686f6c64" . + "657256696577123f2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e47657446656564506c616365686f6c646572" . + "56696577526571756573741a362e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e46656564506c616365686f6c" . + "64657256696577223e82d3e493023812362f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f66656564506c616365686f6c" . + "64657256696577732f2a7d1a1bca4118676f6f676c656164732e676f6f67" . + "6c65617069732e636f6d4286020a24636f6d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7365727669636573421f46656564506c61" . + "6365686f6c646572566965775365727669636550726f746f50015a48676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f73657276696365" . + "733b7365727669636573a20203474141aa0220476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5365727669636573ca0220476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5365727669636573ea022447" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a536572" . + "7669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/FeedService.php b/metadata/Google/Ads/GoogleAds/V2/Services/FeedService.php new file mode 100644 index 000000000..56ff72936 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/FeedService.php @@ -0,0 +1,77 @@ +internalAddGeneratedFile(hex2bin( + "0aa10b0a33676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f666565645f736572766963652e70726f746f1220676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f" . + "1a20676f6f676c652f70726f746f6275662f6669656c645f6d61736b2e70" . + "726f746f1a17676f6f676c652f7270632f7374617475732e70726f746f1a" . + "17676f6f676c652f6170692f636c69656e742e70726f746f22270a0e4765" . + "74466565645265717565737412150a0d7265736f757263655f6e616d6518" . + "0120012809229e010a124d75746174654665656473526571756573741213" . + "0a0b637573746f6d65725f696418012001280912430a0a6f706572617469" . + "6f6e7318022003280b322f2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e466565644f7065726174696f6e1217" . + "0a0f7061727469616c5f6661696c75726518032001280812150a0d76616c" . + "69646174655f6f6e6c7918042001280822d5010a0d466565644f70657261" . + "74696f6e122f0a0b7570646174655f6d61736b18042001280b321a2e676f" . + "6f676c652e70726f746f6275662e4669656c644d61736b12390a06637265" . + "61746518012001280b32272e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e46656564480012390a0675706461" . + "746518022001280b32272e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e46656564480012100a0672656d6f76" . + "651803200128094800420b0a096f7065726174696f6e228d010a134d7574" . + "6174654665656473526573706f6e736512310a157061727469616c5f6661" . + "696c7572655f6572726f7218032001280b32122e676f6f676c652e727063" . + "2e53746174757312430a07726573756c747318022003280b32322e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4d757461746546656564526573756c7422290a104d757461746546656564" . + "526573756c7412150a0d7265736f757263655f6e616d6518012001280932" . + "f6020a0b46656564536572766963651295010a074765744665656412302e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e47657446656564526571756573741a272e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e46656564222f" . + "82d3e493022912272f76322f7b7265736f757263655f6e616d653d637573" . + "746f6d6572732f2a2f66656564732f2a7d12b1010a0b4d75746174654665" . + "65647312342e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e4d75746174654665656473526571756573741a352e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d75746174654665656473526573706f6e7365223582d3e493022f" . + "222a2f76322f637573746f6d6572732f7b637573746f6d65725f69643d2a" . + "7d2f66656564733a6d75746174653a012a1a1bca4118676f6f676c656164" . + "732e676f6f676c65617069732e636f6d42f7010a24636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7365727669636573421046" . + "6565645365727669636550726f746f50015a48676f6f676c652e676f6c61" . + "6e672e6f72672f67656e70726f746f2f676f6f676c65617069732f616473" . + "2f676f6f676c656164732f76322f73657276696365733b73657276696365" . + "73a20203474141aa0220476f6f676c652e4164732e476f6f676c65416473" . + "2e56322e5365727669636573ca0220476f6f676c655c4164735c476f6f67" . + "6c654164735c56325c5365727669636573ea0224476f6f676c653a3a4164" . + "733a3a476f6f676c654164733a3a56323a3a536572766963657362067072" . + "6f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/GenderViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/GenderViewService.php new file mode 100644 index 000000000..9a253232c --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/GenderViewService.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0aaf050a3a676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f67656e6465725f766965775f736572766963652e7072" . + "6f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e" . + "732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f" . + "746f222d0a1447657447656e646572566965775265717565737412150a0d" . + "7265736f757263655f6e616d6518012001280932e0010a1147656e646572" . + "566965775365727669636512ad010a0d47657447656e6465725669657712" . + "362e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e47657447656e64657256696577526571756573741a2d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e47656e64657256696577223582d3e493022f122d2f76322f7b726573" . + "6f757263655f6e616d653d637573746f6d6572732f2a2f67656e64657256" . + "696577732f2a7d1a1bca4118676f6f676c656164732e676f6f676c656170" . + "69732e636f6d42fd010a24636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7365727669636573421647656e6465725669657753" . + "65727669636550726f746f50015a48676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f73657276696365733b7365727669636573a20203" . + "474141aa0220476f6f676c652e4164732e476f6f676c654164732e56322e" . + "5365727669636573ca0220476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5365727669636573ea0224476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantService.php new file mode 100644 index 000000000..5003031e0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantService.php @@ -0,0 +1,93 @@ +internalAddGeneratedFile(hex2bin( + "0aa10f0a42676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f67656f5f7461726765745f636f6e7374616e745f7365" . + "72766963652e70726f746f1220676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365731a1c676f6f676c652f6170692f616e" . + "6e6f746174696f6e732e70726f746f1a1e676f6f676c652f70726f746f62" . + "75662f77726170706572732e70726f746f1a17676f6f676c652f6170692f" . + "636c69656e742e70726f746f22340a1b47657447656f546172676574436f" . + "6e7374616e745265717565737412150a0d7265736f757263655f6e616d65" . + "18012001280922e7030a205375676765737447656f546172676574436f6e" . + "7374616e747352657175657374122c0a066c6f63616c6518032001280b32" . + "1c2e676f6f676c652e70726f746f6275662e537472696e6756616c756512" . + "320a0c636f756e7472795f636f646518052001280b321c2e676f6f676c65" . + "2e70726f746f6275662e537472696e6756616c7565126a0a0e6c6f636174" . + "696f6e5f6e616d657318012001280b32502e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e537567676573744765" . + "6f546172676574436f6e7374616e7473526571756573742e4c6f63617469" . + "6f6e4e616d6573480012640a0b67656f5f7461726765747318022001280b" . + "324d2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e5375676765737447656f546172676574436f6e7374616e74" . + "73526571756573742e47656f5461726765747348001a3c0a0d4c6f636174" . + "696f6e4e616d6573122b0a056e616d657318012003280b321c2e676f6f67" . + "6c652e70726f746f6275662e537472696e6756616c75651a480a0a47656f" . + "54617267657473123a0a1467656f5f7461726765745f636f6e7374616e74" . + "7318012003280b321c2e676f6f676c652e70726f746f6275662e53747269" . + "6e6756616c756542070a057175657279228b010a21537567676573744765" . + "6f546172676574436f6e7374616e7473526573706f6e736512660a1f6765" . + "6f5f7461726765745f636f6e7374616e745f73756767657374696f6e7318" . + "012003280b323d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e47656f546172676574436f6e7374616e745375" . + "6767657374696f6e22d8020a1b47656f546172676574436f6e7374616e74" . + "53756767657374696f6e122c0a066c6f63616c6518012001280b321c2e67" . + "6f6f676c652e70726f746f6275662e537472696e6756616c7565122a0a05" . + "726561636818022001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c756512310a0b7365617263685f7465726d1803200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "6512510a1367656f5f7461726765745f636f6e7374616e7418042001280b" . + "32342e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e47656f546172676574436f6e7374616e7412590a1b6765" . + "6f5f7461726765745f636f6e7374616e745f706172656e74731805200328" . + "0b32342e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e47656f546172676574436f6e7374616e7432c9030a18" . + "47656f546172676574436f6e7374616e745365727669636512bd010a1447" . + "657447656f546172676574436f6e7374616e74123d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4765744765" . + "6f546172676574436f6e7374616e74526571756573741a342e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e47" . + "656f546172676574436f6e7374616e74223082d3e493022a12282f76322f" . + "7b7265736f757263655f6e616d653d67656f546172676574436f6e737461" . + "6e74732f2a7d12cf010a195375676765737447656f546172676574436f6e" . + "7374616e747312422e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e5375676765737447656f546172676574436f" . + "6e7374616e7473526571756573741a432e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e5375676765737447656f" . + "546172676574436f6e7374616e7473526573706f6e7365222982d3e49302" . + "23221e2f76322f67656f546172676574436f6e7374616e74733a73756767" . + "6573743a012a1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4284020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421d47656f546172676574436f6e" . + "7374616e745365727669636550726f746f50015a48676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f73657276696365733b7365727669" . + "636573a20203474141aa0220476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e5365727669636573ca0220476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5365727669636573ea0224476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a53657276696365736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/GeographicViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/GeographicViewService.php new file mode 100644 index 000000000..5cb1dbabc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/GeographicViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0acf050a3e676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f67656f677261706869635f766965775f736572766963" . + "652e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e74" . + "2e70726f746f22310a1847657447656f6772617068696356696577526571" . + "7565737412150a0d7265736f757263655f6e616d6518012001280932f401" . + "0a1547656f67726170686963566965775365727669636512bd010a114765" . + "7447656f6772617068696356696577123a2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e47657447656f677261" . + "7068696356696577526571756573741a312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e47656f6772617068" . + "696356696577223982d3e493023312312f76322f7b7265736f757263655f" . + "6e616d653d637573746f6d6572732f2a2f67656f67726170686963566965" . + "77732f2a7d1a1bca4118676f6f676c656164732e676f6f676c6561706973" . + "2e636f6d4281020a24636f6d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7365727669636573421a47656f67726170686963566965" . + "775365727669636550726f746f50015a48676f6f676c652e676f6c616e67" . + "2e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f67" . + "6f6f676c656164732f76322f73657276696365733b7365727669636573a2" . + "0203474141aa0220476f6f676c652e4164732e476f6f676c654164732e56" . + "322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c65" . + "4164735c56325c5365727669636573ea0224476f6f676c653a3a4164733a" . + "3a476f6f676c654164733a3a56323a3a5365727669636573620670726f74" . + "6f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldService.php b/metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldService.php new file mode 100644 index 000000000..049ca430f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldService.php @@ -0,0 +1,65 @@ +internalAddGeneratedFile(hex2bin( + "0af8080a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f676f6f676c655f6164735f6669656c645f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22310a18476574476f6f676c654164734669656c645265" . + "717565737412150a0d7265736f757263655f6e616d651801200128092254" . + "0a1c536561726368476f6f676c654164734669656c647352657175657374" . + "120d0a05717565727918012001280912120a0a706167655f746f6b656e18" . + "022001280912110a09706167655f73697a651803200128052299010a1d53" . + "6561726368476f6f676c654164734669656c6473526573706f6e73651242" . + "0a07726573756c747318012003280b32312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e476f6f676c654164" . + "734669656c6412170a0f6e6578745f706167655f746f6b656e1802200128" . + "09121b0a13746f74616c5f726573756c74735f636f756e74180320012803" . + "32aa030a15476f6f676c654164734669656c645365727669636512b1010a" . + "11476574476f6f676c654164734669656c64123a2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e476574476f6f" . + "676c654164734669656c64526571756573741a312e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f75726365732e476f6f676c" . + "654164734669656c64222d82d3e493022712252f76322f7b7265736f7572" . + "63655f6e616d653d676f6f676c654164734669656c64732f2a7d12bf010a" . + "15536561726368476f6f676c654164734669656c6473123e2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e5365" . + "61726368476f6f676c654164734669656c6473526571756573741a3f2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e536561726368476f6f676c654164734669656c6473526573706f6e73" . + "65222582d3e493021f221a2f76322f676f6f676c654164734669656c6473" . + "3a7365617263683a012a1a1bca4118676f6f676c656164732e676f6f676c" . + "65617069732e636f6d4281020a24636f6d2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7365727669636573421a476f6f676c654164" . + "734669656c645365727669636550726f746f50015a48676f6f676c652e67" . + "6f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f" . + "6164732f676f6f676c656164732f76322f73657276696365733b73657276" . + "69636573a20203474141aa0220476f6f676c652e4164732e476f6f676c65" . + "4164732e56322e5365727669636573ca0220476f6f676c655c4164735c47" . + "6f6f676c654164735c56325c5365727669636573ea0224476f6f676c653a" . + "3a4164733a3a476f6f676c654164733a3a56323a3a536572766963657362" . + "0670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsService.php b/metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsService.php new file mode 100644 index 000000000..be6d3ef39 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/GoogleAdsService.php @@ -0,0 +1,1006 @@ +internalAddGeneratedFile(hex2bin( + "0aa4c5010a39676f6f676c652f6164732f676f6f676c656164732f76322f" . + "73657276696365732f676f6f676c655f6164735f736572766963652e7072" . + "6f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365731a2d676f6f676c652f6164732f676f6f676c656164732f" . + "76322f636f6d6d6f6e2f7365676d656e74732e70726f746f1a36676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f7265736f75726365732f" . + "6163636f756e745f6275646765742e70726f746f1a3f676f6f676c652f61" . + "64732f676f6f676c656164732f76322f7265736f75726365732f6163636f" . + "756e745f6275646765745f70726f706f73616c2e70726f746f1a30676f6f" . + "676c652f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "2f61645f67726f75702e70726f746f1a33676f6f676c652f6164732f676f" . + "6f676c656164732f76322f7265736f75726365732f61645f67726f75705f" . + "61642e70726f746f1a3e676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f61645f67726f75705f61645f61737365" . + "745f766965772e70726f746f1a39676f6f676c652f6164732f676f6f676c" . + "656164732f76322f7265736f75726365732f61645f67726f75705f61645f" . + "6c6162656c2e70726f746f1a3e676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365732f61645f67726f75705f61756469" . + "656e63655f766965772e70726f746f1a3d676f6f676c652f6164732f676f" . + "6f676c656164732f76322f7265736f75726365732f61645f67726f75705f" . + "6269645f6d6f6469666965722e70726f746f1a3a676f6f676c652f616473" . + "2f676f6f676c656164732f76322f7265736f75726365732f61645f67726f" . + "75705f637269746572696f6e2e70726f746f1a40676f6f676c652f616473" . + "2f676f6f676c656164732f76322f7265736f75726365732f61645f67726f" . + "75705f637269746572696f6e5f6c6162656c2e70726f746f1a45676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f7265736f75726365732f" . + "61645f67726f75705f637269746572696f6e5f73696d756c6174696f6e2e" . + "70726f746f1a42676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365732f61645f67726f75705f657874656e73696f6e5f" . + "73657474696e672e70726f746f1a35676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365732f61645f67726f75705f6665" . + "65642e70726f746f1a36676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f61645f67726f75705f6c6162656c2e70" . + "726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f61645f67726f75705f73696d756c6174696f6e2e" . + "70726f746f1a34676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365732f61645f706172616d657465722e70726f746f1a" . + "38676f6f676c652f6164732f676f6f676c656164732f76322f7265736f75" . + "726365732f61645f7363686564756c655f766965772e70726f746f1a3667" . + "6f6f676c652f6164732f676f6f676c656164732f76322f7265736f757263" . + "65732f6167655f72616e67655f766965772e70726f746f1a2d676f6f676c" . + "652f6164732f676f6f676c656164732f76322f7265736f75726365732f61" . + "737365742e70726f746f1a38676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f7265736f75726365732f62696464696e675f737472617465" . + "67792e70726f746f1a35676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f62696c6c696e675f73657475702e7072" . + "6f746f1a30676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f63616d706169676e2e70726f746f1a3e676f6f676c" . + "652f6164732f676f6f676c656164732f76322f7265736f75726365732f63" . + "616d706169676e5f61756469656e63655f766965772e70726f746f1a3d67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f7265736f757263" . + "65732f63616d706169676e5f6269645f6d6f6469666965722e70726f746f" . + "1a37676f6f676c652f6164732f676f6f676c656164732f76322f7265736f" . + "75726365732f63616d706169676e5f6275646765742e70726f746f1a3a67" . + "6f6f676c652f6164732f676f6f676c656164732f76322f7265736f757263" . + "65732f63616d706169676e5f637269746572696f6e2e70726f746f1a4567" . + "6f6f676c652f6164732f676f6f676c656164732f76322f7265736f757263" . + "65732f63616d706169676e5f637269746572696f6e5f73696d756c617469" . + "6f6e2e70726f746f1a36676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f63616d706169676e5f64726166742e70" . + "726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f63616d706169676e5f6578706572696d656e742e" . + "70726f746f1a42676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365732f63616d706169676e5f657874656e73696f6e5f" . + "73657474696e672e70726f746f1a35676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365732f63616d706169676e5f6665" . + "65642e70726f746f1a36676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f63616d706169676e5f6c6162656c2e70" . + "726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f63616d706169676e5f7368617265645f7365742e" . + "70726f746f1a38676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365732f636172726965725f636f6e7374616e742e7072" . + "6f746f1a35676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6368616e67655f7374617475732e70726f746f1a32" . + "676f6f676c652f6164732f676f6f676c656164732f76322f7265736f7572" . + "6365732f636c69636b5f766965772e70726f746f1a39676f6f676c652f61" . + "64732f676f6f676c656164732f76322f7265736f75726365732f636f6e76" . + "657273696f6e5f616374696f6e2e70726f746f1a37676f6f676c652f6164" . + "732f676f6f676c656164732f76322f7265736f75726365732f637573746f" . + "6d5f696e7465726573742e70726f746f1a30676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365732f637573746f6d6572" . + "2e70726f746f1a37676f6f676c652f6164732f676f6f676c656164732f76" . + "322f7265736f75726365732f637573746f6d65725f636c69656e742e7072" . + "6f746f1a3c676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f637573746f6d65725f636c69656e745f6c696e6b2e" . + "70726f746f1a42676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365732f637573746f6d65725f657874656e73696f6e5f" . + "73657474696e672e70726f746f1a35676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365732f637573746f6d65725f6665" . + "65642e70726f746f1a36676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f637573746f6d65725f6c6162656c2e70" . + "726f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f637573746f6d65725f6d616e616765725f6c696e" . + "6b2e70726f746f1a43676f6f676c652f6164732f676f6f676c656164732f" . + "76322f7265736f75726365732f637573746f6d65725f6e65676174697665" . + "5f637269746572696f6e2e70726f746f1a3d676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365732f64657461696c5f70" . + "6c6163656d656e745f766965772e70726f746f1a3c676f6f676c652f6164" . + "732f676f6f676c656164732f76322f7265736f75726365732f646973706c" . + "61795f6b6579776f72645f766965772e70726f746f1a35676f6f676c652f" . + "6164732f676f6f676c656164732f76322f7265736f75726365732f646973" . + "74616e63655f766965772e70726f746f1a37676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365732f646f6d61696e5f63" . + "617465676f72792e70726f746f1a4b676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365732f64796e616d69635f736561" . + "7263685f6164735f7365617263685f7465726d5f766965772e70726f746f" . + "1a42676f6f676c652f6164732f676f6f676c656164732f76322f7265736f" . + "75726365732f657870616e6465645f6c616e64696e675f706167655f7669" . + "65772e70726f746f1a3b676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f657874656e73696f6e5f666565645f69" . + "74656d2e70726f746f1a2c676f6f676c652f6164732f676f6f676c656164" . + "732f76322f7265736f75726365732f666565642e70726f746f1a31676f6f" . + "676c652f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "2f666565645f6974656d2e70726f746f1a38676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f7265736f75726365732f666565645f697465" . + "6d5f7461726765742e70726f746f1a34676f6f676c652f6164732f676f6f" . + "676c656164732f76322f7265736f75726365732f666565645f6d61707069" . + "6e672e70726f746f1a3d676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f666565645f706c616365686f6c646572" . + "5f766965772e70726f746f1a33676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f7265736f75726365732f67656e6465725f766965772e70" . + "726f746f1a3b676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f67656f5f7461726765745f636f6e7374616e742e" . + "70726f746f1a37676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f7265736f75726365732f67656f677261706869635f766965772e70726f" . + "746f1a3c676f6f676c652f6164732f676f6f676c656164732f76322f7265" . + "736f75726365732f67726f75705f706c6163656d656e745f766965772e70" . + "726f746f1a38676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f686f74656c5f67726f75705f766965772e70726f" . + "746f1a3e676f6f676c652f6164732f676f6f676c656164732f76322f7265" . + "736f75726365732f686f74656c5f706572666f726d616e63655f76696577" . + "2e70726f746f1a34676f6f676c652f6164732f676f6f676c656164732f76" . + "322f7265736f75726365732f6b6579776f72645f706c616e2e70726f746f" . + "1a3d676f6f676c652f6164732f676f6f676c656164732f76322f7265736f" . + "75726365732f6b6579776f72645f706c616e5f61645f67726f75702e7072" . + "6f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6b6579776f72645f706c616e5f63616d706169676e" . + "2e70726f746f1a3c676f6f676c652f6164732f676f6f676c656164732f76" . + "322f7265736f75726365732f6b6579776f72645f706c616e5f6b6579776f" . + "72642e70726f746f1a45676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f6b6579776f72645f706c616e5f6e6567" . + "61746976655f6b6579776f72642e70726f746f1a34676f6f676c652f6164" . + "732f676f6f676c656164732f76322f7265736f75726365732f6b6579776f" . + "72645f766965772e70726f746f1a2d676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f7265736f75726365732f6c6162656c2e70726f746f" . + "1a39676f6f676c652f6164732f676f6f676c656164732f76322f7265736f" . + "75726365732f6c616e64696e675f706167655f766965772e70726f746f1a" . + "39676f6f676c652f6164732f676f6f676c656164732f76322f7265736f75" . + "726365732f6c616e67756167655f636f6e7374616e742e70726f746f1a35" . + "676f6f676c652f6164732f676f6f676c656164732f76322f7265736f7572" . + "6365732f6c6f636174696f6e5f766965772e70726f746f1a3e676f6f676c" . + "652f6164732f676f6f676c656164732f76322f7265736f75726365732f6d" . + "616e616765645f706c6163656d656e745f766965772e70726f746f1a3267" . + "6f6f676c652f6164732f676f6f676c656164732f76322f7265736f757263" . + "65732f6d656469615f66696c652e70726f746f1a44676f6f676c652f6164" . + "732f676f6f676c656164732f76322f7265736f75726365732f6d6f62696c" . + "655f6170705f63617465676f72795f636f6e7374616e742e70726f746f1a" . + "3e676f6f676c652f6164732f676f6f676c656164732f76322f7265736f75" . + "726365732f6d6f62696c655f6465766963655f636f6e7374616e742e7072" . + "6f746f1a32676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f6d75746174655f6a6f622e70726f746f1a49676f6f" . + "676c652f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "2f6f7065726174696e675f73797374656d5f76657273696f6e5f636f6e73" . + "74616e742e70726f746f1a45676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f7265736f75726365732f706169645f6f7267616e69635f73" . + "65617263685f7465726d5f766965772e70726f746f1a3c676f6f676c652f" . + "6164732f676f6f676c656164732f76322f7265736f75726365732f706172" . + "656e74616c5f7374617475735f766965772e70726f746f1a49676f6f676c" . + "652f6164732f676f6f676c656164732f76322f7265736f75726365732f70" . + "726f647563745f62696464696e675f63617465676f72795f636f6e737461" . + "6e742e70726f746f1a3a676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f70726f647563745f67726f75705f7669" . + "65772e70726f746f1a36676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f7265636f6d6d656e646174696f6e2e70" . + "726f746f1a3a676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f72656d61726b6574696e675f616374696f6e2e70" . + "726f746f1a38676f6f676c652f6164732f676f6f676c656164732f76322f" . + "7265736f75726365732f7365617263685f7465726d5f766965772e70726f" . + "746f1a38676f6f676c652f6164732f676f6f676c656164732f76322f7265" . + "736f75726365732f7368617265645f637269746572696f6e2e70726f746f" . + "1a32676f6f676c652f6164732f676f6f676c656164732f76322f7265736f" . + "75726365732f7368617265645f7365742e70726f746f1a41676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f7265736f75726365732f7368" . + "6f7070696e675f706572666f726d616e63655f766965772e70726f746f1a" . + "36676f6f676c652f6164732f676f6f676c656164732f76322f7265736f75" . + "726365732f746f7069635f636f6e7374616e742e70726f746f1a32676f6f" . + "676c652f6164732f676f6f676c656164732f76322f7265736f7572636573" . + "2f746f7069635f766965772e70726f746f1a35676f6f676c652f6164732f" . + "676f6f676c656164732f76322f7265736f75726365732f757365725f696e" . + "7465726573742e70726f746f1a31676f6f676c652f6164732f676f6f676c" . + "656164732f76322f7265736f75726365732f757365725f6c6973742e7072" . + "6f746f1a3a676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f757365725f6c6f636174696f6e5f766965772e7072" . + "6f746f1a2d676f6f676c652f6164732f676f6f676c656164732f76322f72" . + "65736f75726365732f766964656f2e70726f746f1a40676f6f676c652f61" . + "64732f676f6f676c656164732f76322f73657276696365732f61645f6772" . + "6f75705f61645f6c6162656c5f736572766963652e70726f746f1a3a676f" . + "6f676c652f6164732f676f6f676c656164732f76322f7365727669636573" . + "2f61645f67726f75705f61645f736572766963652e70726f746f1a44676f" . + "6f676c652f6164732f676f6f676c656164732f76322f7365727669636573" . + "2f61645f67726f75705f6269645f6d6f6469666965725f73657276696365" . + "2e70726f746f1a47676f6f676c652f6164732f676f6f676c656164732f76" . + "322f73657276696365732f61645f67726f75705f637269746572696f6e5f" . + "6c6162656c5f736572766963652e70726f746f1a41676f6f676c652f6164" . + "732f676f6f676c656164732f76322f73657276696365732f61645f67726f" . + "75705f637269746572696f6e5f736572766963652e70726f746f1a49676f" . + "6f676c652f6164732f676f6f676c656164732f76322f7365727669636573" . + "2f61645f67726f75705f657874656e73696f6e5f73657474696e675f7365" . + "72766963652e70726f746f1a3c676f6f676c652f6164732f676f6f676c65" . + "6164732f76322f73657276696365732f61645f67726f75705f666565645f" . + "736572766963652e70726f746f1a3d676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f73657276696365732f61645f67726f75705f6c6162" . + "656c5f736572766963652e70726f746f1a37676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f73657276696365732f61645f67726f75705f" . + "736572766963652e70726f746f1a3b676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f73657276696365732f61645f706172616d65746572" . + "5f736572766963652e70726f746f1a34676f6f676c652f6164732f676f6f" . + "676c656164732f76322f73657276696365732f61737365745f7365727669" . + "63652e70726f746f1a3f676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f73657276696365732f62696464696e675f73747261746567795f" . + "736572766963652e70726f746f1a44676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f73657276696365732f63616d706169676e5f626964" . + "5f6d6f6469666965725f736572766963652e70726f746f1a3e676f6f676c" . + "652f6164732f676f6f676c656164732f76322f73657276696365732f6361" . + "6d706169676e5f6275646765745f736572766963652e70726f746f1a4167" . + "6f6f676c652f6164732f676f6f676c656164732f76322f73657276696365" . + "732f63616d706169676e5f637269746572696f6e5f736572766963652e70" . + "726f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f" . + "73657276696365732f63616d706169676e5f64726166745f736572766963" . + "652e70726f746f1a42676f6f676c652f6164732f676f6f676c656164732f" . + "76322f73657276696365732f63616d706169676e5f6578706572696d656e" . + "745f736572766963652e70726f746f1a49676f6f676c652f6164732f676f" . + "6f676c656164732f76322f73657276696365732f63616d706169676e5f65" . + "7874656e73696f6e5f73657474696e675f736572766963652e70726f746f" . + "1a3c676f6f676c652f6164732f676f6f676c656164732f76322f73657276" . + "696365732f63616d706169676e5f666565645f736572766963652e70726f" . + "746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f7365" . + "7276696365732f63616d706169676e5f6c6162656c5f736572766963652e" . + "70726f746f1a37676f6f676c652f6164732f676f6f676c656164732f7632" . + "2f73657276696365732f63616d706169676e5f736572766963652e70726f" . + "746f1a42676f6f676c652f6164732f676f6f676c656164732f76322f7365" . + "7276696365732f63616d706169676e5f7368617265645f7365745f736572" . + "766963652e70726f746f1a40676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f73657276696365732f636f6e76657273696f6e5f61637469" . + "6f6e5f736572766963652e70726f746f1a49676f6f676c652f6164732f67" . + "6f6f676c656164732f76322f73657276696365732f637573746f6d65725f" . + "657874656e73696f6e5f73657474696e675f736572766963652e70726f74" . + "6f1a3c676f6f676c652f6164732f676f6f676c656164732f76322f736572" . + "76696365732f637573746f6d65725f666565645f736572766963652e7072" . + "6f746f1a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f637573746f6d65725f6c6162656c5f73657276696365" . + "2e70726f746f1a4a676f6f676c652f6164732f676f6f676c656164732f76" . + "322f73657276696365732f637573746f6d65725f6e656761746976655f63" . + "7269746572696f6e5f736572766963652e70726f746f1a37676f6f676c65" . + "2f6164732f676f6f676c656164732f76322f73657276696365732f637573" . + "746f6d65725f736572766963652e70726f746f1a42676f6f676c652f6164" . + "732f676f6f676c656164732f76322f73657276696365732f657874656e73" . + "696f6e5f666565645f6974656d5f736572766963652e70726f746f1a3867" . + "6f6f676c652f6164732f676f6f676c656164732f76322f73657276696365" . + "732f666565645f6974656d5f736572766963652e70726f746f1a3f676f6f" . + "676c652f6164732f676f6f676c656164732f76322f73657276696365732f" . + "666565645f6974656d5f7461726765745f736572766963652e70726f746f" . + "1a3b676f6f676c652f6164732f676f6f676c656164732f76322f73657276" . + "696365732f666565645f6d617070696e675f736572766963652e70726f74" . + "6f1a33676f6f676c652f6164732f676f6f676c656164732f76322f736572" . + "76696365732f666565645f736572766963652e70726f746f1a34676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f73657276696365732f6c" . + "6162656c5f736572766963652e70726f746f1a39676f6f676c652f616473" . + "2f676f6f676c656164732f76322f73657276696365732f6d656469615f66" . + "696c655f736572766963652e70726f746f1a41676f6f676c652f6164732f" . + "676f6f676c656164732f76322f73657276696365732f72656d61726b6574" . + "696e675f616374696f6e5f736572766963652e70726f746f1a3f676f6f67" . + "6c652f6164732f676f6f676c656164732f76322f73657276696365732f73" . + "68617265645f637269746572696f6e5f736572766963652e70726f746f1a" . + "39676f6f676c652f6164732f676f6f676c656164732f76322f7365727669" . + "6365732f7368617265645f7365745f736572766963652e70726f746f1a38" . + "676f6f676c652f6164732f676f6f676c656164732f76322f736572766963" . + "65732f757365725f6c6973745f736572766963652e70726f746f1a1c676f" . + "6f676c652f6170692f616e6e6f746174696f6e732e70726f746f1a20676f" . + "6f676c652f70726f746f6275662f6669656c645f6d61736b2e70726f746f" . + "1a17676f6f676c652f7270632f7374617475732e70726f746f1a17676f6f" . + "676c652f6170692f636c69656e742e70726f746f2296010a165365617263" . + "68476f6f676c654164735265717565737412130a0b637573746f6d65725f" . + "6964180120012809120d0a05717565727918022001280912120a0a706167" . + "655f746f6b656e18032001280912110a09706167655f73697a6518042001" . + "280512150a0d76616c69646174655f6f6e6c79180520012808121a0a1272" . + "657475726e5f73756d6d6172795f726f771806200128082285020a175365" . + "61726368476f6f676c65416473526573706f6e7365123f0a07726573756c" . + "747318012003280b322e2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e476f6f676c65416473526f7712170a0f" . + "6e6578745f706167655f746f6b656e180220012809121b0a13746f74616c" . + "5f726573756c74735f636f756e74180320012803122e0a0a6669656c645f" . + "6d61736b18052001280b321a2e676f6f676c652e70726f746f6275662e46" . + "69656c644d61736b12430a0b73756d6d6172795f726f7718062001280b32" . + "2e2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e476f6f676c65416473526f77228b3d0a0c476f6f676c654164" . + "73526f7712480a0e6163636f756e745f627564676574182a2001280b3230" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e4163636f756e7442756467657412590a176163636f756e745f" . + "6275646765745f70726f706f73616c182b2001280b32382e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4163" . + "636f756e7442756467657450726f706f73616c123c0a0861645f67726f75" . + "7018032001280b322a2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365732e416447726f757012410a0b61645f6772" . + "6f75705f616418102001280b322c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e416447726f757041641256" . + "0a1661645f67726f75705f61645f61737365745f76696577188301200128" . + "0b32352e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e416447726f75704164417373657456696577124c0a11" . + "61645f67726f75705f61645f6c6162656c18782001280b32312e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "416447726f757041644c6162656c12560a1661645f67726f75705f617564" . + "69656e63655f7669657718392001280b32362e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e416447726f7570" . + "41756469656e63655669657712540a1561645f67726f75705f6269645f6d" . + "6f64696669657218182001280b32352e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e416447726f7570426964" . + "4d6f646966696572124f0a1261645f67726f75705f637269746572696f6e" . + "18112001280b32332e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e416447726f7570437269746572696f6e12" . + "5a0a1861645f67726f75705f637269746572696f6e5f6c6162656c187920" . + "01280b32382e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e416447726f7570437269746572696f6e4c616265" . + "6c12640a1d61645f67726f75705f637269746572696f6e5f73696d756c61" . + "74696f6e186e2001280b323d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e416447726f7570437269746572" . + "696f6e53696d756c6174696f6e125e0a1a61645f67726f75705f65787465" . + "6e73696f6e5f73657474696e6718702001280b323a2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e41644772" . + "6f7570457874656e73696f6e53657474696e6712450a0d61645f67726f75" . + "705f6665656418432001280b322e2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e416447726f757046656564" . + "12470a0e61645f67726f75705f6c6162656c18732001280b322f2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e416447726f75704c6162656c12510a1361645f67726f75705f73696d75" . + "6c6174696f6e186b2001280b32342e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e416447726f757053696d75" . + "6c6174696f6e12450a0c61645f706172616d657465721882012001280b32" . + "2e2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e4164506172616d6574657212470a0e6167655f72616e6765" . + "5f7669657718302001280b322f2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e41676552616e676556696577" . + "124b0a1061645f7363686564756c655f7669657718592001280b32312e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e41645363686564756c6556696577124a0a0f646f6d61696e5f6361" . + "7465676f7279185b2001280b32312e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e446f6d61696e4361746567" . + "6f727912370a05617373657418692001280b32282e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7265736f75726365732e4173736574" . + "124c0a1062696464696e675f737472617465677918122001280b32322e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e42696464696e67537472617465677912460a0d62696c6c696e675f" . + "736574757018292001280b322f2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e42696c6c696e675365747570" . + "124a0a0f63616d706169676e5f62756467657418132001280b32312e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e43616d706169676e427564676574123d0a0863616d706169676e1802" . + "2001280b322b2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e43616d706169676e12570a1663616d70616967" . + "6e5f61756469656e63655f7669657718452001280b32372e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4361" . + "6d706169676e41756469656e63655669657712550a1563616d706169676e" . + "5f6269645f6d6f646966696572181a2001280b32362e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e43616d70" . + "6169676e4269644d6f64696669657212500a1263616d706169676e5f6372" . + "69746572696f6e18142001280b32342e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e43616d706169676e4372" . + "69746572696f6e12650a1d63616d706169676e5f637269746572696f6e5f" . + "73696d756c6174696f6e186f2001280b323e2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e43616d70616967" . + "6e437269746572696f6e53696d756c6174696f6e12480a0e63616d706169" . + "676e5f647261667418312001280b32302e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f75726365732e43616d706169676e44" . + "7261667412520a1363616d706169676e5f6578706572696d656e74185420" . + "01280b32352e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e43616d706169676e4578706572696d656e74125f" . + "0a1a63616d706169676e5f657874656e73696f6e5f73657474696e671871" . + "2001280b323b2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e43616d706169676e457874656e73696f6e5365" . + "7474696e6712460a0d63616d706169676e5f66656564183f2001280b322f" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e43616d706169676e4665656412480a0e63616d706169676e5f" . + "6c6162656c186c2001280b32302e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e43616d706169676e4c616265" . + "6c12510a1363616d706169676e5f7368617265645f736574181e2001280b" . + "32342e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e43616d706169676e536861726564536574124c0a106361" . + "72726965725f636f6e7374616e7418422001280b32322e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e436172" . + "72696572436f6e7374616e7412460a0d6368616e67655f73746174757318" . + "252001280b322f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e4368616e6765537461747573124e0a11636f" . + "6e76657273696f6e5f616374696f6e18672001280b32332e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e436f" . + "6e76657273696f6e416374696f6e12400a0a636c69636b5f76696577187a" . + "2001280b322c2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e436c69636b56696577124a0a0f637573746f6d" . + "5f696e74657265737418682001280b32312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e437573746f6d496e" . + "746572657374123d0a08637573746f6d657218012001280b322b2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e437573746f6d657212550a15637573746f6d65725f6d616e616765725f" . + "6c696e6b183d2001280b32362e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e437573746f6d65724d616e6167" . + "65724c696e6b12530a14637573746f6d65725f636c69656e745f6c696e6b" . + "183e2001280b32352e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e437573746f6d6572436c69656e744c696e" . + "6b124a0a0f637573746f6d65725f636c69656e7418462001280b32312e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e437573746f6d6572436c69656e74125f0a1a637573746f6d65725f" . + "657874656e73696f6e5f73657474696e6718722001280b323b2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "437573746f6d6572457874656e73696f6e53657474696e6712460a0d6375" . + "73746f6d65725f6665656418402001280b322f2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e437573746f6d" . + "65724665656412480a0e637573746f6d65725f6c6162656c187c2001280b" . + "32302e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e437573746f6d65724c6162656c12610a1b637573746f6d" . + "65725f6e656761746976655f637269746572696f6e18582001280b323c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e437573746f6d65724e65676174697665437269746572696f6e12" . + "550a1564657461696c5f706c6163656d656e745f7669657718762001280b" . + "32362e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e44657461696c506c6163656d656e745669657712530a14" . + "646973706c61795f6b6579776f72645f76696577182f2001280b32352e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e446973706c61794b6579776f72645669657712470a0d6469737461" . + "6e63655f766965771884012001280b322f2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e44697374616e6365" . + "56696577126e0a2364796e616d69635f7365617263685f6164735f736561" . + "7263685f7465726d5f76696577186a2001280b32412e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e44796e61" . + "6d69635365617263684164735365617263685465726d56696577125f0a1a" . + "657870616e6465645f6c616e64696e675f706167655f7669657718800120" . + "01280b323a2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e457870616e6465644c616e64696e675061676556" . + "69657712510a13657874656e73696f6e5f666565645f6974656d18552001" . + "280b32342e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e457874656e73696f6e466565644974656d12350a04" . + "66656564182e2001280b32272e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e46656564123e0a09666565645f" . + "6974656d18322001280b322b2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e466565644974656d124b0a1066" . + "6565645f6974656d5f74617267657418742001280b32312e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4665" . + "65644974656d54617267657412440a0c666565645f6d617070696e67183a" . + "2001280b322e2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e466565644d617070696e6712550a1566656564" . + "5f706c616365686f6c6465725f7669657718612001280b32362e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "46656564506c616365686f6c6465725669657712420a0b67656e6465725f" . + "7669657718282001280b322d2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e47656e6465725669657712510a" . + "1367656f5f7461726765745f636f6e7374616e7418172001280b32342e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e47656f546172676574436f6e7374616e74124a0a0f67656f677261" . + "706869635f76696577187d2001280b32312e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e47656f6772617068" . + "69635669657712530a1467726f75705f706c6163656d656e745f76696577" . + "18772001280b32352e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e47726f7570506c6163656d656e74566965" . + "77124b0a10686f74656c5f67726f75705f7669657718332001280b32312e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e486f74656c47726f75705669657712570a16686f74656c5f7065" . + "72666f726d616e63655f7669657718472001280b32372e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e486f74" . + "656c506572666f726d616e63655669657712440a0c6b6579776f72645f76" . + "69657718152001280b322e2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e4b6579776f72645669657712440a" . + "0c6b6579776f72645f706c616e18202001280b322e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e4b657977" . + "6f7264506c616e12550a156b6579776f72645f706c616e5f63616d706169" . + "676e18212001280b32362e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e4b6579776f7264506c616e43616d70" . + "6169676e12640a1d6b6579776f72645f706c616e5f6e656761746976655f" . + "6b6579776f726418222001280b323d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e4b6579776f7264506c61" . + "6e4e656761746976654b6579776f726412540a156b6579776f72645f706c" . + "616e5f61645f67726f757018232001280b32352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e4b6579776f72" . + "64506c616e416447726f757012530a146b6579776f72645f706c616e5f6b" . + "6579776f726418242001280b32352e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e4b6579776f7264506c616e" . + "4b6579776f726412370a056c6162656c18342001280b32282e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e4c" . + "6162656c124d0a116c616e64696e675f706167655f76696577187e200128" . + "0b32322e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e4c616e64696e675061676556696577124e0a116c616e" . + "67756167655f636f6e7374616e7418372001280b32332e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e4c616e" . + "6775616765436f6e7374616e7412460a0d6c6f636174696f6e5f76696577" . + "187b2001280b322f2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e4c6f636174696f6e5669657712570a166d" . + "616e616765645f706c6163656d656e745f7669657718352001280b32372e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e7265736f7572" . + "6365732e4d616e61676564506c6163656d656e745669657712400a0a6d65" . + "6469615f66696c65185a2001280b322c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f75726365732e4d6564696146696c65" . + "12620a1c6d6f62696c655f6170705f63617465676f72795f636f6e737461" . + "6e7418572001280b323c2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e7265736f75726365732e4d6f62696c6541707043617465676f" . + "7279436f6e7374616e7412570a166d6f62696c655f6465766963655f636f" . + "6e7374616e7418622001280b32372e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e4d6f62696c654465766963" . + "65436f6e7374616e7412400a0a6d75746174655f6a6f62187f2001280b32" . + "2c2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e4d75746174654a6f62126c0a216f7065726174696e675f73" . + "797374656d5f76657273696f6e5f636f6e7374616e7418562001280b3241" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e4f7065726174696e6753797374656d56657273696f6e436f6e" . + "7374616e7412640a1d706169645f6f7267616e69635f7365617263685f74" . + "65726d5f766965771881012001280b323c2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e506169644f726761" . + "6e69635365617263685465726d5669657712530a14706172656e74616c5f" . + "7374617475735f76696577182d2001280b32352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e506172656e74" . + "616c53746174757356696577126c0a2170726f647563745f62696464696e" . + "675f63617465676f72795f636f6e7374616e74186d2001280b32412e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e50726f6475637442696464696e6743617465676f7279436f6e737461" . + "6e74124f0a1270726f647563745f67726f75705f7669657718362001280b" . + "32332e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e50726f6475637447726f75705669657712490a0e726563" . + "6f6d6d656e646174696f6e18162001280b32312e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e5265636f6d6d" . + "656e646174696f6e124b0a107365617263685f7465726d5f766965771844" . + "2001280b32312e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e5365617263685465726d56696577124c0a1073" . + "68617265645f637269746572696f6e181d2001280b32322e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e5368" . + "61726564437269746572696f6e12400a0a7368617265645f736574181b20" . + "01280b322c2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "7265736f75726365732e536861726564536574125d0a1973686f7070696e" . + "675f706572666f726d616e63655f7669657718752001280b323a2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e53686f7070696e67506572666f726d616e63655669657712400a0a746f" . + "7069635f76696577182c2001280b322c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7265736f75726365732e546f70696356696577" . + "12460a0d757365725f696e746572657374183b2001280b322f2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "55736572496e746572657374123e0a09757365725f6c6973741826200128" . + "0b322b2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e557365724c69737412500a12757365725f6c6f636174" . + "696f6e5f766965771887012001280b32332e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e7265736f75726365732e557365724c6f6361" . + "74696f6e5669657712500a1272656d61726b6574696e675f616374696f6e" . + "183c2001280b32342e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e52656d61726b6574696e67416374696f6e" . + "12480a0e746f7069635f636f6e7374616e74181f2001280b32302e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e7265736f7572636573" . + "2e546f706963436f6e7374616e7412370a05766964656f18272001280b32" . + "282e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e566964656f12380a076d65747269637318042001280b3227" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f" . + "6e2e4d657472696373123a0a087365676d656e747318662001280b32282e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e636f6d6d6f6e" . + "2e5365676d656e747322ab010a164d7574617465476f6f676c6541647352" . + "65717565737412130a0b637573746f6d65725f6964180120012809124c0a" . + "116d75746174655f6f7065726174696f6e7318022003280b32312e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4d75746174654f7065726174696f6e12170a0f7061727469616c5f666169" . + "6c75726518032001280812150a0d76616c69646174655f6f6e6c79180420" . + "01280822ab010a174d7574617465476f6f676c65416473526573706f6e73" . + "6512310a157061727469616c5f6661696c7572655f6572726f7218032001" . + "280b32122e676f6f676c652e7270632e537461747573125d0a1a6d757461" . + "74655f6f7065726174696f6e5f726573706f6e73657318012003280b3239" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d75746174654f7065726174696f6e526573706f6e736522b01d" . + "0a0f4d75746174654f7065726174696f6e12600a1b61645f67726f75705f" . + "61645f6c6162656c5f6f7065726174696f6e18112001280b32392e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "416447726f757041644c6162656c4f7065726174696f6e480012550a1561" . + "645f67726f75705f61645f6f7065726174696f6e18012001280b32342e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e416447726f757041644f7065726174696f6e480012680a1f61645f67" . + "726f75705f6269645f6d6f6469666965725f6f7065726174696f6e180220" . + "01280b323d2e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e416447726f75704269644d6f6469666965724f7065" . + "726174696f6e4800126e0a2261645f67726f75705f637269746572696f6e" . + "5f6c6162656c5f6f7065726174696f6e18122001280b32402e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4164" . + "47726f7570437269746572696f6e4c6162656c4f7065726174696f6e4800" . + "12630a1c61645f67726f75705f637269746572696f6e5f6f706572617469" . + "6f6e18032001280b323b2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e416447726f7570437269746572696f6e" . + "4f7065726174696f6e480012720a2461645f67726f75705f657874656e73" . + "696f6e5f73657474696e675f6f7065726174696f6e18132001280b32422e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e416447726f7570457874656e73696f6e53657474696e674f706572" . + "6174696f6e480012590a1761645f67726f75705f666565645f6f70657261" . + "74696f6e18142001280b32362e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e416447726f7570466565644f7065" . + "726174696f6e4800125b0a1861645f67726f75705f6c6162656c5f6f7065" . + "726174696f6e18152001280b32372e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e416447726f75704c6162656c" . + "4f7065726174696f6e480012500a1261645f67726f75705f6f7065726174" . + "696f6e18052001280b32322e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e416447726f75704f7065726174696f" . + "6e480012580a1661645f706172616d657465725f6f7065726174696f6e18" . + "162001280b32362e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4164506172616d657465724f7065726174696f" . + "6e4800124b0a0f61737365745f6f7065726174696f6e18172001280b3230" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e41737365744f7065726174696f6e480012600a1a62696464696e" . + "675f73747261746567795f6f7065726174696f6e18062001280b323a2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e42696464696e6753747261746567794f7065726174696f6e48001269" . + "0a1f63616d706169676e5f6269645f6d6f6469666965725f6f7065726174" . + "696f6e18072001280b323e2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e43616d706169676e4269644d6f6469" . + "666965724f7065726174696f6e4800125e0a1963616d706169676e5f6275" . + "646765745f6f7065726174696f6e18082001280b32392e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e43616d70" . + "6169676e4275646765744f7065726174696f6e480012640a1c63616d7061" . + "69676e5f637269746572696f6e5f6f7065726174696f6e180d2001280b32" . + "3c2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e43616d706169676e437269746572696f6e4f7065726174696f" . + "6e4800125c0a1863616d706169676e5f64726166745f6f7065726174696f" . + "6e18182001280b32382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e43616d706169676e44726166744f706572" . + "6174696f6e480012660a1d63616d706169676e5f6578706572696d656e74" . + "5f6f7065726174696f6e18192001280b323d2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e43616d706169676e" . + "4578706572696d656e744f7065726174696f6e480012730a2463616d7061" . + "69676e5f657874656e73696f6e5f73657474696e675f6f7065726174696f" . + "6e181a2001280b32432e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e43616d706169676e457874656e73696f6e" . + "53657474696e674f7065726174696f6e4800125a0a1763616d706169676e" . + "5f666565645f6f7065726174696f6e181b2001280b32372e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e43616d" . + "706169676e466565644f7065726174696f6e4800125c0a1863616d706169" . + "676e5f6c6162656c5f6f7065726174696f6e181c2001280b32382e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "43616d706169676e4c6162656c4f7065726174696f6e480012510a126361" . + "6d706169676e5f6f7065726174696f6e180a2001280b32332e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4361" . + "6d706169676e4f7065726174696f6e480012650a1d63616d706169676e5f" . + "7368617265645f7365745f6f7065726174696f6e180b2001280b323c2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e43616d706169676e5368617265645365744f7065726174696f6e4800" . + "12620a1b636f6e76657273696f6e5f616374696f6e5f6f7065726174696f" . + "6e180c2001280b323b2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e436f6e76657273696f6e416374696f6e4f" . + "7065726174696f6e480012730a24637573746f6d65725f657874656e7369" . + "6f6e5f73657474696e675f6f7065726174696f6e181e2001280b32432e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e437573746f6d6572457874656e73696f6e53657474696e674f706572" . + "6174696f6e4800125a0a17637573746f6d65725f666565645f6f70657261" . + "74696f6e181f2001280b32372e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e437573746f6d6572466565644f70" . + "65726174696f6e4800125c0a18637573746f6d65725f6c6162656c5f6f70" . + "65726174696f6e18202001280b32382e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e437573746f6d65724c6162" . + "656c4f7065726174696f6e480012750a25637573746f6d65725f6e656761" . + "746976655f637269746572696f6e5f6f7065726174696f6e18222001280b" . + "32442e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e437573746f6d65724e65676174697665437269746572696f" . + "6e4f7065726174696f6e480012510a12637573746f6d65725f6f70657261" . + "74696f6e18232001280b32332e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e437573746f6d65724f7065726174" . + "696f6e480012650a1d657874656e73696f6e5f666565645f6974656d5f6f" . + "7065726174696f6e18242001280b323c2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e457874656e73696f6e46" . + "6565644974656d4f7065726174696f6e480012520a13666565645f697465" . + "6d5f6f7065726174696f6e18252001280b32332e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e46656564497465" . + "6d4f7065726174696f6e4800125f0a1a666565645f6974656d5f74617267" . + "65745f6f7065726174696f6e18262001280b32392e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e466565644974" . + "656d5461726765744f7065726174696f6e480012580a16666565645f6d61" . + "7070696e675f6f7065726174696f6e18272001280b32362e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e466565" . + "644d617070696e674f7065726174696f6e480012490a0e666565645f6f70" . + "65726174696f6e18282001280b322f2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e466565644f706572617469" . + "6f6e4800124b0a0f6c6162656c5f6f7065726174696f6e18292001280b32" . + "302e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4c6162656c4f7065726174696f6e480012540a146d65646961" . + "5f66696c655f6f7065726174696f6e182a2001280b32342e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d6564" . + "696146696c654f7065726174696f6e480012640a1c72656d61726b657469" . + "6e675f616374696f6e5f6f7065726174696f6e182b2001280b323c2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e52656d61726b6574696e67416374696f6e4f7065726174696f6e480012" . + "600a1a7368617265645f637269746572696f6e5f6f7065726174696f6e18" . + "0e2001280b323a2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e536861726564437269746572696f6e4f706572" . + "6174696f6e480012540a147368617265645f7365745f6f7065726174696f" . + "6e180f2001280b32342e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e5368617265645365744f7065726174696f" . + "6e480012520a13757365725f6c6973745f6f7065726174696f6e18102001" . + "280b32332e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e557365724c6973744f7065726174696f6e4800420b0a" . + "096f7065726174696f6e22b61d0a174d75746174654f7065726174696f6e" . + "526573706f6e736512600a1861645f67726f75705f61645f6c6162656c5f" . + "726573756c7418112001280b323c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4d7574617465416447726f75" . + "7041644c6162656c526573756c74480012550a1261645f67726f75705f61" . + "645f726573756c7418012001280b32372e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746541644772" . + "6f75704164526573756c74480012680a1c61645f67726f75705f6269645f" . + "6d6f6469666965725f726573756c7418022001280b32402e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "617465416447726f75704269644d6f646966696572526573756c74480012" . + "6e0a1f61645f67726f75705f637269746572696f6e5f6c6162656c5f7265" . + "73756c7418122001280b32432e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d7574617465416447726f757043" . + "7269746572696f6e4c6162656c526573756c74480012630a1961645f6772" . + "6f75705f637269746572696f6e5f726573756c7418032001280b323e2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d7574617465416447726f7570437269746572696f6e526573756c74" . + "480012720a2161645f67726f75705f657874656e73696f6e5f7365747469" . + "6e675f726573756c7418132001280b32452e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4d7574617465416447" . + "726f7570457874656e73696f6e53657474696e67526573756c7448001259" . + "0a1461645f67726f75705f666565645f726573756c7418142001280b3239" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d7574617465416447726f757046656564526573756c74480012" . + "5b0a1561645f67726f75705f6c6162656c5f726573756c7418152001280b" . + "323a2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e4d7574617465416447726f75704c6162656c526573756c74" . + "480012500a0f61645f67726f75705f726573756c7418052001280b32352e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d7574617465416447726f7570526573756c74480012580a136164" . + "5f706172616d657465725f726573756c7418162001280b32392e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "75746174654164506172616d65746572526573756c744800124b0a0c6173" . + "7365745f726573756c7418172001280b32332e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4d75746174654173" . + "736574526573756c74480012600a1762696464696e675f73747261746567" . + "795f726573756c7418062001280b323d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746542696464" . + "696e675374726174656779526573756c74480012690a1c63616d70616967" . + "6e5f6269645f6d6f6469666965725f726573756c7418072001280b32412e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d757461746543616d706169676e4269644d6f6469666965725265" . + "73756c744800125e0a1663616d706169676e5f6275646765745f72657375" . + "6c7418082001280b323c2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d757461746543616d706169676e4275" . + "64676574526573756c74480012640a1963616d706169676e5f6372697465" . + "72696f6e5f726573756c74180d2001280b323f2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d757461746543" . + "616d706169676e437269746572696f6e526573756c744800125c0a156361" . + "6d706169676e5f64726166745f726573756c7418182001280b323b2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d757461746543616d706169676e4472616674526573756c7448001266" . + "0a1a63616d706169676e5f6578706572696d656e745f726573756c741819" . + "2001280b32402e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d757461746543616d706169676e457870657269" . + "6d656e74526573756c74480012730a2163616d706169676e5f657874656e" . + "73696f6e5f73657474696e675f726573756c74181a2001280b32462e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d757461746543616d706169676e457874656e73696f6e53657474696e" . + "67526573756c744800125a0a1463616d706169676e5f666565645f726573" . + "756c74181b2001280b323a2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d757461746543616d706169676e46" . + "656564526573756c744800125c0a1563616d706169676e5f6c6162656c5f" . + "726573756c74181c2001280b323b2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4d757461746543616d706169" . + "676e4c6162656c526573756c74480012510a0f63616d706169676e5f7265" . + "73756c74180a2001280b32362e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d757461746543616d706169676e" . + "526573756c74480012650a1a63616d706169676e5f7368617265645f7365" . + "745f726573756c74180b2001280b323f2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543616d70" . + "6169676e536861726564536574526573756c74480012620a18636f6e7665" . + "7273696f6e5f616374696f6e5f726573756c74180c2001280b323e2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d7574617465436f6e76657273696f6e416374696f6e526573756c7448" . + "0012730a21637573746f6d65725f657874656e73696f6e5f73657474696e" . + "675f726573756c74181e2001280b32462e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d757461746543757374" . + "6f6d6572457874656e73696f6e53657474696e67526573756c744800125a" . + "0a14637573746f6d65725f666565645f726573756c74181f2001280b323a" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d7574617465437573746f6d657246656564526573756c744800" . + "125c0a15637573746f6d65725f6c6162656c5f726573756c741820200128" . + "0b323b2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4d7574617465437573746f6d65724c6162656c52657375" . + "6c74480012740a22637573746f6d65725f6e656761746976655f63726974" . + "6572696f6e5f726573756c7418222001280b32462e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4d7574617465" . + "437573746f6d65724e656761746976654372697465726961526573756c74" . + "480012510a0f637573746f6d65725f726573756c7418232001280b32362e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d7574617465437573746f6d6572526573756c74480012650a1a65" . + "7874656e73696f6e5f666565645f6974656d5f726573756c741824200128" . + "0b323f2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4d7574617465457874656e73696f6e466565644974656d" . + "526573756c74480012520a10666565645f6974656d5f726573756c741825" . + "2001280b32362e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d7574617465466565644974656d526573756c74" . + "4800125f0a17666565645f6974656d5f7461726765745f726573756c7418" . + "262001280b323c2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d7574617465466565644974656d5461726765" . + "74526573756c74480012580a13666565645f6d617070696e675f72657375" . + "6c7418272001280b32392e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d7574617465466565644d617070696e" . + "67526573756c74480012490a0b666565645f726573756c7418282001280b" . + "32322e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e4d757461746546656564526573756c744800124b0a0c6c61" . + "62656c5f726573756c7418292001280b32332e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4d75746174654c61" . + "62656c526573756c74480012540a116d656469615f66696c655f72657375" . + "6c74182a2001280b32372e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d75746174654d6564696146696c6552" . + "6573756c74480012640a1972656d61726b6574696e675f616374696f6e5f" . + "726573756c74182b2001280b323f2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4d757461746552656d61726b" . + "6574696e67416374696f6e526573756c74480012600a177368617265645f" . + "637269746572696f6e5f726573756c74180e2001280b323d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d75" . + "74617465536861726564437269746572696f6e526573756c74480012540a" . + "117368617265645f7365745f726573756c74180f2001280b32372e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4d7574617465536861726564536574526573756c74480012520a10757365" . + "725f6c6973745f726573756c7418102001280b32362e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4d75746174" . + "65557365724c697374526573756c744800420a0a08726573706f6e736532" . + "a5030a10476f6f676c654164735365727669636512b8010a065365617263" . + "6812382e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e536561726368476f6f676c65416473526571756573741a" . + "392e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e536561726368476f6f676c65416473526573706f6e73652239" . + "82d3e4930233222e2f76322f637573746f6d6572732f7b637573746f6d65" . + "725f69643d2a7d2f676f6f676c654164733a7365617263683a012a12b801" . + "0a064d757461746512382e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d7574617465476f6f676c6541647352" . + "6571756573741a392e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e4d7574617465476f6f676c65416473526573" . + "706f6e7365223982d3e4930233222e2f76322f637573746f6d6572732f7b" . + "637573746f6d65725f69643d2a7d2f676f6f676c654164733a6d75746174" . + "653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d42fc010a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365734215476f6f676c654164735365727669" . + "636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f73657276696365733b7365727669636573a20203474141aa" . + "0220476f6f676c652e4164732e476f6f676c654164732e56322e53657276" . + "69636573ca0220476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewService.php new file mode 100644 index 000000000..b0570b9b6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af0050a43676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f67726f75705f706c6163656d656e745f766965775f73" . + "6572766963652e70726f746f1220676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22350a1c47657447726f7570506c6163656d65" . + "6e74566965775265717565737412150a0d7265736f757263655f6e616d65" . + "1801200128093288020a1947726f7570506c6163656d656e745669657753" . + "65727669636512cd010a1547657447726f7570506c6163656d656e745669" . + "6577123e2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e47657447726f7570506c6163656d656e745669657752" . + "6571756573741a352e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e47726f7570506c6163656d656e74566965" . + "77223d82d3e493023712352f76322f7b7265736f757263655f6e616d653d" . + "637573746f6d6572732f2a2f67726f7570506c6163656d656e7456696577" . + "732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d4285020a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7365727669636573421e47726f7570506c6163656d656e74" . + "566965775365727669636550726f746f50015a48676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f73657276696365733b736572766963" . + "6573a20203474141aa0220476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5365727669636573ca0220476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5365727669636573ea0224476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a5365727669636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/HotelGroupViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/HotelGroupViewService.php new file mode 100644 index 000000000..7cede53c0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/HotelGroupViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad0050a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f686f74656c5f67726f75705f766965775f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22310a18476574486f74656c47726f7570566965775265" . + "717565737412150a0d7265736f757263655f6e616d6518012001280932f4" . + "010a15486f74656c47726f7570566965775365727669636512bd010a1147" . + "6574486f74656c47726f757056696577123a2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e476574486f74656c" . + "47726f757056696577526571756573741a312e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e486f74656c4772" . + "6f757056696577223982d3e493023312312f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f686f74656c47726f75705669" . + "6577732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4281020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421a486f74656c47726f75705669" . + "65775365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewService.php new file mode 100644 index 000000000..1e544fe6f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0afd050a45676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f686f74656c5f706572666f726d616e63655f76696577" . + "5f736572766963652e70726f746f1220676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f22370a1e476574486f74656c506572666f" . + "726d616e6365566965775265717565737412150a0d7265736f757263655f" . + "6e616d65180120012809328f020a1b486f74656c506572666f726d616e63" . + "65566965775365727669636512d2010a17476574486f74656c506572666f" . + "726d616e63655669657712402e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e476574486f74656c506572666f72" . + "6d616e636556696577526571756573741a372e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e486f74656c5065" . + "72666f726d616e636556696577223c82d3e493023612342f76322f7b7265" . + "736f757263655f6e616d653d637573746f6d6572732f2a2f686f74656c50" . + "6572666f726d616e6365566965777d1a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d4287020a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365734220486f74" . + "656c506572666f726d616e6365566965775365727669636550726f746f50" . + "015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f" . + "676f6f676c65617069732f6164732f676f6f676c656164732f76322f7365" . + "7276696365733b7365727669636573a20203474141aa0220476f6f676c65" . + "2e4164732e476f6f676c654164732e56322e5365727669636573ca022047" . + "6f6f676c655c4164735c476f6f676c654164735c56325c53657276696365" . + "73ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a5632" . + "3a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupService.php new file mode 100644 index 000000000..5fd194c38 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupService.php @@ -0,0 +1,86 @@ +internalAddGeneratedFile(hex2bin( + "0abc0d0a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f706c616e5f61645f67726f75705f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f74" . + "6f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f" . + "7270632f7374617475732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22350a1c4765744b6579776f7264506c616e41" . + "6447726f75705265717565737412150a0d7265736f757263655f6e616d65" . + "18012001280922ba010a204d75746174654b6579776f7264506c616e4164" . + "47726f7570735265717565737412130a0b637573746f6d65725f69641801" . + "2001280912510a0a6f7065726174696f6e7318022003280b323d2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4b6579776f7264506c616e416447726f75704f7065726174696f6e12170a" . + "0f7061727469616c5f6661696c75726518032001280812150a0d76616c69" . + "646174655f6f6e6c7918042001280822ff010a1b4b6579776f7264506c61" . + "6e416447726f75704f7065726174696f6e122f0a0b7570646174655f6d61" . + "736b18042001280b321a2e676f6f676c652e70726f746f6275662e466965" . + "6c644d61736b12470a0663726561746518012001280b32352e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e4b" . + "6579776f7264506c616e416447726f7570480012470a0675706461746518" . + "022001280b32352e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e4b6579776f7264506c616e416447726f7570" . + "480012100a0672656d6f76651803200128094800420b0a096f7065726174" . + "696f6e22a9010a214d75746174654b6579776f7264506c616e416447726f" . + "757073526573706f6e736512310a157061727469616c5f6661696c757265" . + "5f6572726f7218032001280b32122e676f6f676c652e7270632e53746174" . + "757312510a07726573756c747318022003280b32402e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4d75746174" . + "654b6579776f7264506c616e416447726f7570526573756c7422370a1e4d" . + "75746174654b6579776f7264506c616e416447726f7570526573756c7412" . + "150a0d7265736f757263655f6e616d6518012001280932f4030a194b6579" . + "776f7264506c616e416447726f75705365727669636512cd010a15476574" . + "4b6579776f7264506c616e416447726f7570123e2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4765744b6579" . + "776f7264506c616e416447726f7570526571756573741a352e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7265736f75726365732e4b" . + "6579776f7264506c616e416447726f7570223d82d3e493023712352f7632" . + "2f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f6b65" . + "79776f7264506c616e416447726f7570732f2a7d12e9010a194d75746174" . + "654b6579776f7264506c616e416447726f75707312422e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4d757461" . + "74654b6579776f7264506c616e416447726f757073526571756573741a43" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d75746174654b6579776f7264506c616e416447726f75707352" . + "6573706f6e7365224382d3e493023d22382f76322f637573746f6d657273" . + "2f7b637573746f6d65725f69643d2a7d2f6b6579776f7264506c616e4164" . + "47726f7570733a6d75746174653a012a1a1bca4118676f6f676c65616473" . + "2e676f6f676c65617069732e636f6d4285020a24636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7365727669636573421e4b65" . + "79776f7264506c616e416447726f75705365727669636550726f746f5001" . + "5a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f736572" . + "76696365733b7365727669636573a20203474141aa0220476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5365727669636573ca0220476f" . + "6f676c655c4164735c476f6f676c654164735c56325c5365727669636573" . + "ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignService.php new file mode 100644 index 000000000..dabef3d70 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignService.php @@ -0,0 +1,87 @@ +internalAddGeneratedFile(hex2bin( + "0acf0d0a44676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f706c616e5f63616d706169676e5f" . + "736572766963652e70726f746f1220676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365731a1c676f6f676c652f6170692f" . + "616e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f74" . + "6f6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f" . + "7270632f7374617475732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22360a1d4765744b6579776f7264506c616e43" . + "616d706169676e5265717565737412150a0d7265736f757263655f6e616d" . + "6518012001280922bc010a214d75746174654b6579776f7264506c616e43" . + "616d706169676e735265717565737412130a0b637573746f6d65725f6964" . + "18012001280912520a0a6f7065726174696f6e7318022003280b323e2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4b6579776f7264506c616e43616d706169676e4f7065726174696f6e" . + "12170a0f7061727469616c5f6661696c75726518032001280812150a0d76" . + "616c69646174655f6f6e6c791804200128082282020a1c4b6579776f7264" . + "506c616e43616d706169676e4f7065726174696f6e122f0a0b7570646174" . + "655f6d61736b18042001280b321a2e676f6f676c652e70726f746f627566" . + "2e4669656c644d61736b12480a0663726561746518012001280b32362e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e4b6579776f7264506c616e43616d706169676e480012480a067570" . + "6461746518022001280b32362e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e4b6579776f7264506c616e4361" . + "6d706169676e480012100a0672656d6f76651803200128094800420b0a09" . + "6f7065726174696f6e22ab010a224d75746174654b6579776f7264506c61" . + "6e43616d706169676e73526573706f6e736512310a157061727469616c5f" . + "6661696c7572655f6572726f7218032001280b32122e676f6f676c652e72" . + "70632e53746174757312520a07726573756c747318022003280b32412e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d75746174654b6579776f7264506c616e43616d706169676e526573" . + "756c7422380a1f4d75746174654b6579776f7264506c616e43616d706169" . + "676e526573756c7412150a0d7265736f757263655f6e616d651801200128" . + "0932fd030a1a4b6579776f7264506c616e43616d706169676e5365727669" . + "636512d1010a164765744b6579776f7264506c616e43616d706169676e12" . + "3f2e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4765744b6579776f7264506c616e43616d706169676e526571" . + "756573741a362e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e4b6579776f7264506c616e43616d706169676e" . + "223e82d3e493023812362f76322f7b7265736f757263655f6e616d653d63" . + "7573746f6d6572732f2a2f6b6579776f7264506c616e43616d706169676e" . + "732f2a7d12ed010a1a4d75746174654b6579776f7264506c616e43616d70" . + "6169676e7312432e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e4d75746174654b6579776f7264506c616e4361" . + "6d706169676e73526571756573741a442e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d75746174654b657977" . + "6f7264506c616e43616d706169676e73526573706f6e7365224482d3e493" . + "023e22392f76322f637573746f6d6572732f7b637573746f6d65725f6964" . + "3d2a7d2f6b6579776f7264506c616e43616d706169676e733a6d75746174" . + "653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d4286020a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7365727669636573421f4b6579776f7264506c616e43616d" . + "706169676e5365727669636550726f746f50015a48676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f73657276696365733b7365727669" . + "636573a20203474141aa0220476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e5365727669636573ca0220476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5365727669636573ea0224476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a53657276696365736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaService.php new file mode 100644 index 000000000..a8ec9a5ff --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaService.php @@ -0,0 +1,88 @@ +internalAddGeneratedFile(hex2bin( + "0af40d0a40676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f706c616e5f696465615f73657276" . + "6963652e70726f746f1220676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365731a38676f6f676c652f6164732f676f6f67" . + "6c656164732f76322f656e756d732f6b6579776f72645f706c616e5f6e65" . + "74776f726b2e70726f746f1a1c676f6f676c652f6170692f616e6e6f7461" . + "74696f6e732e70726f746f1a1e676f6f676c652f70726f746f6275662f77" . + "726170706572732e70726f746f1a17676f6f676c652f6170692f636c6965" . + "6e742e70726f746f22e9030a1b47656e65726174654b6579776f72644964" . + "6561735265717565737412130a0b637573746f6d65725f69641801200128" . + "09122e0a086c616e677561676518072001280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c7565123a0a1467656f5f746172" . + "6765745f636f6e7374616e747318082003280b321c2e676f6f676c652e70" . + "726f746f6275662e537472696e6756616c756512660a146b6579776f7264" . + "5f706c616e5f6e6574776f726b18092001280e32482e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e656e756d732e4b6579776f726450" . + "6c616e4e6574776f726b456e756d2e4b6579776f7264506c616e4e657477" . + "6f726b12530a146b6579776f72645f616e645f75726c5f73656564180220" . + "01280b32332e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e4b6579776f7264416e6455726c5365656448001245" . + "0a0c6b6579776f72645f7365656418032001280b322d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4b657977" . + "6f7264536565644800123d0a0875726c5f7365656418052001280b32292e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e55726c53656564480042060a0473656564226e0a114b6579776f72" . + "64416e6455726c5365656412290a0375726c18012001280b321c2e676f6f" . + "676c652e70726f746f6275662e537472696e6756616c7565122e0a086b65" . + "79776f72647318022003280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c7565223d0a0b4b6579776f726453656564122e0a" . + "086b6579776f72647318012003280b321c2e676f6f676c652e70726f746f" . + "6275662e537472696e6756616c756522340a0755726c5365656412290a03" . + "75726c18012001280b321c2e676f6f676c652e70726f746f6275662e5374" . + "72696e6756616c7565226b0a1b47656e65726174654b6579776f72644964" . + "6561526573706f6e7365124c0a07726573756c747318012003280b323b2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e47656e65726174654b6579776f726449646561526573756c7422a3" . + "010a1947656e65726174654b6579776f726449646561526573756c74122a" . + "0a047465787418022001280b321c2e676f6f676c652e70726f746f627566" . + "2e537472696e6756616c7565125a0a146b6579776f72645f696465615f6d" . + "65747269637318032001280b323c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e636f6d6d6f6e2e4b6579776f7264506c616e486973" . + "746f726963616c4d657472696373328b020a164b6579776f7264506c616e" . + "496465615365727669636512d3010a1447656e65726174654b6579776f72" . + "644964656173123d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365732e47656e65726174654b6579776f7264496465" . + "6173526571756573741a3d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e47656e65726174654b6579776f7264" . + "49646561526573706f6e7365223d82d3e493023722322f76322f63757374" . + "6f6d6572732f7b637573746f6d65725f69643d2a7d3a67656e6572617465" . + "4b6579776f726449646561733a012a1a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d4282020a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7365727669636573421b4b6579" . + "776f7264506c616e496465615365727669636550726f746f50015a48676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f73657276696365" . + "733b7365727669636573a20203474141aa0220476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5365727669636573ca0220476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5365727669636573ea022447" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a536572" . + "7669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordService.php new file mode 100644 index 000000000..cb1523cd7 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordService.php @@ -0,0 +1,86 @@ +internalAddGeneratedFile(hex2bin( + "0abb0d0a43676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f706c616e5f6b6579776f72645f73" . + "6572766963652e70726f746f1220676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f" . + "6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f72" . + "70632f7374617475732e70726f746f1a17676f6f676c652f6170692f636c" . + "69656e742e70726f746f22350a1c4765744b6579776f7264506c616e4b65" . + "79776f72645265717565737412150a0d7265736f757263655f6e616d6518" . + "012001280922ba010a204d75746174654b6579776f7264506c616e4b6579" . + "776f7264735265717565737412130a0b637573746f6d65725f6964180120" . + "01280912510a0a6f7065726174696f6e7318022003280b323d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4b" . + "6579776f7264506c616e4b6579776f72644f7065726174696f6e12170a0f" . + "7061727469616c5f6661696c75726518032001280812150a0d76616c6964" . + "6174655f6f6e6c7918042001280822ff010a1b4b6579776f7264506c616e" . + "4b6579776f72644f7065726174696f6e122f0a0b7570646174655f6d6173" . + "6b18042001280b321a2e676f6f676c652e70726f746f6275662e4669656c" . + "644d61736b12470a0663726561746518012001280b32352e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4b65" . + "79776f7264506c616e4b6579776f7264480012470a067570646174651802" . + "2001280b32352e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e7265736f75726365732e4b6579776f7264506c616e4b6579776f726448" . + "0012100a0672656d6f76651803200128094800420b0a096f706572617469" . + "6f6e22a9010a214d75746174654b6579776f7264506c616e4b6579776f72" . + "6473526573706f6e736512310a157061727469616c5f6661696c7572655f" . + "6572726f7218032001280b32122e676f6f676c652e7270632e5374617475" . + "7312510a07726573756c747318022003280b32402e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4d7574617465" . + "4b6579776f7264506c616e4b6579776f7264526573756c7422370a1e4d75" . + "746174654b6579776f7264506c616e4b6579776f7264526573756c741215" . + "0a0d7265736f757263655f6e616d6518012001280932f4030a194b657977" . + "6f7264506c616e4b6579776f72645365727669636512cd010a154765744b" . + "6579776f7264506c616e4b6579776f7264123e2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4765744b657977" . + "6f7264506c616e4b6579776f7264526571756573741a352e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4b65" . + "79776f7264506c616e4b6579776f7264223d82d3e493023712352f76322f" . + "7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f6b6579" . + "776f7264506c616e4b6579776f7264732f2a7d12e9010a194d7574617465" . + "4b6579776f7264506c616e4b6579776f72647312422e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4d75746174" . + "654b6579776f7264506c616e4b6579776f726473526571756573741a432e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d75746174654b6579776f7264506c616e4b6579776f7264735265" . + "73706f6e7365224382d3e493023d22382f76322f637573746f6d6572732f" . + "7b637573746f6d65725f69643d2a7d2f6b6579776f7264506c616e4b6579" . + "776f7264733a6d75746174653a012a1a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d4285020a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7365727669636573421e4b6579" . + "776f7264506c616e4b6579776f72645365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordService.php new file mode 100644 index 000000000..b04eec538 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordService.php @@ -0,0 +1,91 @@ +internalAddGeneratedFile(hex2bin( + "0adc0e0a4c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f706c616e5f6e656761746976655f" . + "6b6579776f72645f736572766963652e70726f746f1220676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365731a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f1a20676f6f" . + "676c652f70726f746f6275662f6669656c645f6d61736b2e70726f746f1a" . + "17676f6f676c652f7270632f7374617475732e70726f746f1a17676f6f67" . + "6c652f6170692f636c69656e742e70726f746f223d0a244765744b657977" . + "6f7264506c616e4e656761746976654b6579776f72645265717565737412" . + "150a0d7265736f757263655f6e616d6518012001280922ca010a284d7574" . + "6174654b6579776f7264506c616e4e656761746976654b6579776f726473" . + "5265717565737412130a0b637573746f6d65725f69641801200128091259" . + "0a0a6f7065726174696f6e7318022003280b32452e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4b6579776f72" . + "64506c616e4e656761746976654b6579776f72644f7065726174696f6e12" . + "170a0f7061727469616c5f6661696c75726518032001280812150a0d7661" . + "6c69646174655f6f6e6c791804200128082297020a234b6579776f726450" . + "6c616e4e656761746976654b6579776f72644f7065726174696f6e122f0a" . + "0b7570646174655f6d61736b18042001280b321a2e676f6f676c652e7072" . + "6f746f6275662e4669656c644d61736b124f0a0663726561746518012001" . + "280b323d2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e4b6579776f7264506c616e4e656761746976654b65" . + "79776f72644800124f0a0675706461746518022001280b323d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e7265736f75726365732e" . + "4b6579776f7264506c616e4e656761746976654b6579776f726448001210" . + "0a0672656d6f76651803200128094800420b0a096f7065726174696f6e22" . + "b9010a294d75746174654b6579776f7264506c616e4e656761746976654b" . + "6579776f726473526573706f6e736512310a157061727469616c5f666169" . + "6c7572655f6572726f7218032001280b32122e676f6f676c652e7270632e" . + "53746174757312590a07726573756c747318022003280b32482e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "75746174654b6579776f7264506c616e4e656761746976654b6579776f72" . + "64526573756c74223f0a264d75746174654b6579776f7264506c616e4e65" . + "6761746976654b6579776f7264526573756c7412150a0d7265736f757263" . + "655f6e616d6518012001280932bc040a214b6579776f7264506c616e4e65" . + "6761746976654b6579776f72645365727669636512ed010a1d4765744b65" . + "79776f7264506c616e4e656761746976654b6579776f726412462e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "4765744b6579776f7264506c616e4e656761746976654b6579776f726452" . + "6571756573741a3d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e4b6579776f7264506c616e4e6567617469" . + "76654b6579776f7264224582d3e493023f123d2f76322f7b7265736f7572" . + "63655f6e616d653d637573746f6d6572732f2a2f6b6579776f7264506c61" . + "6e4e656761746976654b6579776f7264732f2a7d1289020a214d75746174" . + "654b6579776f7264506c616e4e656761746976654b6579776f726473124a" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7365727669" . + "6365732e4d75746174654b6579776f7264506c616e4e656761746976654b" . + "6579776f726473526571756573741a4b2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4d75746174654b657977" . + "6f7264506c616e4e656761746976654b6579776f726473526573706f6e73" . + "65224b82d3e493024522402f76322f637573746f6d6572732f7b63757374" . + "6f6d65725f69643d2a7d2f6b6579776f7264506c616e4e65676174697665" . + "4b6579776f7264733a6d75746174653a012a1a1bca4118676f6f676c6561" . + "64732e676f6f676c65617069732e636f6d428d020a24636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365734226" . + "4b6579776f7264506c616e4e656761746976654b6579776f726453657276" . + "69636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f73657276696365733b7365727669636573a20203474141" . + "aa0220476f6f676c652e4164732e476f6f676c654164732e56322e536572" . + "7669636573ca0220476f6f676c655c4164735c476f6f676c654164735c56" . + "325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanService.php new file mode 100644 index 000000000..519018099 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordPlanService.php @@ -0,0 +1,153 @@ +internalAddGeneratedFile(hex2bin( + "0ad21c0a3b676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f706c616e5f736572766963652e70" . + "726f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365731a34676f6f676c652f6164732f676f6f676c65616473" . + "2f76322f7265736f75726365732f6b6579776f72645f706c616e2e70726f" . + "746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f" . + "746f1a20676f6f676c652f70726f746f6275662f6669656c645f6d61736b" . + "2e70726f746f1a1e676f6f676c652f70726f746f6275662f777261707065" . + "72732e70726f746f1a17676f6f676c652f7270632f7374617475732e7072" . + "6f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f222e" . + "0a154765744b6579776f7264506c616e5265717565737412150a0d726573" . + "6f757263655f6e616d6518012001280922ac010a194d75746174654b6579" . + "776f7264506c616e735265717565737412130a0b637573746f6d65725f69" . + "64180120012809124a0a0a6f7065726174696f6e7318022003280b32362e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4b6579776f7264506c616e4f7065726174696f6e12170a0f706172" . + "7469616c5f6661696c75726518032001280812150a0d76616c6964617465" . + "5f6f6e6c7918042001280822ea010a144b6579776f7264506c616e4f7065" . + "726174696f6e122f0a0b7570646174655f6d61736b18042001280b321a2e" . + "676f6f676c652e70726f746f6275662e4669656c644d61736b12400a0663" . + "726561746518012001280b322e2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e4b6579776f7264506c616e48" . + "0012400a0675706461746518022001280b322e2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e4b6579776f72" . + "64506c616e480012100a0672656d6f76651803200128094800420b0a096f" . + "7065726174696f6e229c010a1a4d75746174654b6579776f7264506c616e" . + "73526573706f6e736512310a157061727469616c5f6661696c7572655f65" . + "72726f7218032001280b32122e676f6f676c652e7270632e537461747573" . + "124b0a07726573756c747318022003280b323a2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d75746174654b" . + "6579776f7264506c616e73526573756c7422310a184d75746174654b6579" . + "776f7264506c616e73526573756c7412150a0d7265736f757263655f6e61" . + "6d6518012001280922360a1e47656e6572617465466f7265636173744d65" . + "74726963735265717565737412140a0c6b6579776f72645f706c616e1801" . + "2001280922af020a1f47656e6572617465466f7265636173744d65747269" . + "6373526573706f6e736512590a1263616d706169676e5f666f7265636173" . + "747318012003280b323d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4b6579776f7264506c616e43616d7061" . + "69676e466f72656361737412580a1261645f67726f75705f666f72656361" . + "73747318022003280b323c2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4b6579776f7264506c616e41644772" . + "6f7570466f72656361737412570a116b6579776f72645f666f7265636173" . + "747318032003280b323c2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4b6579776f7264506c616e4b6579776f" . + "7264466f72656361737422a8010a1b4b6579776f7264506c616e43616d70" . + "6169676e466f726563617374123b0a156b6579776f72645f706c616e5f63" . + "616d706169676e18012001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c7565124c0a1163616d706169676e5f666f7265" . + "6361737418022001280b32312e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e466f7265636173744d6574726963" . + "7322a7010a1a4b6579776f7264506c616e416447726f7570466f72656361" . + "7374123b0a156b6579776f72645f706c616e5f61645f67726f7570180120" . + "01280b321c2e676f6f676c652e70726f746f6275662e537472696e675661" . + "6c7565124c0a1161645f67726f75705f666f72656361737418022001280b" . + "32312e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e466f7265636173744d65747269637322ae010a1a4b657977" . + "6f7264506c616e4b6579776f7264466f72656361737412430a1d6b657977" . + "6f72645f706c616e5f61645f67726f75705f6b6579776f72641801200128" . + "0b321c2e676f6f676c652e70726f746f6275662e537472696e6756616c75" . + "65124b0a106b6579776f72645f666f72656361737418022001280b32312e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e466f7265636173744d6574726963732281020a0f466f7265636173" . + "744d65747269637312310a0b696d7072657373696f6e7318012001280b32" . + "1c2e676f6f676c652e70726f746f6275662e446f75626c6556616c756512" . + "290a0363747218022001280b321c2e676f6f676c652e70726f746f627566" . + "2e446f75626c6556616c756512300a0b617665726167655f637063180320" . + "01280b321b2e676f6f676c652e70726f746f6275662e496e74363456616c" . + "7565122c0a06636c69636b7318052001280b321c2e676f6f676c652e7072" . + "6f746f6275662e446f75626c6556616c756512300a0b636f73745f6d6963" . + "726f7318062001280b321b2e676f6f676c652e70726f746f6275662e496e" . + "74363456616c756522380a2047656e6572617465486973746f726963616c" . + "4d6574726963735265717565737412140a0c6b6579776f72645f706c616e" . + "180120012809227b0a2147656e6572617465486973746f726963616c4d65" . + "7472696373526573706f6e736512560a076d65747269637318012003280b" . + "32452e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e4b6579776f7264506c616e4b6579776f7264486973746f72" . + "6963616c4d65747269637322b0010a234b6579776f7264506c616e4b6579" . + "776f7264486973746f726963616c4d65747269637312320a0c7365617263" . + "685f717565727918012001280b321c2e676f6f676c652e70726f746f6275" . + "662e537472696e6756616c756512550a0f6b6579776f72645f6d65747269" . + "637318022001280b323c2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e2e4b6579776f7264506c616e486973746f7269" . + "63616c4d65747269637332a3070a124b6579776f7264506c616e53657276" . + "69636512b1010a0e4765744b6579776f7264506c616e12372e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4765" . + "744b6579776f7264506c616e526571756573741a2e2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e7265736f75726365732e4b657977" . + "6f7264506c616e223682d3e4930230122e2f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f6b6579776f7264506c616e73" . + "2f2a7d12cd010a124d75746174654b6579776f7264506c616e73123b2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d75746174654b6579776f7264506c616e73526571756573741a3c2e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e4d75746174654b6579776f7264506c616e73526573706f6e736522" . + "3c82d3e493023622312f76322f637573746f6d6572732f7b637573746f6d" . + "65725f69643d2a7d2f6b6579776f7264506c616e733a6d75746174653a01" . + "2a12f0010a1747656e6572617465466f7265636173744d65747269637312" . + "402e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e47656e6572617465466f7265636173744d6574726963735265" . + "71756573741a412e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365732e47656e6572617465466f7265636173744d6574" . + "72696373526573706f6e7365225082d3e493024a22452f76322f7b6b6579" . + "776f72645f706c616e3d637573746f6d6572732f2a2f6b6579776f726450" . + "6c616e732f2a7d3a67656e6572617465466f7265636173744d6574726963" . + "733a012a12f8010a1947656e6572617465486973746f726963616c4d6574" . + "7269637312422e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e47656e6572617465486973746f726963616c4d65" . + "7472696373526571756573741a432e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e47656e657261746548697374" . + "6f726963616c4d657472696373526573706f6e7365225282d3e493024c22" . + "472f76322f7b6b6579776f72645f706c616e3d637573746f6d6572732f2a" . + "2f6b6579776f7264506c616e732f2a7d3a67656e6572617465486973746f" . + "726963616c4d6574726963733a012a1a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d42fe010a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e736572766963657342174b6579" . + "776f7264506c616e5365727669636550726f746f50015a48676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f73657276696365733b7365" . + "727669636573a20203474141aa0220476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e5365727669636573ca0220476f6f676c655c416473" . + "5c476f6f676c654164735c56325c5365727669636573ea0224476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a53657276696365" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/KeywordViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordViewService.php new file mode 100644 index 000000000..bc2a859fc --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/KeywordViewService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0ab7050a3b676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6b6579776f72645f766965775f736572766963652e70" . + "726f746f1220676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365731a1c676f6f676c652f6170692f616e6e6f746174696f" . + "6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e7072" . + "6f746f222e0a154765744b6579776f726456696577526571756573741215" . + "0a0d7265736f757263655f6e616d6518012001280932e5010a124b657977" . + "6f7264566965775365727669636512b1010a0e4765744b6579776f726456" . + "69657712372e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e4765744b6579776f72645669657752657175657374" . + "1a2e2e676f6f676c652e6164732e676f6f676c656164732e76322e726573" . + "6f75726365732e4b6579776f726456696577223682d3e4930230122e2f76" . + "322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f6b" . + "6579776f726456696577732f2a7d1a1bca4118676f6f676c656164732e67" . + "6f6f676c65617069732e636f6d42fe010a24636f6d2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e736572766963657342174b657977" . + "6f7264566965775365727669636550726f746f50015a48676f6f676c652e" . + "676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561706973" . + "2f6164732f676f6f676c656164732f76322f73657276696365733b736572" . + "7669636573a20203474141aa0220476f6f676c652e4164732e476f6f676c" . + "654164732e56322e5365727669636573ca0220476f6f676c655c4164735c" . + "476f6f676c654164735c56325c5365727669636573ea0224476f6f676c65" . + "3a3a4164733a3a476f6f676c654164733a3a56323a3a5365727669636573" . + "620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/LabelService.php b/metadata/Google/Ads/GoogleAds/V2/Services/LabelService.php new file mode 100644 index 000000000..b0ebf69d9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/LabelService.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0ad50b0a34676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6c6162656c5f736572766963652e70726f746f122067" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f74" . + "6f1a20676f6f676c652f70726f746f6275662f6669656c645f6d61736b2e" . + "70726f746f1a1e676f6f676c652f70726f746f6275662f77726170706572" . + "732e70726f746f1a17676f6f676c652f7270632f7374617475732e70726f" . + "746f1a17676f6f676c652f6170692f636c69656e742e70726f746f22280a" . + "0f4765744c6162656c5265717565737412150a0d7265736f757263655f6e" . + "616d6518012001280922a0010a134d75746174654c6162656c7352657175" . + "65737412130a0b637573746f6d65725f696418012001280912440a0a6f70" . + "65726174696f6e7318022003280b32302e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4c6162656c4f70657261" . + "74696f6e12170a0f7061727469616c5f6661696c75726518032001280812" . + "150a0d76616c69646174655f6f6e6c7918042001280822d8010a0e4c6162" . + "656c4f7065726174696f6e122f0a0b7570646174655f6d61736b18042001" . + "280b321a2e676f6f676c652e70726f746f6275662e4669656c644d61736b" . + "123a0a0663726561746518012001280b32282e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e4c6162656c4800" . + "123a0a0675706461746518022001280b32282e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e4c6162656c4800" . + "12100a0672656d6f76651803200128094800420b0a096f7065726174696f" . + "6e228f010a144d75746174654c6162656c73526573706f6e736512310a15" . + "7061727469616c5f6661696c7572655f6572726f7218032001280b32122e" . + "676f6f676c652e7270632e53746174757312440a07726573756c74731802" . + "2003280b32332e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4d75746174654c6162656c526573756c74222a0a" . + "114d75746174654c6162656c526573756c7412150a0d7265736f75726365" . + "5f6e616d6518012001280932ff020a0c4c6162656c536572766963651299" . + "010a084765744c6162656c12312e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4765744c6162656c5265717565" . + "73741a282e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e4c6162656c223082d3e493022a12282f76322f7b72" . + "65736f757263655f6e616d653d637573746f6d6572732f2a2f6c6162656c" . + "732f2a7d12b5010a0c4d75746174654c6162656c7312352e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "6174654c6162656c73526571756573741a362e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4d75746174654c61" . + "62656c73526573706f6e7365223682d3e4930230222b2f76322f63757374" . + "6f6d6572732f7b637573746f6d65725f69643d2a7d2f6c6162656c733a6d" . + "75746174653a012a1a1bca4118676f6f676c656164732e676f6f676c6561" . + "7069732e636f6d42f8010a24636f6d2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e736572766963657342114c6162656c5365727669" . + "636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f67" . + "656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c6561" . + "64732f76322f73657276696365733b7365727669636573a20203474141aa" . + "0220476f6f676c652e4164732e476f6f676c654164732e56322e53657276" . + "69636573ca0220476f6f676c655c4164735c476f6f676c654164735c5632" . + "5c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c" . + "654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/LandingPageViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/LandingPageViewService.php new file mode 100644 index 000000000..ab23124d5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/LandingPageViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad8050a40676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6c616e64696e675f706167655f766965775f73657276" . + "6963652e70726f746f1220676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f1a17676f6f676c652f6170692f636c6965" . + "6e742e70726f746f22320a194765744c616e64696e675061676556696577" . + "5265717565737412150a0d7265736f757263655f6e616d65180120012809" . + "32f9010a164c616e64696e6750616765566965775365727669636512c101" . + "0a124765744c616e64696e675061676556696577123b2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4765744c" . + "616e64696e675061676556696577526571756573741a322e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4c61" . + "6e64696e675061676556696577223a82d3e493023412322f76322f7b7265" . + "736f757263655f6e616d653d637573746f6d6572732f2a2f6c616e64696e" . + "675061676556696577732f2a7d1a1bca4118676f6f676c656164732e676f" . + "6f676c65617069732e636f6d4282020a24636f6d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e7365727669636573421b4c616e6469" . + "6e6750616765566965775365727669636550726f746f50015a48676f6f67" . + "6c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c6561" . + "7069732f6164732f676f6f676c656164732f76322f73657276696365733b" . + "7365727669636573a20203474141aa0220476f6f676c652e4164732e476f" . + "6f676c654164732e56322e5365727669636573ca0220476f6f676c655c41" . + "64735c476f6f676c654164735c56325c5365727669636573ea0224476f6f" . + "676c653a3a4164733a3a476f6f676c654164733a3a56323a3a5365727669" . + "636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/LanguageConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/LanguageConstantService.php new file mode 100644 index 000000000..54c6d4dd5 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/LanguageConstantService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad3050a40676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6c616e67756167655f636f6e7374616e745f73657276" . + "6963652e70726f746f1220676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f" . + "746174696f6e732e70726f746f1a17676f6f676c652f6170692f636c6965" . + "6e742e70726f746f22330a1a4765744c616e6775616765436f6e7374616e" . + "745265717565737412150a0d7265736f757263655f6e616d651801200128" . + "0932f2010a174c616e6775616765436f6e7374616e745365727669636512" . + "b9010a134765744c616e6775616765436f6e7374616e74123c2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e47" . + "65744c616e6775616765436f6e7374616e74526571756573741a332e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e4c616e6775616765436f6e7374616e74222f82d3e493022912272f76" . + "322f7b7265736f757263655f6e616d653d6c616e6775616765436f6e7374" . + "616e74732f2a7d1a1bca4118676f6f676c656164732e676f6f676c656170" . + "69732e636f6d4283020a24636f6d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7365727669636573421c4c616e6775616765436f6e" . + "7374616e745365727669636550726f746f50015a48676f6f676c652e676f" . + "6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f61" . + "64732f676f6f676c656164732f76322f73657276696365733b7365727669" . + "636573a20203474141aa0220476f6f676c652e4164732e476f6f676c6541" . + "64732e56322e5365727669636573ca0220476f6f676c655c4164735c476f" . + "6f676c654164735c56325c5365727669636573ea0224476f6f676c653a3a" . + "4164733a3a476f6f676c654164733a3a56323a3a53657276696365736206" . + "70726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/LocationViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/LocationViewService.php new file mode 100644 index 000000000..c0e388d3e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/LocationViewService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0abf050a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6c6f636174696f6e5f766965775f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70" . + "726f746f222f0a164765744c6f636174696f6e5669657752657175657374" . + "12150a0d7265736f757263655f6e616d6518012001280932ea010a134c6f" . + "636174696f6e566965775365727669636512b5010a0f4765744c6f636174" . + "696f6e5669657712382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e4765744c6f636174696f6e566965775265" . + "71756573741a2f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e4c6f636174696f6e56696577223782d3e493" . + "0231122f2f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f6c6f636174696f6e56696577732f2a7d1a1bca4118676f6f67" . + "6c656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "7342184c6f636174696f6e566965775365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewService.php new file mode 100644 index 000000000..777adc778 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0a80060a45676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6d616e616765645f706c6163656d656e745f76696577" . + "5f736572766963652e70726f746f1220676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f22370a1e4765744d616e61676564506c61" . + "63656d656e74566965775265717565737412150a0d7265736f757263655f" . + "6e616d651801200128093292020a1b4d616e61676564506c6163656d656e" . + "74566965775365727669636512d5010a174765744d616e61676564506c61" . + "63656d656e745669657712402e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4765744d616e61676564506c6163" . + "656d656e7456696577526571756573741a372e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e4d616e61676564" . + "506c6163656d656e7456696577223f82d3e493023912372f76322f7b7265" . + "736f757263655f6e616d653d637573746f6d6572732f2a2f6d616e616765" . + "64506c6163656d656e7456696577732f2a7d1a1bca4118676f6f676c6561" . + "64732e676f6f676c65617069732e636f6d4287020a24636f6d2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365734220" . + "4d616e61676564506c6163656d656e74566965775365727669636550726f" . + "746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f" . + "746f2f676f6f676c65617069732f6164732f676f6f676c656164732f7632" . + "2f73657276696365733b7365727669636573a20203474141aa0220476f6f" . + "676c652e4164732e476f6f676c654164732e56322e5365727669636573ca" . + "0220476f6f676c655c4164735c476f6f676c654164735c56325c53657276" . + "69636573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a" . + "3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/MediaFileService.php b/metadata/Google/Ads/GoogleAds/V2/Services/MediaFileService.php new file mode 100644 index 000000000..f3cc56c2b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/MediaFileService.php @@ -0,0 +1,76 @@ +internalAddGeneratedFile(hex2bin( + "0a800b0a39676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6d656469615f66696c655f736572766963652e70726f" . + "746f1220676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f1a1e676f6f676c652f70726f746f6275662f777261707065" . + "72732e70726f746f1a17676f6f676c652f7270632f7374617475732e7072" . + "6f746f1a17676f6f676c652f6170692f636c69656e742e70726f746f222c" . + "0a134765744d6564696146696c655265717565737412150a0d7265736f75" . + "7263655f6e616d6518012001280922a8010a174d75746174654d65646961" . + "46696c65735265717565737412130a0b637573746f6d65725f6964180120" . + "01280912480a0a6f7065726174696f6e7318022003280b32342e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "6564696146696c654f7065726174696f6e12170a0f7061727469616c5f66" . + "61696c75726518032001280812150a0d76616c69646174655f6f6e6c7918" . + "042001280822610a124d6564696146696c654f7065726174696f6e123e0a" . + "0663726561746518012001280b322c2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e4d6564696146696c6548" . + "00420b0a096f7065726174696f6e2297010a184d75746174654d65646961" . + "46696c6573526573706f6e736512310a157061727469616c5f6661696c75" . + "72655f6572726f7218032001280b32122e676f6f676c652e7270632e5374" . + "6174757312480a07726573756c747318022003280b32372e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e4d7574" . + "6174654d6564696146696c65526573756c74222e0a154d75746174654d65" . + "64696146696c65526573756c7412150a0d7265736f757263655f6e616d65" . + "18012001280932a3030a104d6564696146696c655365727669636512a901" . + "0a0c4765744d6564696146696c6512352e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e73657276696365732e4765744d656469614669" . + "6c65526571756573741a2c2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7265736f75726365732e4d6564696146696c65223482d3e4" . + "93022e122c2f76322f7b7265736f757263655f6e616d653d637573746f6d" . + "6572732f2a2f6d6564696146696c65732f2a7d12c5010a104d7574617465" . + "4d6564696146696c657312392e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d75746174654d6564696146696c" . + "6573526571756573741a3a2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d75746174654d6564696146696c65" . + "73526573706f6e7365223a82d3e4930234222f2f76322f637573746f6d65" . + "72732f7b637573746f6d65725f69643d2a7d2f6d6564696146696c65733a" . + "6d75746174653a012a1a1bca4118676f6f676c656164732e676f6f676c65" . + "617069732e636f6d42fc010a24636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e736572766963657342154d6564696146696c65" . + "5365727669636550726f746f50015a48676f6f676c652e676f6c616e672e" . + "6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f" . + "6f676c656164732f76322f73657276696365733b7365727669636573a202" . + "03474141aa0220476f6f676c652e4164732e476f6f676c654164732e5632" . + "2e5365727669636573ca0220476f6f676c655c4164735c476f6f676c6541" . + "64735c56325c5365727669636573ea0224476f6f676c653a3a4164733a3a" . + "476f6f676c654164733a3a56323a3a5365727669636573620670726f746f" . + "33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkService.php b/metadata/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkService.php new file mode 100644 index 000000000..cd58de117 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkService.php @@ -0,0 +1,91 @@ +internalAddGeneratedFile(hex2bin( + "0afa0e0a43676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6d65726368616e745f63656e7465725f6c696e6b5f73" . + "6572766963652e70726f746f1220676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f" . + "6275662f6669656c645f6d61736b2e70726f746f1a17676f6f676c652f61" . + "70692f636c69656e742e70726f746f22350a1e4c6973744d65726368616e" . + "7443656e7465724c696e6b735265717565737412130a0b637573746f6d65" . + "725f696418012001280922770a1f4c6973744d65726368616e7443656e74" . + "65724c696e6b73526573706f6e736512540a156d65726368616e745f6365" . + "6e7465725f6c696e6b7318012003280b32352e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e4d65726368616e" . + "7443656e7465724c696e6b22350a1c4765744d65726368616e7443656e74" . + "65724c696e6b5265717565737412150a0d7265736f757263655f6e616d65" . + "1801200128092288010a1f4d75746174654d65726368616e7443656e7465" . + "724c696e6b5265717565737412130a0b637573746f6d65725f6964180120" . + "01280912500a096f7065726174696f6e18022001280b323d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d65" . + "726368616e7443656e7465724c696e6b4f7065726174696f6e22b6010a1b" . + "4d65726368616e7443656e7465724c696e6b4f7065726174696f6e122f0a" . + "0b7570646174655f6d61736b18032001280b321a2e676f6f676c652e7072" . + "6f746f6275662e4669656c644d61736b12470a0675706461746518012001" . + "280b32352e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e4d65726368616e7443656e7465724c696e6b480012" . + "100a0672656d6f76651802200128094800420b0a096f7065726174696f6e" . + "22740a204d75746174654d65726368616e7443656e7465724c696e6b5265" . + "73706f6e736512500a06726573756c7418022001280b32402e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4d75" . + "746174654d65726368616e7443656e7465724c696e6b526573756c742237" . + "0a1e4d75746174654d65726368616e7443656e7465724c696e6b52657375" . + "6c7412150a0d7265736f757263655f6e616d6518012001280932cd050a19" . + "4d65726368616e7443656e7465724c696e6b5365727669636512d9010a17" . + "4c6973744d65726368616e7443656e7465724c696e6b7312402e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4c" . + "6973744d65726368616e7443656e7465724c696e6b73526571756573741a" . + "412e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4c6973744d65726368616e7443656e7465724c696e6b735265" . + "73706f6e7365223982d3e493023312312f76322f637573746f6d6572732f" . + "7b637573746f6d65725f69643d2a7d2f6d65726368616e7443656e746572" . + "4c696e6b7312cd010a154765744d65726368616e7443656e7465724c696e" . + "6b123e2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4765744d65726368616e7443656e7465724c696e6b5265" . + "71756573741a352e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e4d65726368616e7443656e7465724c696e6b" . + "223d82d3e493023712352f76322f7b7265736f757263655f6e616d653d63" . + "7573746f6d6572732f2a2f6d65726368616e7443656e7465724c696e6b73" . + "2f2a7d12e6010a184d75746174654d65726368616e7443656e7465724c69" . + "6e6b12412e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e4d75746174654d65726368616e7443656e7465724c69" . + "6e6b526571756573741a422e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e4d75746174654d65726368616e7443" . + "656e7465724c696e6b526573706f6e7365224382d3e493023d22382f7632" . + "2f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f6d6572" . + "6368616e7443656e7465724c696e6b733a6d75746174653a012a1a1bca41" . + "18676f6f676c656164732e676f6f676c65617069732e636f6d4285020a24" . + "636f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "727669636573421e4d65726368616e7443656e7465724c696e6b53657276" . + "69636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f73657276696365733b7365727669636573a20203474141" . + "aa0220476f6f676c652e4164732e476f6f676c654164732e56322e536572" . + "7669636573ca0220476f6f676c655c4164735c476f6f676c654164735c56" . + "325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantService.php new file mode 100644 index 000000000..adf3eee3d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantService.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0a9d060a4b676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6d6f62696c655f6170705f63617465676f72795f636f" . + "6e7374616e745f736572766963652e70726f746f1220676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365731a1c676f6f67" . + "6c652f6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f67" . + "6c652f6170692f636c69656e742e70726f746f223c0a234765744d6f6269" . + "6c6541707043617465676f7279436f6e7374616e74526571756573741215" . + "0a0d7265736f757263655f6e616d65180120012809329f020a204d6f6269" . + "6c6541707043617465676f7279436f6e7374616e745365727669636512dd" . + "010a1c4765744d6f62696c6541707043617465676f7279436f6e7374616e" . + "7412452e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4765744d6f62696c6541707043617465676f7279436f6e" . + "7374616e74526571756573741a3c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e4d6f62696c654170704361" . + "7465676f7279436f6e7374616e74223882d3e493023212302f76322f7b72" . + "65736f757263655f6e616d653d6d6f62696c6541707043617465676f7279" . + "436f6e7374616e74732f2a7d1a1bca4118676f6f676c656164732e676f6f" . + "676c65617069732e636f6d428c020a24636f6d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e736572766963657342254d6f62696c65" . + "41707043617465676f7279436f6e7374616e745365727669636550726f74" . + "6f50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f74" . + "6f2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f" . + "73657276696365733b7365727669636573a20203474141aa0220476f6f67" . + "6c652e4164732e476f6f676c654164732e56322e5365727669636573ca02" . + "20476f6f676c655c4164735c476f6f676c654164735c56325c5365727669" . + "636573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a" . + "56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantService.php new file mode 100644 index 000000000..51cf5eb2d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af4050a45676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6d6f62696c655f6465766963655f636f6e7374616e74" . + "5f736572766963652e70726f746f1220676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365731a1c676f6f676c652f617069" . + "2f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f617069" . + "2f636c69656e742e70726f746f22370a1e4765744d6f62696c6544657669" . + "6365436f6e7374616e745265717565737412150a0d7265736f757263655f" . + "6e616d651801200128093286020a1b4d6f62696c65446576696365436f6e" . + "7374616e745365727669636512c9010a174765744d6f62696c6544657669" . + "6365436f6e7374616e7412402e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4765744d6f62696c654465766963" . + "65436f6e7374616e74526571756573741a372e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e4d6f62696c6544" . + "6576696365436f6e7374616e74223382d3e493022d122b2f76322f7b7265" . + "736f757263655f6e616d653d6d6f62696c65446576696365436f6e737461" . + "6e74732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4287020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e736572766963657342204d6f62696c65446576696365" . + "436f6e7374616e745365727669636550726f746f50015a48676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f73657276696365733b7365" . + "727669636573a20203474141aa0220476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e5365727669636573ca0220476f6f676c655c416473" . + "5c476f6f676c654164735c56325c5365727669636573ea0224476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a53657276696365" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/MutateJobService.php b/metadata/Google/Ads/GoogleAds/V2/Services/MutateJobService.php new file mode 100644 index 000000000..9bd6c27c6 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/MutateJobService.php @@ -0,0 +1,112 @@ +internalAddGeneratedFile(hex2bin( + "0ab2130a39676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6d75746174655f6a6f625f736572766963652e70726f" . + "746f1220676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365731a39676f6f676c652f6164732f676f6f676c656164732f76" . + "322f73657276696365732f676f6f676c655f6164735f736572766963652e" . + "70726f746f1a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f1a23676f6f676c652f6c6f6e6772756e6e696e672f6f706572" . + "6174696f6e732e70726f746f1a17676f6f676c652f7270632f7374617475" . + "732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f" . + "746f222d0a164372656174654d75746174654a6f62526571756573741213" . + "0a0b637573746f6d65725f696418012001280922300a174372656174654d" . + "75746174654a6f62526573706f6e736512150a0d7265736f757263655f6e" . + "616d65180120012809222c0a134765744d75746174654a6f625265717565" . + "737412150a0d7265736f757263655f6e616d65180120012809222c0a1352" . + "756e4d75746174654a6f625265717565737412150a0d7265736f75726365" . + "5f6e616d65180120012809229c010a1d4164644d75746174654a6f624f70" . + "65726174696f6e735265717565737412150a0d7265736f757263655f6e61" . + "6d6518012001280912160a0e73657175656e63655f746f6b656e18022001" . + "2809124c0a116d75746174655f6f7065726174696f6e7318032003280b32" . + "312e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d75746174654f7065726174696f6e22570a1e4164644d7574" . + "6174654a6f624f7065726174696f6e73526573706f6e736512180a10746f" . + "74616c5f6f7065726174696f6e73180120012803121b0a136e6578745f73" . + "657175656e63655f746f6b656e180220012809225b0a1b4c6973744d7574" . + "6174654a6f62526573756c74735265717565737412150a0d7265736f7572" . + "63655f6e616d6518012001280912120a0a706167655f746f6b656e180220" . + "01280912110a09706167655f73697a65180320012805227b0a1c4c697374" . + "4d75746174654a6f62526573756c7473526573706f6e736512420a077265" . + "73756c747318012003280b32312e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4d75746174654a6f6252657375" . + "6c7412170a0f6e6578745f706167655f746f6b656e18022001280922ac01" . + "0a0f4d75746174654a6f62526573756c7412170a0f6f7065726174696f6e" . + "5f696e646578180120012803125c0a196d75746174655f6f706572617469" . + "6f6e5f726573706f6e736518022001280b32392e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d75746174654f" . + "7065726174696f6e526573706f6e736512220a0673746174757318032001" . + "280b32122e676f6f676c652e7270632e53746174757332dd080a104d7574" . + "6174654a6f625365727669636512c2010a0f4372656174654d7574617465" . + "4a6f6212382e676f6f676c652e6164732e676f6f676c656164732e76322e" . + "73657276696365732e4372656174654d75746174654a6f62526571756573" . + "741a392e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4372656174654d75746174654a6f62526573706f6e7365" . + "223a82d3e4930234222f2f76322f637573746f6d6572732f7b637573746f" . + "6d65725f69643d2a7d2f6d75746174654a6f62733a6372656174653a012a" . + "12a9010a0c4765744d75746174654a6f6212352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4765744d757461" . + "74654a6f62526571756573741a2c2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e4d75746174654a6f622234" . + "82d3e493022e122c2f76322f7b7265736f757263655f6e616d653d637573" . + "746f6d6572732f2a2f6d75746174654a6f62732f2a7d12d7010a144c6973" . + "744d75746174654a6f62526573756c7473123d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4c6973744d7574" . + "6174654a6f62526573756c7473526571756573741a3e2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4c697374" . + "4d75746174654a6f62526573756c7473526573706f6e7365224082d3e493" . + "023a12382f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f6d75746174654a6f62732f2a7d3a6c697374526573756c7473" . + "12fb010a0c52756e4d75746174654a6f6212352e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e52756e4d757461" . + "74654a6f62526571756573741a1d2e676f6f676c652e6c6f6e6772756e6e" . + "696e672e4f7065726174696f6e22940182d3e493023522302f76322f7b72" . + "65736f757263655f6e616d653d637573746f6d6572732f2a2f6d75746174" . + "654a6f62732f2a7d3a72756e3a012aca41560a15676f6f676c652e70726f" . + "746f6275662e456d707479123d676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e4d75746174654a6f622e4d7574" . + "6174654a6f624d6574616461746112e2010a164164644d75746174654a6f" . + "624f7065726174696f6e73123f2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4164644d75746174654a6f624f" . + "7065726174696f6e73526571756573741a402e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4164644d75746174" . + "654a6f624f7065726174696f6e73526573706f6e7365224582d3e493023f" . + "223a2f76322f7b7265736f757263655f6e616d653d637573746f6d657273" . + "2f2a2f6d75746174654a6f62732f2a7d3a6164644f7065726174696f6e73" . + "3a012a1a1bca4118676f6f676c656164732e676f6f676c65617069732e63" . + "6f6d42fc010a24636f6d2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e736572766963657342154d75746174654a6f62536572766963" . + "6550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f6765" . + "6e70726f746f2f676f6f676c65617069732f6164732f676f6f676c656164" . + "732f76322f73657276696365733b7365727669636573a20203474141aa02" . + "20476f6f676c652e4164732e476f6f676c654164732e56322e5365727669" . + "636573ca0220476f6f676c655c4164735c476f6f676c654164735c56325c" . + "5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65" . + "4164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantService.php new file mode 100644 index 000000000..11289d2f8 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantService.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ac5060a50676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f6f7065726174696e675f73797374656d5f7665727369" . + "6f6e5f636f6e7374616e745f736572766963652e70726f746f1220676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365731a" . + "1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f1a" . + "17676f6f676c652f6170692f636c69656e742e70726f746f22410a284765" . + "744f7065726174696e6753797374656d56657273696f6e436f6e7374616e" . + "745265717565737412150a0d7265736f757263655f6e616d651801200128" . + "0932b8020a254f7065726174696e6753797374656d56657273696f6e436f" . + "6e7374616e745365727669636512f1010a214765744f7065726174696e67" . + "53797374656d56657273696f6e436f6e7374616e74124a2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e476574" . + "4f7065726174696e6753797374656d56657273696f6e436f6e7374616e74" . + "526571756573741a412e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365732e4f7065726174696e6753797374656d56" . + "657273696f6e436f6e7374616e74223d82d3e493023712352f76322f7b72" . + "65736f757263655f6e616d653d6f7065726174696e6753797374656d5665" . + "7273696f6e436f6e7374616e74732f2a7d1a1bca4118676f6f676c656164" . + "732e676f6f676c65617069732e636f6d4291020a24636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7365727669636573422a4f" . + "7065726174696e6753797374656d56657273696f6e436f6e7374616e7453" . + "65727669636550726f746f50015a48676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f73657276696365733b7365727669636573a20203" . + "474141aa0220476f6f676c652e4164732e476f6f676c654164732e56322e" . + "5365727669636573ca0220476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5365727669636573ea0224476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewService.php new file mode 100644 index 000000000..0f76dfe7f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewService.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0aaa060a4c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f706169645f6f7267616e69635f7365617263685f7465" . + "726d5f766965775f736572766963652e70726f746f1220676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365731a1c676f6f" . + "676c652f6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f" . + "676c652f6170692f636c69656e742e70726f746f223c0a23476574506169" . + "644f7267616e69635365617263685465726d566965775265717565737412" . + "150a0d7265736f757263655f6e616d6518012001280932ab020a20506169" . + "644f7267616e69635365617263685465726d566965775365727669636512" . + "e9010a1c476574506169644f7267616e69635365617263685465726d5669" . + "657712452e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e476574506169644f7267616e69635365617263685465" . + "726d56696577526571756573741a3c2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e7265736f75726365732e506169644f7267616e69" . + "635365617263685465726d56696577224482d3e493023e123c2f76322f7b" . + "7265736f757263655f6e616d653d637573746f6d6572732f2a2f70616964" . + "4f7267616e69635365617263685465726d56696577732f2a7d1a1bca4118" . + "676f6f676c656164732e676f6f676c65617069732e636f6d428c020a2463" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365734225506169644f7267616e69635365617263685465726d5669" . + "65775365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewService.php new file mode 100644 index 000000000..d4a2e0404 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewService.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile(hex2bin( + "0af0050a43676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f706172656e74616c5f7374617475735f766965775f73" . + "6572766963652e70726f746f1220676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365731a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f63" . + "6c69656e742e70726f746f22350a1c476574506172656e74616c53746174" . + "7573566965775265717565737412150a0d7265736f757263655f6e616d65" . + "1801200128093288020a19506172656e74616c5374617475735669657753" . + "65727669636512cd010a15476574506172656e74616c5374617475735669" . + "6577123e2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e476574506172656e74616c5374617475735669657752" . + "6571756573741a352e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7265736f75726365732e506172656e74616c537461747573566965" . + "77223d82d3e493023712352f76322f7b7265736f757263655f6e616d653d" . + "637573746f6d6572732f2a2f706172656e74616c53746174757356696577" . + "732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069732e" . + "636f6d4285020a24636f6d2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e7365727669636573421e506172656e74616c537461747573" . + "566965775365727669636550726f746f50015a48676f6f676c652e676f6c" . + "616e672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164" . + "732f676f6f676c656164732f76322f73657276696365733b736572766963" . + "6573a20203474141aa0220476f6f676c652e4164732e476f6f676c654164" . + "732e56322e5365727669636573ca0220476f6f676c655c4164735c476f6f" . + "676c654164735c56325c5365727669636573ea0224476f6f676c653a3a41" . + "64733a3a476f6f676c654164733a3a56323a3a5365727669636573620670" . + "726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/PaymentsAccountService.php b/metadata/Google/Ads/GoogleAds/V2/Services/PaymentsAccountService.php new file mode 100644 index 000000000..d785ab20f --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/PaymentsAccountService.php @@ -0,0 +1,55 @@ +internalAddGeneratedFile(hex2bin( + "0ad2060a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f7061796d656e74735f6163636f756e745f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22320a1b4c6973745061796d656e74734163636f756e74" . + "735265717565737412130a0b637573746f6d65725f696418012001280922" . + "6d0a1c4c6973745061796d656e74734163636f756e7473526573706f6e73" . + "65124d0a117061796d656e74735f6163636f756e747318012003280b3232" . + "2e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f75" . + "726365732e5061796d656e74734163636f756e743285020a165061796d65" . + "6e74734163636f756e745365727669636512cd010a144c6973745061796d" . + "656e74734163636f756e7473123d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4c6973745061796d656e7473" . + "4163636f756e7473526571756573741a3e2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4c6973745061796d65" . + "6e74734163636f756e7473526573706f6e7365223682d3e4930230122e2f" . + "76322f637573746f6d6572732f7b637573746f6d65725f69643d2a7d2f70" . + "61796d656e74734163636f756e74731a1bca4118676f6f676c656164732e" . + "676f6f676c65617069732e636f6d4282020a24636f6d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7365727669636573421b506179" . + "6d656e74734163636f756e745365727669636550726f746f50015a48676f" . + "6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c" . + "65617069732f6164732f676f6f676c656164732f76322f73657276696365" . + "733b7365727669636573a20203474141aa0220476f6f676c652e4164732e" . + "476f6f676c654164732e56322e5365727669636573ca0220476f6f676c65" . + "5c4164735c476f6f676c654164735c56325c5365727669636573ea022447" . + "6f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a536572" . + "7669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantService.php new file mode 100644 index 000000000..c2761adde --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantService.php @@ -0,0 +1,54 @@ +internalAddGeneratedFile(hex2bin( + "0ac5060a50676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f70726f647563745f62696464696e675f63617465676f" . + "72795f636f6e7374616e745f736572766963652e70726f746f1220676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365731a" . + "1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f746f1a" . + "17676f6f676c652f6170692f636c69656e742e70726f746f22410a284765" . + "7450726f6475637442696464696e6743617465676f7279436f6e7374616e" . + "745265717565737412150a0d7265736f757263655f6e616d651801200128" . + "0932b8020a2550726f6475637442696464696e6743617465676f7279436f" . + "6e7374616e745365727669636512f1010a2147657450726f647563744269" . + "6464696e6743617465676f7279436f6e7374616e74124a2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e476574" . + "50726f6475637442696464696e6743617465676f7279436f6e7374616e74" . + "526571756573741a412e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365732e50726f6475637442696464696e674361" . + "7465676f7279436f6e7374616e74223d82d3e493023712352f76322f7b72" . + "65736f757263655f6e616d653d70726f6475637442696464696e67436174" . + "65676f7279436f6e7374616e74732f2a7d1a1bca4118676f6f676c656164" . + "732e676f6f676c65617069732e636f6d4291020a24636f6d2e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e7365727669636573422a50" . + "726f6475637442696464696e6743617465676f7279436f6e7374616e7453" . + "65727669636550726f746f50015a48676f6f676c652e676f6c616e672e6f" . + "72672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f" . + "676c656164732f76322f73657276696365733b7365727669636573a20203" . + "474141aa0220476f6f676c652e4164732e476f6f676c654164732e56322e" . + "5365727669636573ca0220476f6f676c655c4164735c476f6f676c654164" . + "735c56325c5365727669636573ea0224476f6f676c653a3a4164733a3a47" . + "6f6f676c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ProductGroupViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ProductGroupViewService.php new file mode 100644 index 000000000..36d36607d --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ProductGroupViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ae0050a41676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f70726f647563745f67726f75705f766965775f736572" . + "766963652e70726f746f1220676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69" . + "656e742e70726f746f22330a1a47657450726f6475637447726f75705669" . + "65775265717565737412150a0d7265736f757263655f6e616d6518012001" . + "280932fe010a1750726f6475637447726f75705669657753657276696365" . + "12c5010a1347657450726f6475637447726f757056696577123c2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "47657450726f6475637447726f757056696577526571756573741a332e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e50726f6475637447726f757056696577223b82d3e493023512332f" . + "76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f" . + "70726f6475637447726f757056696577732f2a7d1a1bca4118676f6f676c" . + "656164732e676f6f676c65617069732e636f6d4283020a24636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "421c50726f6475637447726f7570566965775365727669636550726f746f" . + "50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f73" . + "657276696365733b7365727669636573a20203474141aa0220476f6f676c" . + "652e4164732e476f6f676c654164732e56322e5365727669636573ca0220" . + "476f6f676c655c4164735c476f6f676c654164735c56325c536572766963" . + "6573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/RecommendationService.php b/metadata/Google/Ads/GoogleAds/V2/Services/RecommendationService.php new file mode 100644 index 000000000..5c4dbd907 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/RecommendationService.php @@ -0,0 +1,170 @@ +internalAddGeneratedFile(hex2bin( + "0ac4200a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f7265636f6d6d656e646174696f6e5f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a36676f6f676c652f6164732f676f6f676c6561" . + "64732f76322f656e756d732f6b6579776f72645f6d617463685f74797065" . + "2e70726f746f1a2a676f6f676c652f6164732f676f6f676c656164732f76" . + "322f7265736f75726365732f61642e70726f746f1a36676f6f676c652f61" . + "64732f676f6f676c656164732f76322f7265736f75726365732f7265636f" . + "6d6d656e646174696f6e2e70726f746f1a1c676f6f676c652f6170692f61" . + "6e6e6f746174696f6e732e70726f746f1a1e676f6f676c652f70726f746f" . + "6275662f77726170706572732e70726f746f1a17676f6f676c652f727063" . + "2f7374617475732e70726f746f1a17676f6f676c652f6170692f636c6965" . + "6e742e70726f746f22310a184765745265636f6d6d656e646174696f6e52" . + "65717565737412150a0d7265736f757263655f6e616d6518012001280922" . + "9e010a1a4170706c795265636f6d6d656e646174696f6e52657175657374" . + "12130a0b637573746f6d65725f696418012001280912520a0a6f70657261" . + "74696f6e7318022003280b323e2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e4170706c795265636f6d6d656e" . + "646174696f6e4f7065726174696f6e12170a0f7061727469616c5f666169" . + "6c75726518032001280822820f0a1c4170706c795265636f6d6d656e6461" . + "74696f6e4f7065726174696f6e12150a0d7265736f757263655f6e616d65" . + "18012001280912720a0f63616d706169676e5f6275646765741802200128" . + "0b32572e676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365732e4170706c795265636f6d6d656e646174696f6e4f706572" . + "6174696f6e2e43616d706169676e427564676574506172616d6574657273" . + "480012620a07746578745f616418032001280b324f2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4170706c79" . + "5265636f6d6d656e646174696f6e4f7065726174696f6e2e546578744164" . + "506172616d6574657273480012630a076b6579776f726418042001280b32" . + "502e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4170706c795265636f6d6d656e646174696f6e4f7065726174" . + "696f6e2e4b6579776f7264506172616d6574657273480012740a11746172" . + "6765745f6370615f6f70745f696e18052001280b32572e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4170706c" . + "795265636f6d6d656e646174696f6e4f7065726174696f6e2e5461726765" . + "744370614f7074496e506172616d6574657273480012760a1163616c6c6f" . + "75745f657874656e73696f6e18062001280b32592e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e4170706c7952" . + "65636f6d6d656e646174696f6e4f7065726174696f6e2e43616c6c6f7574" . + "457874656e73696f6e506172616d6574657273480012700a0e63616c6c5f" . + "657874656e73696f6e18072001280b32562e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4170706c795265636f" . + "6d6d656e646174696f6e4f7065726174696f6e2e43616c6c457874656e73" . + "696f6e506172616d6574657273480012780a12736974656c696e6b5f6578" . + "74656e73696f6e18082001280b325a2e676f6f676c652e6164732e676f6f" . + "676c656164732e76322e73657276696365732e4170706c795265636f6d6d" . + "656e646174696f6e4f7065726174696f6e2e536974656c696e6b45787465" . + "6e73696f6e506172616d6574657273480012770a126d6f76655f756e7573" . + "65645f62756467657418092001280b32592e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4170706c795265636f" . + "6d6d656e646174696f6e4f7065726174696f6e2e4d6f7665556e75736564" . + "427564676574506172616d657465727348001a590a1843616d706169676e" . + "427564676574506172616d6574657273123d0a186e65775f627564676574" . + "5f616d6f756e745f6d6963726f7318012001280b321b2e676f6f676c652e" . + "70726f746f6275662e496e74363456616c75651a450a1054657874416450" . + "6172616d657465727312310a02616418012001280b32252e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e4164" . + "1ad2010a114b6579776f7264506172616d6574657273122e0a0861645f67" . + "726f757018012001280b321c2e676f6f676c652e70726f746f6275662e53" . + "7472696e6756616c756512580a0a6d617463685f7479706518022001280e" . + "32442e676f6f676c652e6164732e676f6f676c656164732e76322e656e75" . + "6d732e4b6579776f72644d6174636854797065456e756d2e4b6579776f72" . + "644d617463685479706512330a0e6370635f6269645f6d6963726f731803" . + "2001280b321b2e676f6f676c652e70726f746f6275662e496e7436345661" . + "6c75651a9a010a185461726765744370614f7074496e506172616d657465" . + "727312360a117461726765745f6370615f6d6963726f7318012001280b32" . + "1b2e676f6f676c652e70726f746f6275662e496e74363456616c75651246" . + "0a216e65775f63616d706169676e5f6275646765745f616d6f756e745f6d" . + "6963726f7318022001280b321b2e676f6f676c652e70726f746f6275662e" . + "496e74363456616c75651a690a1a43616c6c6f7574457874656e73696f6e" . + "506172616d6574657273124b0a1263616c6c6f75745f657874656e73696f" . + "6e7318012003280b322f2e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e636f6d6d6f6e2e43616c6c6f7574466565644974656d1a600a" . + "1743616c6c457874656e73696f6e506172616d657465727312450a0f6361" . + "6c6c5f657874656e73696f6e7318012003280b322c2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e636f6d6d6f6e2e43616c6c466565" . + "644974656d1a6c0a1b536974656c696e6b457874656e73696f6e50617261" . + "6d6574657273124d0a13736974656c696e6b5f657874656e73696f6e7318" . + "012003280b32302e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e636f6d6d6f6e2e536974656c696e6b466565644974656d1a580a1a4d" . + "6f7665556e75736564427564676574506172616d6574657273123a0a1562" . + "75646765745f6d6963726f735f746f5f6d6f766518012001280b321b2e67" . + "6f6f676c652e70726f746f6275662e496e74363456616c756542120a1061" . + "70706c795f706172616d6574657273229e010a1b4170706c795265636f6d" . + "6d656e646174696f6e526573706f6e7365124c0a07726573756c74731801" . + "2003280b323b2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e4170706c795265636f6d6d656e646174696f6e52" . + "6573756c7412310a157061727469616c5f6661696c7572655f6572726f72" . + "18022001280b32122e676f6f676c652e7270632e53746174757322320a19" . + "4170706c795265636f6d6d656e646174696f6e526573756c7412150a0d72" . + "65736f757263655f6e616d6518012001280922f8010a1c4469736d697373" . + "5265636f6d6d656e646174696f6e5265717565737412130a0b637573746f" . + "6d65725f696418012001280912710a0a6f7065726174696f6e7318032003" . + "280b325d2e676f6f676c652e6164732e676f6f676c656164732e76322e73" . + "657276696365732e4469736d6973735265636f6d6d656e646174696f6e52" . + "6571756573742e4469736d6973735265636f6d6d656e646174696f6e4f70" . + "65726174696f6e12170a0f7061727469616c5f6661696c75726518022001" . + "28081a370a1e4469736d6973735265636f6d6d656e646174696f6e4f7065" . + "726174696f6e12150a0d7265736f757263655f6e616d6518012001280922" . + "f6010a1d4469736d6973735265636f6d6d656e646174696f6e526573706f" . + "6e7365126c0a07726573756c747318012003280b325b2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4469736d" . + "6973735265636f6d6d656e646174696f6e526573706f6e73652e4469736d" . + "6973735265636f6d6d656e646174696f6e526573756c7412310a15706172" . + "7469616c5f6661696c7572655f6572726f7218022001280b32122e676f6f" . + "676c652e7270632e5374617475731a340a1b4469736d6973735265636f6d" . + "6d656e646174696f6e526573756c7412150a0d7265736f757263655f6e61" . + "6d6518012001280932a6050a155265636f6d6d656e646174696f6e536572" . + "7669636512bd010a114765745265636f6d6d656e646174696f6e123a2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4765745265636f6d6d656e646174696f6e526571756573741a312e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e5265636f6d6d656e646174696f6e223982d3e493023312312f7632" . + "2f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f7265" . + "636f6d6d656e646174696f6e732f2a7d12d2010a134170706c795265636f" . + "6d6d656e646174696f6e123c2e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4170706c795265636f6d6d656e64" . + "6174696f6e526571756573741a3d2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e73657276696365732e4170706c795265636f6d6d65" . + "6e646174696f6e526573706f6e7365223e82d3e493023822332f76322f63" . + "7573746f6d6572732f7b637573746f6d65725f69643d2a7d2f7265636f6d" . + "6d656e646174696f6e733a6170706c793a012a12da010a154469736d6973" . + "735265636f6d6d656e646174696f6e123e2e676f6f676c652e6164732e67" . + "6f6f676c656164732e76322e73657276696365732e4469736d6973735265" . + "636f6d6d656e646174696f6e526571756573741a3f2e676f6f676c652e61" . + "64732e676f6f676c656164732e76322e73657276696365732e4469736d69" . + "73735265636f6d6d656e646174696f6e526573706f6e7365224082d3e493" . + "023a22352f76322f637573746f6d6572732f7b637573746f6d65725f6964" . + "3d2a7d2f7265636f6d6d656e646174696f6e733a6469736d6973733a012a" . + "1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d42" . + "81020a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7365727669636573421a5265636f6d6d656e646174696f6e53657276" . + "69636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f73657276696365733b7365727669636573a20203474141" . + "aa0220476f6f676c652e4164732e476f6f676c654164732e56322e536572" . + "7669636573ca0220476f6f676c655c4164735c476f6f676c654164735c56" . + "325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/RemarketingActionService.php b/metadata/Google/Ads/GoogleAds/V2/Services/RemarketingActionService.php new file mode 100644 index 000000000..e3b61a6fd --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/RemarketingActionService.php @@ -0,0 +1,87 @@ +internalAddGeneratedFile(hex2bin( + "0ab40d0a41676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f72656d61726b6574696e675f616374696f6e5f736572" . + "766963652e70726f746f1220676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f1a20676f6f676c652f70726f746f6275" . + "662f6669656c645f6d61736b2e70726f746f1a1e676f6f676c652f70726f" . + "746f6275662f77726170706572732e70726f746f1a17676f6f676c652f72" . + "70632f7374617475732e70726f746f1a17676f6f676c652f6170692f636c" . + "69656e742e70726f746f22340a1b47657452656d61726b6574696e674163" . + "74696f6e5265717565737412150a0d7265736f757263655f6e616d651801" . + "2001280922b8010a1f4d757461746552656d61726b6574696e6741637469" . + "6f6e735265717565737412130a0b637573746f6d65725f69641801200128" . + "0912500a0a6f7065726174696f6e7318022003280b323c2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365732e52656d" . + "61726b6574696e67416374696f6e4f7065726174696f6e12170a0f706172" . + "7469616c5f6661696c75726518032001280812150a0d76616c6964617465" . + "5f6f6e6c7918042001280822ea010a1a52656d61726b6574696e67416374" . + "696f6e4f7065726174696f6e122f0a0b7570646174655f6d61736b180420" . + "01280b321a2e676f6f676c652e70726f746f6275662e4669656c644d6173" . + "6b12460a0663726561746518012001280b32342e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e7265736f75726365732e52656d61726b" . + "6574696e67416374696f6e480012460a0675706461746518022001280b32" . + "342e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e52656d61726b6574696e67416374696f6e4800420b0a096f" . + "7065726174696f6e22a7010a204d757461746552656d61726b6574696e67" . + "416374696f6e73526573706f6e736512310a157061727469616c5f666169" . + "6c7572655f6572726f7218032001280b32122e676f6f676c652e7270632e" . + "53746174757312500a07726573756c747318022003280b323f2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "757461746552656d61726b6574696e67416374696f6e526573756c742236" . + "0a1d4d757461746552656d61726b6574696e67416374696f6e526573756c" . + "7412150a0d7265736f757263655f6e616d6518012001280932eb030a1852" . + "656d61726b6574696e67416374696f6e5365727669636512c9010a144765" . + "7452656d61726b6574696e67416374696f6e123d2e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e47657452656d" . + "61726b6574696e67416374696f6e526571756573741a342e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e7265736f75726365732e5265" . + "6d61726b6574696e67416374696f6e223c82d3e493023612342f76322f7b" . + "7265736f757263655f6e616d653d637573746f6d6572732f2a2f72656d61" . + "726b6574696e67416374696f6e732f2a7d12e5010a184d75746174655265" . + "6d61726b6574696e67416374696f6e7312412e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4d75746174655265" . + "6d61726b6574696e67416374696f6e73526571756573741a422e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "757461746552656d61726b6574696e67416374696f6e73526573706f6e73" . + "65224282d3e493023c22372f76322f637573746f6d6572732f7b63757374" . + "6f6d65725f69643d2a7d2f72656d61726b6574696e67416374696f6e733a" . + "6d75746174653a012a1a1bca4118676f6f676c656164732e676f6f676c65" . + "617069732e636f6d4284020a24636f6d2e676f6f676c652e6164732e676f" . + "6f676c656164732e76322e7365727669636573421d52656d61726b657469" . + "6e67416374696f6e5365727669636550726f746f50015a48676f6f676c65" . + "2e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65617069" . + "732f6164732f676f6f676c656164732f76322f73657276696365733b7365" . + "727669636573a20203474141aa0220476f6f676c652e4164732e476f6f67" . + "6c654164732e56322e5365727669636573ca0220476f6f676c655c416473" . + "5c476f6f676c654164735c56325c5365727669636573ea0224476f6f676c" . + "653a3a4164733a3a476f6f676c654164733a3a56323a3a53657276696365" . + "73620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/SearchTermViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/SearchTermViewService.php new file mode 100644 index 000000000..e256dc81e --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/SearchTermViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ad0050a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f7365617263685f7465726d5f766965775f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e" . + "742e70726f746f22310a184765745365617263685465726d566965775265" . + "717565737412150a0d7265736f757263655f6e616d6518012001280932f4" . + "010a155365617263685465726d566965775365727669636512bd010a1147" . + "65745365617263685465726d56696577123a2e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365732e4765745365617263" . + "685465726d56696577526571756573741a312e676f6f676c652e6164732e" . + "676f6f676c656164732e76322e7265736f75726365732e53656172636854" . + "65726d56696577223982d3e493023312312f76322f7b7265736f75726365" . + "5f6e616d653d637573746f6d6572732f2a2f7365617263685465726d5669" . + "6577732f2a7d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d4281020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573421a5365617263685465726d5669" . + "65775365727669636550726f746f50015a48676f6f676c652e676f6c616e" . + "672e6f72672f67656e70726f746f2f676f6f676c65617069732f6164732f" . + "676f6f676c656164732f76322f73657276696365733b7365727669636573" . + "a20203474141aa0220476f6f676c652e4164732e476f6f676c654164732e" . + "56322e5365727669636573ca0220476f6f676c655c4164735c476f6f676c" . + "654164735c56325c5365727669636573ea0224476f6f676c653a3a416473" . + "3a3a476f6f676c654164733a3a56323a3a5365727669636573620670726f" . + "746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/SharedCriterionService.php b/metadata/Google/Ads/GoogleAds/V2/Services/SharedCriterionService.php new file mode 100644 index 000000000..befc8e987 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/SharedCriterionService.php @@ -0,0 +1,79 @@ +internalAddGeneratedFile(hex2bin( + "0af60b0a3f676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f7368617265645f637269746572696f6e5f7365727669" . + "63652e70726f746f1220676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365731a1c676f6f676c652f6170692f616e6e6f74" . + "6174696f6e732e70726f746f1a1e676f6f676c652f70726f746f6275662f" . + "77726170706572732e70726f746f1a17676f6f676c652f7270632f737461" . + "7475732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70" . + "726f746f22320a19476574536861726564437269746572696f6e52657175" . + "65737412150a0d7265736f757263655f6e616d6518012001280922b2010a" . + "1b4d75746174655368617265644372697465726961526571756573741213" . + "0a0b637573746f6d65725f6964180120012809124e0a0a6f706572617469" . + "6f6e7318022003280b323a2e676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365732e536861726564437269746572696f6e" . + "4f7065726174696f6e12170a0f7061727469616c5f6661696c7572651803" . + "2001280812150a0d76616c69646174655f6f6e6c79180420012808227f0a" . + "18536861726564437269746572696f6e4f7065726174696f6e12440a0663" . + "726561746518012001280b32322e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e536861726564437269746572" . + "696f6e480012100a0672656d6f76651803200128094800420b0a096f7065" . + "726174696f6e22a1010a1c4d757461746553686172656443726974657269" . + "61526573706f6e736512310a157061727469616c5f6661696c7572655f65" . + "72726f7218032001280b32122e676f6f676c652e7270632e537461747573" . + "124e0a07726573756c747318022003280b323d2e676f6f676c652e616473" . + "2e676f6f676c656164732e76322e73657276696365732e4d757461746553" . + "6861726564437269746572696f6e526573756c7422340a1b4d7574617465" . + "536861726564437269746572696f6e526573756c7412150a0d7265736f75" . + "7263655f6e616d6518012001280932cf030a165368617265644372697465" . + "72696f6e5365727669636512bf010a124765745368617265644372697465" . + "72696f6e123b2e676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365732e476574536861726564437269746572696f6e5265" . + "71756573741a322e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e536861726564437269746572696f6e223882" . + "d3e493023212302f76322f7b7265736f757263655f6e616d653d63757374" . + "6f6d6572732f2a2f73686172656443726974657269612f2a7d12d5010a14" . + "4d75746174655368617265644372697465726961123d2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e73657276696365732e4d757461" . + "74655368617265644372697465726961526571756573741a3e2e676f6f67" . + "6c652e6164732e676f6f676c656164732e76322e73657276696365732e4d" . + "75746174655368617265644372697465726961526573706f6e7365223e82" . + "d3e493023822332f76322f637573746f6d6572732f7b637573746f6d6572" . + "5f69643d2a7d2f73686172656443726974657269613a6d75746174653a01" . + "2a1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d" . + "4282020a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e7365727669636573421b536861726564437269746572696f6e5365" . + "727669636550726f746f50015a48676f6f676c652e676f6c616e672e6f72" . + "672f67656e70726f746f2f676f6f676c65617069732f6164732f676f6f67" . + "6c656164732f76322f73657276696365733b7365727669636573a2020347" . + "4141aa0220476f6f676c652e4164732e476f6f676c654164732e56322e53" . + "65727669636573ca0220476f6f676c655c4164735c476f6f676c65416473" . + "5c56325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f" . + "6f676c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/SharedSetService.php b/metadata/Google/Ads/GoogleAds/V2/Services/SharedSetService.php new file mode 100644 index 000000000..dced0fcf1 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/SharedSetService.php @@ -0,0 +1,82 @@ +internalAddGeneratedFile(hex2bin( + "0aa60c0a39676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f7368617265645f7365745f736572766963652e70726f" . + "746f1220676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f1a20676f6f676c652f70726f746f6275662f6669656c645f" . + "6d61736b2e70726f746f1a1e676f6f676c652f70726f746f6275662f7772" . + "6170706572732e70726f746f1a17676f6f676c652f7270632f7374617475" . + "732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f" . + "746f222c0a134765745368617265645365745265717565737412150a0d72" . + "65736f757263655f6e616d6518012001280922a8010a174d757461746553" . + "6861726564536574735265717565737412130a0b637573746f6d65725f69" . + "6418012001280912480a0a6f7065726174696f6e7318022003280b32342e" . + "676f6f676c652e6164732e676f6f676c656164732e76322e736572766963" . + "65732e5368617265645365744f7065726174696f6e12170a0f7061727469" . + "616c5f6661696c75726518032001280812150a0d76616c69646174655f6f" . + "6e6c7918042001280822e4010a125368617265645365744f706572617469" . + "6f6e122f0a0b7570646174655f6d61736b18042001280b321a2e676f6f67" . + "6c652e70726f746f6275662e4669656c644d61736b123e0a066372656174" . + "6518012001280b322c2e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e7265736f75726365732e5368617265645365744800123e0a0675" . + "706461746518022001280b322c2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7265736f75726365732e536861726564536574480012" . + "100a0672656d6f76651803200128094800420b0a096f7065726174696f6e" . + "2297010a184d757461746553686172656453657473526573706f6e736512" . + "310a157061727469616c5f6661696c7572655f6572726f7218032001280b" . + "32122e676f6f676c652e7270632e53746174757312480a07726573756c74" . + "7318022003280b32372e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e4d75746174655368617265645365745265" . + "73756c74222e0a154d7574617465536861726564536574526573756c7412" . + "150a0d7265736f757263655f6e616d6518012001280932a3030a10536861" . + "7265645365745365727669636512a9010a0c476574536861726564536574" . + "12352e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365732e476574536861726564536574526571756573741a2c2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7265736f75726365" . + "732e536861726564536574223482d3e493022e122c2f76322f7b7265736f" . + "757263655f6e616d653d637573746f6d6572732f2a2f7368617265645365" . + "74732f2a7d12c5010a104d75746174655368617265645365747312392e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "732e4d757461746553686172656453657473526571756573741a3a2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e4d757461746553686172656453657473526573706f6e7365223a82d3e4" . + "930234222f2f76322f637573746f6d6572732f7b637573746f6d65725f69" . + "643d2a7d2f736861726564536574733a6d75746174653a012a1a1bca4118" . + "676f6f676c656164732e676f6f676c65617069732e636f6d42fc010a2463" . + "6f6d2e676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "766963657342155368617265645365745365727669636550726f746f5001" . + "5a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f67" . + "6f6f676c65617069732f6164732f676f6f676c656164732f76322f736572" . + "76696365733b7365727669636573a20203474141aa0220476f6f676c652e" . + "4164732e476f6f676c654164732e56322e5365727669636573ca0220476f" . + "6f676c655c4164735c476f6f676c654164735c56325c5365727669636573" . + "ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a" . + "3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewService.php new file mode 100644 index 000000000..c88cce0a9 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewService.php @@ -0,0 +1,53 @@ +internalAddGeneratedFile(hex2bin( + "0a95060a48676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f73686f7070696e675f706572666f726d616e63655f76" . + "6965775f736572766963652e70726f746f1220676f6f676c652e6164732e" . + "676f6f676c656164732e76322e73657276696365731a1c676f6f676c652f" . + "6170692f616e6e6f746174696f6e732e70726f746f1a17676f6f676c652f" . + "6170692f636c69656e742e70726f746f223a0a2147657453686f7070696e" . + "67506572666f726d616e6365566965775265717565737412150a0d726573" . + "6f757263655f6e616d65180120012809329e020a1e53686f7070696e6750" . + "6572666f726d616e6365566965775365727669636512de010a1a47657453" . + "686f7070696e67506572666f726d616e63655669657712432e676f6f676c" . + "652e6164732e676f6f676c656164732e76322e73657276696365732e4765" . + "7453686f7070696e67506572666f726d616e636556696577526571756573" . + "741a3a2e676f6f676c652e6164732e676f6f676c656164732e76322e7265" . + "736f75726365732e53686f7070696e67506572666f726d616e6365566965" . + "77223f82d3e493023912372f76322f7b7265736f757263655f6e616d653d" . + "637573746f6d6572732f2a2f73686f7070696e67506572666f726d616e63" . + "65566965777d1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d428a020a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e7365727669636573422353686f7070696e6750657266" . + "6f726d616e6365566965775365727669636550726f746f50015a48676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7365727669636573" . + "3b7365727669636573a20203474141aa0220476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e5365727669636573ca0220476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5365727669636573ea0224476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53657276" . + "69636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/TopicConstantService.php b/metadata/Google/Ads/GoogleAds/V2/Services/TopicConstantService.php new file mode 100644 index 000000000..484151d98 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/TopicConstantService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0abb050a3d676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f746f7069635f636f6e7374616e745f73657276696365" . + "2e70726f746f1220676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365731a1c676f6f676c652f6170692f616e6e6f746174" . + "696f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e" . + "70726f746f22300a17476574546f706963436f6e7374616e745265717565" . + "737412150a0d7265736f757263655f6e616d6518012001280932e3010a14" . + "546f706963436f6e7374616e745365727669636512ad010a10476574546f" . + "706963436f6e7374616e7412392e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365732e476574546f706963436f6e7374" . + "616e74526571756573741a302e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e7265736f75726365732e546f706963436f6e7374616e74" . + "222c82d3e493022612242f76322f7b7265736f757263655f6e616d653d74" . + "6f706963436f6e7374616e74732f2a7d1a1bca4118676f6f676c65616473" . + "2e676f6f676c65617069732e636f6d4280020a24636f6d2e676f6f676c65" . + "2e6164732e676f6f676c656164732e76322e73657276696365734219546f" . + "706963436f6e7374616e745365727669636550726f746f50015a48676f6f" . + "676c652e676f6c616e672e6f72672f67656e70726f746f2f676f6f676c65" . + "617069732f6164732f676f6f676c656164732f76322f7365727669636573" . + "3b7365727669636573a20203474141aa0220476f6f676c652e4164732e47" . + "6f6f676c654164732e56322e5365727669636573ca0220476f6f676c655c" . + "4164735c476f6f676c654164735c56325c5365727669636573ea0224476f" . + "6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a53657276" . + "69636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/TopicViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/TopicViewService.php new file mode 100644 index 000000000..1239a46ea --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/TopicViewService.php @@ -0,0 +1,49 @@ +internalAddGeneratedFile(hex2bin( + "0aa7050a39676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f746f7069635f766965775f736572766963652e70726f" . + "746f1220676f6f676c652e6164732e676f6f676c656164732e76322e7365" . + "7276696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e73" . + "2e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f74" . + "6f222c0a13476574546f706963566965775265717565737412150a0d7265" . + "736f757263655f6e616d6518012001280932db010a10546f706963566965" . + "775365727669636512a9010a0c476574546f7069635669657712352e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "2e476574546f70696356696577526571756573741a2c2e676f6f676c652e" . + "6164732e676f6f676c656164732e76322e7265736f75726365732e546f70" . + "696356696577223482d3e493022e122c2f76322f7b7265736f757263655f" . + "6e616d653d637573746f6d6572732f2a2f746f70696356696577732f2a7d" . + "1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d42" . + "fc010a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e73657276696365734215546f70696356696577536572766963655072" . + "6f746f50015a48676f6f676c652e676f6c616e672e6f72672f67656e7072" . + "6f746f2f676f6f676c65617069732f6164732f676f6f676c656164732f76" . + "322f73657276696365733b7365727669636573a20203474141aa0220476f" . + "6f676c652e4164732e476f6f676c654164732e56322e5365727669636573" . + "ca0220476f6f676c655c4164735c476f6f676c654164735c56325c536572" . + "7669636573ea0224476f6f676c653a3a4164733a3a476f6f676c65416473" . + "3a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/UserInterestService.php b/metadata/Google/Ads/GoogleAds/V2/Services/UserInterestService.php new file mode 100644 index 000000000..156da9098 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/UserInterestService.php @@ -0,0 +1,50 @@ +internalAddGeneratedFile(hex2bin( + "0abf050a3c676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f757365725f696e7465726573745f736572766963652e" . + "70726f746f1220676f6f676c652e6164732e676f6f676c656164732e7632" . + "2e73657276696365731a1c676f6f676c652f6170692f616e6e6f74617469" . + "6f6e732e70726f746f1a17676f6f676c652f6170692f636c69656e742e70" . + "726f746f222f0a1647657455736572496e74657265737452657175657374" . + "12150a0d7265736f757263655f6e616d6518012001280932ea010a135573" . + "6572496e7465726573745365727669636512b5010a0f4765745573657249" . + "6e74657265737412382e676f6f676c652e6164732e676f6f676c65616473" . + "2e76322e73657276696365732e47657455736572496e7465726573745265" . + "71756573741a2f2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e55736572496e746572657374223782d3e493" . + "0231122f2f76322f7b7265736f757263655f6e616d653d637573746f6d65" . + "72732f2a2f75736572496e746572657374732f2a7d1a1bca4118676f6f67" . + "6c656164732e676f6f676c65617069732e636f6d42ff010a24636f6d2e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "73421855736572496e7465726573745365727669636550726f746f50015a" . + "48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f2f676f" . + "6f676c65617069732f6164732f676f6f676c656164732f76322f73657276" . + "696365733b7365727669636573a20203474141aa0220476f6f676c652e41" . + "64732e476f6f676c654164732e56322e5365727669636573ca0220476f6f" . + "676c655c4164735c476f6f676c654164735c56325c5365727669636573ea" . + "0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56323a3a" . + "5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/UserListService.php b/metadata/Google/Ads/GoogleAds/V2/Services/UserListService.php new file mode 100644 index 000000000..d66f735d0 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/UserListService.php @@ -0,0 +1,81 @@ +internalAddGeneratedFile(hex2bin( + "0a920c0a38676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f757365725f6c6973745f736572766963652e70726f74" . + "6f1220676f6f676c652e6164732e676f6f676c656164732e76322e736572" . + "76696365731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e" . + "70726f746f1a20676f6f676c652f70726f746f6275662f6669656c645f6d" . + "61736b2e70726f746f1a1e676f6f676c652f70726f746f6275662f777261" . + "70706572732e70726f746f1a17676f6f676c652f7270632f737461747573" . + "2e70726f746f1a17676f6f676c652f6170692f636c69656e742e70726f74" . + "6f222b0a12476574557365724c6973745265717565737412150a0d726573" . + "6f757263655f6e616d6518012001280922a6010a164d7574617465557365" . + "724c697374735265717565737412130a0b637573746f6d65725f69641801" . + "2001280912470a0a6f7065726174696f6e7318022003280b32332e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "557365724c6973744f7065726174696f6e12170a0f7061727469616c5f66" . + "61696c75726518032001280812150a0d76616c69646174655f6f6e6c7918" . + "042001280822e1010a11557365724c6973744f7065726174696f6e122f0a" . + "0b7570646174655f6d61736b18042001280b321a2e676f6f676c652e7072" . + "6f746f6275662e4669656c644d61736b123d0a0663726561746518012001" . + "280b322b2e676f6f676c652e6164732e676f6f676c656164732e76322e72" . + "65736f75726365732e557365724c6973744800123d0a0675706461746518" . + "022001280b322b2e676f6f676c652e6164732e676f6f676c656164732e76" . + "322e7265736f75726365732e557365724c697374480012100a0672656d6f" . + "76651803200128094800420b0a096f7065726174696f6e2295010a174d75" . + "74617465557365724c69737473526573706f6e736512310a157061727469" . + "616c5f6661696c7572655f6572726f7218032001280b32122e676f6f676c" . + "652e7270632e53746174757312470a07726573756c747318022003280b32" . + "362e676f6f676c652e6164732e676f6f676c656164732e76322e73657276" . + "696365732e4d7574617465557365724c697374526573756c74222d0a144d" . + "7574617465557365724c697374526573756c7412150a0d7265736f757263" . + "655f6e616d65180120012809329a030a0f557365724c6973745365727669" . + "636512a5010a0b476574557365724c69737412342e676f6f676c652e6164" . + "732e676f6f676c656164732e76322e73657276696365732e476574557365" . + "724c697374526571756573741a2b2e676f6f676c652e6164732e676f6f67" . + "6c656164732e76322e7265736f75726365732e557365724c697374223382" . + "d3e493022d122b2f76322f7b7265736f757263655f6e616d653d63757374" . + "6f6d6572732f2a2f757365724c697374732f2a7d12c1010a0f4d75746174" . + "65557365724c6973747312382e676f6f676c652e6164732e676f6f676c65" . + "6164732e76322e73657276696365732e4d7574617465557365724c697374" . + "73526571756573741a392e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e4d7574617465557365724c6973747352" . + "6573706f6e7365223982d3e4930233222e2f76322f637573746f6d657273" . + "2f7b637573746f6d65725f69643d2a7d2f757365724c697374733a6d7574" . + "6174653a012a1a1bca4118676f6f676c656164732e676f6f676c65617069" . + "732e636f6d42fb010a24636f6d2e676f6f676c652e6164732e676f6f676c" . + "656164732e76322e73657276696365734214557365724c69737453657276" . + "69636550726f746f50015a48676f6f676c652e676f6c616e672e6f72672f" . + "67656e70726f746f2f676f6f676c65617069732f6164732f676f6f676c65" . + "6164732f76322f73657276696365733b7365727669636573a20203474141" . + "aa0220476f6f676c652e4164732e476f6f676c654164732e56322e536572" . + "7669636573ca0220476f6f676c655c4164735c476f6f676c654164735c56" . + "325c5365727669636573ea0224476f6f676c653a3a4164733a3a476f6f67" . + "6c654164733a3a56323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/UserLocationViewService.php b/metadata/Google/Ads/GoogleAds/V2/Services/UserLocationViewService.php new file mode 100644 index 000000000..adc2f1b5b --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/UserLocationViewService.php @@ -0,0 +1,51 @@ +internalAddGeneratedFile(hex2bin( + "0ae0050a41676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f757365725f6c6f636174696f6e5f766965775f736572" . + "766963652e70726f746f1220676f6f676c652e6164732e676f6f676c6561" . + "64732e76322e73657276696365731a1c676f6f676c652f6170692f616e6e" . + "6f746174696f6e732e70726f746f1a17676f6f676c652f6170692f636c69" . + "656e742e70726f746f22330a1a476574557365724c6f636174696f6e5669" . + "65775265717565737412150a0d7265736f757263655f6e616d6518012001" . + "280932fe010a17557365724c6f636174696f6e5669657753657276696365" . + "12c5010a13476574557365724c6f636174696f6e56696577123c2e676f6f" . + "676c652e6164732e676f6f676c656164732e76322e73657276696365732e" . + "476574557365724c6f636174696f6e56696577526571756573741a332e67" . + "6f6f676c652e6164732e676f6f676c656164732e76322e7265736f757263" . + "65732e557365724c6f636174696f6e56696577223b82d3e493023512332f" . + "76322f7b7265736f757263655f6e616d653d637573746f6d6572732f2a2f" . + "757365724c6f636174696f6e56696577732f2a7d1a1bca4118676f6f676c" . + "656164732e676f6f676c65617069732e636f6d4283020a24636f6d2e676f" . + "6f676c652e6164732e676f6f676c656164732e76322e7365727669636573" . + "421c557365724c6f636174696f6e566965775365727669636550726f746f" . + "50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f73" . + "657276696365733b7365727669636573a20203474141aa0220476f6f676c" . + "652e4164732e476f6f676c654164732e56322e5365727669636573ca0220" . + "476f6f676c655c4164735c476f6f676c654164735c56325c536572766963" . + "6573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/metadata/Google/Ads/GoogleAds/V2/Services/VideoService.php b/metadata/Google/Ads/GoogleAds/V2/Services/VideoService.php new file mode 100644 index 000000000..eedbdc701 --- /dev/null +++ b/metadata/Google/Ads/GoogleAds/V2/Services/VideoService.php @@ -0,0 +1,48 @@ +internalAddGeneratedFile(hex2bin( + "0a86050a34676f6f676c652f6164732f676f6f676c656164732f76322f73" . + "657276696365732f766964656f5f736572766963652e70726f746f122067" . + "6f6f676c652e6164732e676f6f676c656164732e76322e73657276696365" . + "731a1c676f6f676c652f6170692f616e6e6f746174696f6e732e70726f74" . + "6f1a17676f6f676c652f6170692f636c69656e742e70726f746f22280a0f" . + "476574566964656f5265717565737412150a0d7265736f757263655f6e61" . + "6d6518012001280932c7010a0c566964656f536572766963651299010a08" . + "476574566964656f12312e676f6f676c652e6164732e676f6f676c656164" . + "732e76322e73657276696365732e476574566964656f526571756573741a" . + "282e676f6f676c652e6164732e676f6f676c656164732e76322e7265736f" . + "75726365732e566964656f223082d3e493022a12282f76322f7b7265736f" . + "757263655f6e616d653d637573746f6d6572732f2a2f766964656f732f2a" . + "7d1a1bca4118676f6f676c656164732e676f6f676c65617069732e636f6d" . + "42f8010a24636f6d2e676f6f676c652e6164732e676f6f676c656164732e" . + "76322e73657276696365734211566964656f5365727669636550726f746f" . + "50015a48676f6f676c652e676f6c616e672e6f72672f67656e70726f746f" . + "2f676f6f676c65617069732f6164732f676f6f676c656164732f76322f73" . + "657276696365733b7365727669636573a20203474141aa0220476f6f676c" . + "652e4164732e476f6f676c654164732e56322e5365727669636573ca0220" . + "476f6f676c655c4164735c476f6f676c654164735c56325c536572766963" . + "6573ea0224476f6f676c653a3a4164733a3a476f6f676c654164733a3a56" . + "323a3a5365727669636573620670726f746f33" + ), true); + + static::$is_initialized = true; + } +} + diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClient.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClient.php new file mode 100644 index 000000000..0f4c13612 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClient.php @@ -0,0 +1,46 @@ +developerToken = $builder->getDeveloperToken(); + $this->loginCustomerId = $builder->getLoginCustomerId(); + $this->endpoint = $builder->getEndpoint(); + $this->oAuth2Credential = $builder->getOAuth2Credential(); + $this->logger = $builder->getLogger(); + $this->logLevel = $builder->getLogLevel(); + $this->proxy = $builder->getProxy(); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilder.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilder.php new file mode 100644 index 000000000..b1147a0e8 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilder.php @@ -0,0 +1,323 @@ +configurationLoader = new ConfigurationLoader(); + $this->loggerFactory = new LoggerFactory(); + } + + /** + * Reads configuration settings from the specified file path. The file path + * is optional, and if omitted, it will look for the default configuration + * filename in the home directory of the user running PHP. + * + * @param string $path the file path + * @return self this builder populated from the configuration + * @throws InvalidArgumentException if the configuration file could not be + * found + */ + public function fromFile(string $path = null) + { + if ($path === null) { + $path = self::DEFAULT_CONFIGURATION_FILENAME; + } + return $this->from($this->configurationLoader->fromFile($path)); + } + + /** + * Populates this builder from the specified configuration object. + * + * @param Configuration $configuration the configuration + * @return self this builder populated from the configuration + */ + public function from(Configuration $configuration) + { + $this->developerToken = + $configuration->getConfiguration('developerToken', 'GOOGLE_ADS'); + $this->loginCustomerId = $configuration->getConfiguration('loginCustomerId', 'GOOGLE_ADS'); + $this->endpoint = + $configuration->getConfiguration('endpoint', 'GOOGLE_ADS'); + $this->logLevel = $configuration->getConfiguration('logLevel', 'LOGGING'); + $this->logger = $this->loggerFactory->createLogger( + self::$DEFAULT_LOGGER_CHANNEL, + $configuration->getConfiguration('logFilePath', 'LOGGING'), + $this->logLevel + ); + $this->proxy = $configuration->getConfiguration('proxy', 'CONNECTION'); + + return $this; + } + + /** + * Includes a developer token. This is required. + * + * @param string $developerToken + * @return self this builder + */ + public function withDeveloperToken(string $developerToken) + { + $this->developerToken = $developerToken; + return $this; + } + + /** + * Sets the login customer ID for this client. + * Required for manager accounts only. When authenticating as a Google Ads manager account, + * specifies the customer ID of the authenticating manager account. + * + *
If your OAuth credentials are for a user with access to multiple manager accounts you must + * create a separate GoogleAdsClient instance for each manager account. Use this method to + * set each login customer ID and call build() to create a separate instance. + * + * @param string|null $loginCustomerId the login customer ID + * @return self this builder + */ + public function withLoginCustomerId(?string $loginCustomerId) + { + $this->loginCustomerId = $loginCustomerId; + return $this; + } + + /** + * Includes the Google Ads API server's base endpoint. This is optional. + * + * @param string|null $endpoint + * @return self this builder + */ + public function withEndpoint($endpoint) + { + $this->endpoint = $endpoint; + return $this; + } + + /** + * Includes the OAuth2 credential to be used for authentication. This is + * required. + * + * @param FetchAuthTokenInterface $oAuth2Credential + * @return self this builder + */ + public function withOAuth2Credential(FetchAuthTokenInterface $oAuth2Credential) + { + $this->oAuth2Credential = $oAuth2Credential; + return $this; + } + + /** + * Includes a logger to log requests and responses. + * + * @param LoggerInterface $logger + * @return self this builder + */ + public function withLogger(LoggerInterface $logger) + { + $this->logger = $logger; + return $this; + } + + /** + * Sets the log level for Google Ads API requests and responses. + * + * @param string $logLevel the PSR-3 log level name, e.g., INFO + * @return self this builder + */ + public function withLogLevel(string $logLevel) + { + $this->logLevel = $logLevel; + return $this; + } + + /** + * Sets the proxy URI for Google Ads API requests in the format protocol://user:pass@host:port. + * + * @param string $proxy the proxy URI, e.g., http://user:password@localhost:8080 + * @return self this builder + */ + public function withProxy(string $proxy) + { + $this->proxy = $proxy; + return $this; + } + + /** + * @see GoogleAdsBuilder::build() + * + * @return GoogleAdsClient the created Google Ads client + */ + public function build() + { + $this->defaultOptionals(); + $this->validate(); + + return new GoogleAdsClient($this); + } + + /** + * @see GoogleAdsBuilder::defaultOptionals() + */ + public function defaultOptionals() + { + // No default optionals for this class. + } + + /** + * @see GoogleAdsBuilder::validate() + */ + public function validate() + { + if (is_null($this->developerToken) || empty(trim($this->developerToken))) { + throw new InvalidArgumentException('A developer token must be set.'); + } + if (!empty($this->loginCustomerId) && $this->loginCustomerId < 0) { + throw new InvalidArgumentException('The login customer ID must be a positive number.'); + } + + // Use parse_url instead of filter_var to do less restrict validation. + // This is because we need to allow endpoint in the form of "googleads.googleapis.com", + // but filter_var doesn't allow that. + if (!empty($this->endpoint) && parse_url($this->endpoint) === false) { + throw new InvalidArgumentException('Endpoint must be a valid URL.'); + } + + // For the proxy URI using filter_var is ok because the GRPC library expects the URI + // in a very specific format. + if (!empty($this->proxy) && + filter_var( + $this->proxy, + FILTER_VALIDATE_URL, + FILTER_FLAG_SCHEME_REQUIRED | FILTER_FLAG_HOST_REQUIRED + ) === false) { + throw new InvalidArgumentException( + 'Proxy must be a valid URI in the form protocol://user:pass@host:port' + ); + } + + if ($this->oAuth2Credential === null) { + throw new InvalidArgumentException( + 'OAuth2 authentication credentials must not be null.' + ); + } + + if (is_null($this->logLevel)) { + $this->logLevel = LogLevel::INFO; + } elseif (!defined('Psr\Log\LogLevel::' . strtoupper($this->logLevel))) { + throw new InvalidArgumentException("The log level must be a valid PSR log level"); + } + } + + /** + * Gets the developer token. + * + * @return string + */ + public function getDeveloperToken() + { + return $this->developerToken; + } + + /** + * Gets the login customer ID for this client. + * + * @return int + */ + public function getLoginCustomerId() + { + return $this->loginCustomerId; + } + + /** + * Gets the endpoint. + * + * @return string + */ + public function getEndpoint() + { + return $this->endpoint; + } + + /** + * Gets the OAuth2 credential. + * + * @return FetchAuthTokenInterface + */ + public function getOAuth2Credential() + { + return $this->oAuth2Credential; + } + + /** + * Gets the logger used to log requests and responses. + * + * @return LoggerInterface + */ + public function getLogger() + { + return $this->logger; + } + + /** + * Gets the PSR-3 log level for Google Ads API requests and responses. + * + * @return string the log level + */ + public function getLogLevel() + { + return $this->logLevel; + } + + /** + * Gets the proxy URI. + * + * @return string the proxy URI + */ + public function getProxy() + { + return $this->proxy; + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsException.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsException.php new file mode 100644 index 000000000..d23dc0988 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsException.php @@ -0,0 +1,74 @@ +getMessage(), + $original->getCode(), + $original->getStatus(), + $optionalArgs + ); + $this->googleAdsFailure = $googleAdsFailure; + } + + /** + * @return GoogleAdsFailure the stored Google Ads failure + */ + public function getGoogleAdsFailure() + { + return $this->googleAdsFailure; + } + + /** + * Gets the request ID returned in the RPC trailers. + * Returns null if no request ID has been received. + * + * @return string|null the request ID + */ + public function getRequestId() + { + return $this->getFirstHeaderValue( + self::$REQUEST_ID_HEADER_KEY, + $this->getMetadata() ?: [] + ); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsExceptionMiddleware.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsExceptionMiddleware.php new file mode 100644 index 000000000..f0cfa5fd4 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsExceptionMiddleware.php @@ -0,0 +1,108 @@ +nextHandler = $nextHandler; + $this->statusMetadataExtractor = $statusMetadataExtractor ?: new StatusMetadataExtractor(); + } + + /** + * Throws a `GoogleAdsException` when calls to the Google Ads API server + * fail. + * + * @param Call $call the current request + * @param array $options the optional parameters + * @return \GuzzleHttp\Promise\PromiseInterface the `Promise` interface + * customized to throw `GoogleAdsException` + */ + public function __invoke(Call $call, array $options) + { + $next = $this->nextHandler; + /** @var Promise $promise */ + $promise = $next( + $call, + $options + ); + + return $promise->then( + null, + function ($exception) { + if ($exception instanceof ApiException) { + $metadata = $exception->getMetadata(); + + if (isset($metadata[self::$GOOGLE_ADS_FAILURE_BINARY_KEY])) { + throw $this->createGoogleAdsException( + $exception, + $this->statusMetadataExtractor->extractGoogleAdsFailure( + $metadata, + self::$GOOGLE_ADS_FAILURE_BINARY_KEY + ) + ); + } + + if (isset($metadata[self::$GOOGLE_ADS_FAILURE_JSON_KEY])) { + throw $this->createGoogleAdsException( + $exception, + $this->statusMetadataExtractor->extractGoogleAdsFailure( + $metadata, + self::$GOOGLE_ADS_FAILURE_JSON_KEY + ) + ); + } + } + throw $exception; + } + ); + } + + private function createGoogleAdsException( + ApiException $exception, + GoogleAdsFailure $googleAdsFailure + ) { + $optionalArgs = [ + 'previous' => $exception->getPrevious(), + 'metadata' => $exception->getMetadata(), + 'basicMessage' => $exception->getBasicMessage() + ]; + return new GoogleAdsException($exception, $googleAdsFailure, $optionalArgs); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsGapicClientTrait.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsGapicClientTrait.php new file mode 100644 index 000000000..e716cc8cd --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsGapicClientTrait.php @@ -0,0 +1,85 @@ +developerToken = $options[self::$DEVELOPER_TOKEN_KEY]; + } + if (isset($options[self::$LOGIN_CUSTOMER_ID])) { + $this->loginCustomerId = $options[self::$LOGIN_CUSTOMER_ID]; + } + + // Ensure that this isn't already an OperationsClient nor GoogleAdsOperationClient to avoid + // recursion. + if (!isset($options['operationsClient']) + && get_class($this) != OperationsClient::class + && get_class($this) != GoogleAdsOperationClient::class) { + $operationOptions = $options; + // Use all the options except for those related to this service instance. + $this->pluckArray([ + 'serviceName', + 'clientConfig', + 'descriptorsConfigPath', + ], $operationOptions); + // Sets the options for handling long running operations. + $options['operationsClient'] = new GoogleAdsOperationClient($operationOptions); + } + } + + /** + * @see GapicClientTrait::modifyUnaryCallable() + */ + protected function modifyUnaryCallable(callable &$callable) + { + if (!is_null($this->developerToken)) { + $headers = [self::$DEVELOPER_TOKEN_KEY => [$this->developerToken]]; + + if (!is_null($this->loginCustomerId)) { + $headers[self::$LOGIN_CUSTOMER_ID] = [$this->loginCustomerId]; + } + + $callable = new FixedHeaderMiddleware($callable, $headers); + } + $callable = new GoogleAdsExceptionMiddleware($callable); + $callable = new GoogleAdsResponseMetadataCallable($callable); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingInterceptor.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingInterceptor.php new file mode 100644 index 000000000..7dd67d8ab --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingInterceptor.php @@ -0,0 +1,76 @@ +unaryCallLogger = $unaryCallLogger; + } + + /** + * @see UnaryInterceptorInterface::interceptUnaryUnary() + * + * @param mixed $method + * @param mixed $argument + * @param $deserialize + * @param array $metadata + * @param array $options + * @param callable $continuation + * @return GoogleAdsLoggingUnaryCall + */ + public function interceptUnaryUnary( + $method, + $argument, + $deserialize, + array $metadata, + array $options, + callable $continuation + ) { + return new GoogleAdsLoggingUnaryCall( + $continuation($method, $argument, $deserialize, $metadata, $options), + compact('method', 'argument', 'deserialize', 'metadata', 'options'), + $this->unaryCallLogger + ); + } + + /** + * Gets the Google Ads unary call logger. + * + * @return GoogleAdsUnaryCallLogger + */ + public function getUnaryCallLogger() + { + return $this->unaryCallLogger; + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingUnaryCall.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingUnaryCall.php new file mode 100644 index 000000000..393957871 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsLoggingUnaryCall.php @@ -0,0 +1,64 @@ +lastRequestData = $lastRequestData; + $this->googleAdsUnaryCallLogger = $googleAdsUnaryCallLogger; + } + + /** + * {@inheritdoc} + */ + public function wait() + { + list($response, $status) = parent::wait(); + $this->googleAdsUnaryCallLogger->logSummary( + $this->lastRequestData, + compact('response', 'status') + ['unaryCall' => $this] + ); + $this->googleAdsUnaryCallLogger->logDetails( + $this->lastRequestData, + compact('response', 'status') + ['unaryCall' => $this] + ); + return [$response, $status]; + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsMetadataTrait.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsMetadataTrait.php new file mode 100644 index 000000000..321cd939a --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsMetadataTrait.php @@ -0,0 +1,49 @@ + 0) { + return $valueArray[0]; + } + } + return null; + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsOperationClient.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsOperationClient.php new file mode 100644 index 000000000..fe4d86cf7 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsOperationClient.php @@ -0,0 +1,28 @@ +metadata = $metadata; + } + + /** + * Gets an associative array of metadata keys and values. + * Keys are strings and values are arrays of string values or binary message data. + * + * @return array an associative array of metadata keys and values. + */ + public function getMetadata() + { + return $this->metadata; + } + + /** + * Gets the request ID returned in the RPC trailers. + * Returns null if no request ID has been received. + * + * @return string|null the request ID + */ + public function getRequestId() + { + return $this->getFirstHeaderValue( + self::$REQUEST_ID_HEADER_KEY, + $this->getMetadata() ?: [] + ); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsResponseMetadataCallable.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsResponseMetadataCallable.php new file mode 100644 index 000000000..06ea590d9 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsResponseMetadataCallable.php @@ -0,0 +1,64 @@ +nextHandler = $nextHandler; + } + + /** + * @param Call $call the current request + * @param array $options the optional parameters + * @return array|\GuzzleHttp\Promise\PromiseInterface the two-member array of + * response and metadata if `withResponseMetadata` is specified as an option; + * Or else, the `Promise` interface of the next handler + */ + public function __invoke(Call $call, array $options) + { + if (isset($options['withResponseMetadata']) + && !empty($options['withResponseMetadata'])) { + $next = new ResponseMetadataMiddleware($this->nextHandler); + return $next($call, $options)->then(function ($responseList) { + list($response, $metadata) = $responseList; + return [$response, new GoogleAdsResponseMetadata($metadata)]; + }); + } else { + $next = $this->nextHandler; + return $next($call, $options); + } + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsUnaryCallLogger.php b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsUnaryCallLogger.php new file mode 100644 index 000000000..0eef5d4a3 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/GoogleAdsUnaryCallLogger.php @@ -0,0 +1,155 @@ +logger = $logger; + $this->filterLevel = $filterLevel; + $this->endpoint = $endpoint; + $this->logMessageFormatter = $logMessageFormatter ?: new LogMessageFormatter(); + $this->context = $context; + if (!isset(self::$logLevelList) || !isset(self::$logLevelNamesToNormalizedValues)) { + self::$logLevelList = array_keys(Logger::getLevels()); + self::$logLevelNamesToNormalizedValues = array_flip(self::$logLevelList); + } + } + + /** + * Logs the summary of the request and response. + * + * @param array $requestData the request data to log + * @param array $responseData the response data to log + */ + public function logSummary( + array $requestData, + array $responseData + ) { + $level = $this->getAppropriateLogLevel($responseData['status']->code); + if ($this->isEnabled($level)) { + $this->logger->log( + $level, + $this->logMessageFormatter->formatSummary( + $requestData, + $responseData, + $this->endpoint + ), + $this->context + ); + } + } + + /** + * Logs the details of the request, response, and errors if there are any. + * + * @param array $requestData the request data to log + * @param array $responseData the response data to log + */ + public function logDetails( + array $requestData, + array $responseData + ) { + // Logs details at one finer level than the summary. + $level = self::getNextFinerLogLevel( + $this->getAppropriateLogLevel($responseData['status']->code) + ); + + if ($this->isEnabled($level)) { + $this->logger->log( + $level, + $this->logMessageFormatter->formatDetail($requestData, $responseData, $this->endpoint), + $this->context + ); + } + } + + /** + * Returns the appropriate log level depending on the response code. + * For successful requests, use INFO. For failed requests, use WARNING. + * @return string the log level to use + */ + private function getAppropriateLogLevel($code): string + { + return $code === 0 ? LogLevel::INFO : LogLevel::WARNING; + } + + /** + * Returns true if $level is enabled, i.e. if the log level that this logger supports is + * less than or equal to $level. + * @return bool true if $level is enabled, false otherwise + */ + private function isEnabled(string $level): bool + { + return self::$logLevelNamesToNormalizedValues[strtoupper($this->filterLevel)] <= + self::$logLevelNamesToNormalizedValues[strtoupper($level)]; + } + + /** + * Returns the next finer PSR-3 log level for the specified log level. + * + * @param string $level the current log level + * @return string the level name + */ + private static function getNextFinerLogLevel($level) + { + $currentLevel = self::$logLevelNamesToNormalizedValues[strtoupper($level)]; + if (!isset($currentLevel)) { + throw new \InvalidArgumentException("The specified log level '$level' is invalid."); + } + if ($currentLevel === 0) { + // DEBUG is the finest level, so returns itself instead. + return $level; + } + + return self::$logLevelList[$currentLevel - 1]; + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatter.php b/src/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatter.php new file mode 100644 index 000000000..a24fab22f --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatter.php @@ -0,0 +1,196 @@ +statusMetadataExtractor = $statusMetadataExtractor ?: new StatusMetadataExtractor(); + } + + /** + * Formats the request and response data for summary logging. + * + * @param array $requestData the request data + * @param array $responseData the response data + * @param string $endpoint the API endpoint that the request has been sent to + * @return string the formatted logging message + */ + public function formatSummary( + array $requestData, + array $responseData, + $endpoint + ) { + $method = $this->pluck('method', $requestData); + $argument = $this->pluck('argument', $requestData); + + $status = $this->pluck('status', $responseData); + + if ($status->code !== 0) { + $errorMessageList = + $this->statusMetadataExtractor->extractErrorMessageList($status->metadata); + } + + return sprintf( + 'Request made: Host: "%s", Method: "%s", ClientCustomerId: %d, RequestId: "%s", ' + . 'IsFault: %b, FaultMessage: "%s"', + $endpoint, + $method, + method_exists($argument, 'getCustomerId') + ? $argument->getCustomerId() : '"No client customer ID used"', + $this->getFirstHeaderValue(self::$REQUEST_ID_HEADER_KEY, $status->metadata), + $status->code !== 0, + !empty($errorMessageList) ? json_encode($errorMessageList) : 'None' + ); + } + + /** + * Formats the request and response data for detailed logging. + * + * @param array $requestData the request data + * @param array $responseData the response data + * @param string $endpoint the API endpoint that the request has been sent to + * @return string the formatted logging message + */ + public function formatDetail( + array $requestData, + array $responseData, + $endpoint + ) { + $logMessageTokens = []; + + $method = $this->pluck('method', $requestData); + $argument = $this->pluck('argument', $requestData); + $metadata = $this->pluck('metadata', $requestData) ?: []; + + $response = $this->pluck('response', $responseData); + $status = $this->pluck('status', $responseData); + $unaryCall = $this->pluck('unaryCall', $responseData); + + $logMessageTokens[] = 'Request'; + $logMessageTokens[] = '-------'; + $logMessageTokens[] = "Method Name: $method"; + $logMessageTokens[] = "Host: $endpoint"; + $logMessageTokens[] = "Headers: " . json_encode( + self::redactHeaders(self::joinPluckedArrays($metadata)), + JSON_PRETTY_PRINT + ); + // ListMutateJobResults can return objects that contain GoogleAdsFailure. We need to + // initialize an unused GoogleAdsFailure object, as the pool needs to be aware of this + // class, in order to serialize the response correctly. + if (!isset(self::$unusedGoogleAdsFailure) + && strpos($method, 'ListMutateJobResults')) { + self::$unusedGoogleAdsFailure = new GoogleAdsFailure(); + } + $logMessageTokens[] = "Request: " . $argument->serializeToJsonString(); + + $logMessageTokens[] = "\nResponse"; + $logMessageTokens[] = '-------'; + $logMessageTokens[] = "Headers: " . json_encode( + self::joinPluckedArrays($unaryCall->getMetadata()), + JSON_PRETTY_PRINT + ); + + if ($status->code === 0) { + // Initialize unused GoogleAdsFailure object when there are partial failures returned. + // This is necessary, as the pool needs to be aware of this class, in order to serialize + // the response correctly. + if (!isset(self::$unusedGoogleAdsFailure) + && method_exists($response, 'getPartialFailureError') + && !is_null($response->getPartialFailureError())) { + self::$unusedGoogleAdsFailure = new GoogleAdsFailure(); + } + $logMessageTokens[] = "Response: {$response->serializeToJsonString()}"; + } else { + $googleAdsFailure = + $this->statusMetadataExtractor->extractGoogleAdsFailure($status->metadata); + + $logMessageTokens[] = "\nFault"; + $logMessageTokens[] = '-------'; + $logMessageTokens[] = "Status code: {$status->code}"; + $logMessageTokens[] = "Details: {$status->details}"; + $logMessageTokens[] = "Failure: {$googleAdsFailure->serializeToJsonString()}"; + } + + return implode("\n", $logMessageTokens); + } + + /** + * @param array $array + * @return array the joined array after plucking + */ + private function joinPluckedArrays(array $array) + { + $joinedArray = []; + foreach (array_keys($array) as $key) { + $joinedArray[$key] = $this->pluck($key, $array)[0]; + } + + return $joinedArray; + } + + /** + * @param array $headers the headers to be redacted + * @param array|null $headerKeysToRedactedValues the mapping from keys to values needing + * redaction + * @return array the headers with values redacted + */ + private function redactHeaders( + array $headers, + array $headerKeysToRedactedValues = null + ) { + $headerKeysToRedactedValues = + $headerKeysToRedactedValues ?: self::getDefaultHeaderKeysToRedactedValues(); + foreach ($headers as $header => $value) { + if (array_key_exists($header, $headerKeysToRedactedValues)) { + $headers[$header] = $headerKeysToRedactedValues[$header]; + } + } + return $headers; + } + + /** + * @return array the mapping of header keys to redacted values + */ + private static function getDefaultHeaderKeysToRedactedValues() + { + if (!isset(self::$HEADER_KEYS_TO_REDACTED_VALUES)) { + self::$HEADER_KEYS_TO_REDACTED_VALUES = [ + self::$DEVELOPER_TOKEN_HEADER_KEY => 'REDACTED' + ]; + } + + return self::$HEADER_KEYS_TO_REDACTED_VALUES; + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/LoggerFactory.php b/src/Google/Ads/GoogleAds/Lib/V2/LoggerFactory.php new file mode 100644 index 000000000..3fcc171ba --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/LoggerFactory.php @@ -0,0 +1,51 @@ +getFormatter()->ignoreEmptyContextAndExtra(); + $handler->getFormatter()->allowInlineLineBreaks(); + + return new Logger($channel, [$handler]); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/ServiceClientFactoryTrait.php b/src/Google/Ads/GoogleAds/Lib/V2/ServiceClientFactoryTrait.php new file mode 100644 index 000000000..3de0c1f67 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/ServiceClientFactoryTrait.php @@ -0,0 +1,993 @@ + $this->getOAuth2Credential(), + self::$DEVELOPER_TOKEN_KEY => $this->getDeveloperToken() + ]; + if (!empty($this->getLoginCustomerId())) { + $clientOptions += [self::$LOGIN_CUSTOMER_ID_KEY => $this->getLoginCustomerId()]; + } + if (!empty($this->getEndpoint())) { + $clientOptions += [self::$SERVICE_ADDRESS_KEY => $this->getEndpoint()]; + } + + $clientOptions['transportConfig'] = [ + 'grpc' => [ + 'stubOpts' => [ + // Inbound headers may exceed default (8kb) max header size. + // Sets max header size to 16MB, which should be more than necessary. + 'grpc.max_metadata_size' => 16 * 1024 * 1024, + // Sets max response size to 64MB, since large responses will often exceed the + // default (4MB). + 'grpc.max_receive_message_length' => 64 * 1024 * 1024 + ] + ] + ]; + if (!empty($this->getLogger())) { + $googleAdsLoggingInterceptor = new GoogleAdsLoggingInterceptor( + new GoogleAdsUnaryCallLogger( + $this->getLogger(), + $this->getLogLevel(), + $this->getEndpoint() ?: self::$DEFAULT_SERVICE_ADDRESS + ) + ); + $clientOptions['transportConfig']['grpc'] += [ + 'interceptors' => [$googleAdsLoggingInterceptor] + ]; + } + + if (!empty($this->getProxy())) { + putenv('http_proxy=' . $this->getProxy()); + } + + return $clientOptions; + } + + /** + * @return AccountBudgetProposalServiceClient + */ + public function getAccountBudgetProposalServiceClient() + { + return new AccountBudgetProposalServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AccountBudgetServiceClient + */ + public function getAccountBudgetServiceClient() + { + return new AccountBudgetServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupAdServiceClient + */ + public function getAdGroupAdServiceClient() + { + return new AdGroupAdServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupAdLabelServiceClient + */ + public function getAdGroupAdLabelServiceClient() + { + return new AdGroupAdLabelServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupAudienceViewServiceClient + */ + public function getAdGroupAudienceViewServiceClient() + { + return new AdGroupAudienceViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupBidModifierServiceClient + */ + public function getAdGroupBidModifierServiceClient() + { + return new AdGroupBidModifierServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupCriterionLabelServiceClient + */ + public function getAdGroupCriterionLabelServiceClient() + { + return new AdGroupCriterionLabelServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupCriterionServiceClient + */ + public function getAdGroupCriterionServiceClient() + { + return new AdGroupCriterionServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupCriterionSimulationServiceClient + */ + public function getAdGroupCriterionSimulationServiceClient() + { + return new AdGroupCriterionSimulationServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupExtensionSettingServiceClient + */ + public function getAdGroupExtensionSettingServiceClient() + { + return new AdGroupExtensionSettingServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupFeedServiceClient + */ + public function getAdGroupFeedServiceClient() + { + return new AdGroupFeedServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupLabelServiceClient + */ + public function getAdGroupLabelServiceClient() + { + return new AdGroupLabelServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupServiceClient + */ + public function getAdGroupServiceClient() + { + return new AdGroupServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdGroupSimulationServiceClient + */ + public function getAdGroupSimulationServiceClient() + { + return new AdGroupSimulationServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdParameterServiceClient + */ + public function getAdParameterServiceClient() + { + return new AdParameterServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdScheduleViewServiceClient + */ + public function getAdScheduleViewServiceClient() + { + return new AdScheduleViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AdServiceClient + */ + public function getAdServiceClient() + { + return new AdServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AgeRangeViewServiceClient + */ + public function getAgeRangeViewServiceClient() + { + return new AgeRangeViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return AssetServiceClient + */ + public function getAssetServiceClient() + { + return new AssetServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return BiddingStrategyServiceClient + */ + public function getBiddingStrategyServiceClient() + { + return new BiddingStrategyServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return BillingSetupServiceClient + */ + public function getBillingSetupServiceClient() + { + return new BillingSetupServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignAudienceViewServiceClient + */ + public function getCampaignAudienceViewServiceClient() + { + return new CampaignAudienceViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignBidModifierServiceClient + */ + public function getCampaignBidModifierServiceClient() + { + return new CampaignBidModifierServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignBudgetServiceClient + */ + public function getCampaignBudgetServiceClient() + { + return new CampaignBudgetServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignCriterionServiceClient + */ + public function getCampaignCriterionServiceClient() + { + return new CampaignCriterionServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignCriterionSimulationServiceClient + */ + public function getCampaignCriterionSimulationServiceClient() + { + return new CampaignCriterionSimulationServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignDraftServiceClient + */ + public function getCampaignDraftServiceClient() + { + return new CampaignDraftServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignExperimentServiceClient + */ + public function getCampaignExperimentServiceClient() + { + return new CampaignExperimentServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignExtensionSettingServiceClient + */ + public function getCampaignExtensionSettingServiceClient() + { + return new CampaignExtensionSettingServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignFeedServiceClient + */ + public function getCampaignFeedServiceClient() + { + return new CampaignFeedServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignLabelServiceClient + */ + public function getCampaignLabelServiceClient() + { + return new CampaignLabelServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignServiceClient + */ + public function getCampaignServiceClient() + { + return new CampaignServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CampaignSharedSetServiceClient + */ + public function getCampaignSharedSetServiceClient() + { + return new CampaignSharedSetServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CarrierConstantServiceClient + */ + public function getCarrierConstantServiceClient() + { + return new CarrierConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ChangeStatusServiceClient + */ + public function getChangeStatusServiceClient() + { + return new ChangeStatusServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ClickViewServiceClient + */ + public function getClickViewServiceClient() + { + return new ClickViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ConversionActionServiceClient + */ + public function getConversionActionServiceClient() + { + return new ConversionActionServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ConversionAdjustmentUploadServiceClient + */ + public function getConversionAdjustmentUploadServiceClient() + { + return new ConversionAdjustmentUploadServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ConversionUploadServiceClient + */ + public function getConversionUploadServiceClient() + { + return new ConversionUploadServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerClientLinkServiceClient + */ + public function getCustomerClientLinkServiceClient() + { + return new CustomerClientLinkServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerClientServiceClient + */ + public function getCustomerClientServiceClient() + { + return new CustomerClientServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerExtensionSettingServiceClient + */ + public function getCustomerExtensionSettingServiceClient() + { + return new CustomerExtensionSettingServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerFeedServiceClient + */ + public function getCustomerFeedServiceClient() + { + return new CustomerFeedServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerLabelServiceClient + */ + public function getCustomerLabelServiceClient() + { + return new CustomerLabelServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerManagerLinkServiceClient + */ + public function getCustomerManagerLinkServiceClient() + { + return new CustomerManagerLinkServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerNegativeCriterionServiceClient + */ + public function getCustomerNegativeCriterionServiceClient() + { + return new CustomerNegativeCriterionServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomerServiceClient + */ + public function getCustomerServiceClient() + { + return new CustomerServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return CustomInterestServiceClient + */ + public function getCustomInterestServiceClient() + { + return new CustomInterestServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return DisplayKeywordViewServiceClient + */ + public function getDisplayKeywordViewServiceClient() + { + return new DisplayKeywordViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return DetailPlacementViewServiceClient + */ + public function getDetailPlacementViewServiceClient() + { + return new DetailPlacementViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return DomainCategoryServiceClient + */ + public function getDomainCategoryServiceClient() + { + return new DomainCategoryServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return DynamicSearchAdsSearchTermViewServiceClient + */ + public function getDynamicSearchAdsSearchTermViewServiceClient() + { + return new DynamicSearchAdsSearchTermViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ExtensionFeedItemServiceClient + */ + public function getExtensionFeedItemServiceClient() + { + return new ExtensionFeedItemServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ExpandedLandingPageViewServiceClient + */ + public function getExpandedLandingPageViewServiceClient() + { + return new ExpandedLandingPageViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return FeedItemServiceClient + */ + public function getFeedItemServiceClient() + { + return new FeedItemServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return FeedItemTargetServiceClient + */ + public function getFeedItemTargetServiceClient() + { + return new FeedItemTargetServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return FeedMappingServiceClient + */ + public function getFeedMappingServiceClient() + { + return new FeedMappingServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return FeedPlaceholderViewServiceClient + */ + public function getFeedPlaceholderViewServiceClient() + { + return new FeedPlaceholderViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return FeedServiceClient + */ + public function getFeedServiceClient() + { + return new FeedServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return GenderViewServiceClient + */ + public function getGenderViewServiceClient() + { + return new GenderViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return GeographicViewServiceClient + */ + public function getGeographicViewServiceClient() + { + return new GeographicViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return GeoTargetConstantServiceClient + */ + public function getGeoTargetConstantServiceClient() + { + return new GeoTargetConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return GoogleAdsFieldServiceClient + */ + public function getGoogleAdsFieldServiceClient() + { + return new GoogleAdsFieldServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return GoogleAdsServiceClient + */ + public function getGoogleAdsServiceClient() + { + return new GoogleAdsServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return HotelPerformanceViewServiceClient + */ + public function getHotelPerformanceViewServiceClient() + { + return new HotelPerformanceViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return GroupPlacementViewServiceClient + */ + public function getGroupPlacementViewServiceClient() + { + return new GroupPlacementViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return HotelGroupViewServiceClient + */ + public function getHotelGroupViewServiceClient() + { + return new HotelGroupViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordPlanAdGroupServiceClient + */ + public function getKeywordPlanAdGroupServiceClient() + { + return new KeywordPlanAdGroupServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordPlanCampaignServiceClient + */ + public function getKeywordPlanCampaignServiceClient() + { + return new KeywordPlanCampaignServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordPlanIdeaServiceClient + */ + public function getKeywordPlanIdeaServiceClient() + { + return new KeywordPlanIdeaServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordPlanKeywordServiceClient + */ + public function getKeywordPlanKeywordServiceClient() + { + return new KeywordPlanKeywordServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordPlanNegativeKeywordServiceClient + */ + public function getKeywordPlanNegativeKeywordServiceClient() + { + return new KeywordPlanNegativeKeywordServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordPlanServiceClient + */ + public function getKeywordPlanServiceClient() + { + return new KeywordPlanServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return KeywordViewServiceClient + */ + public function getKeywordViewServiceClient() + { + return new KeywordViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return LabelServiceClient + */ + public function getLabelServiceClient() + { + return new LabelServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return LandingPageViewServiceClient + */ + public function getLandingPageViewServiceClient() + { + return new LandingPageViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return LanguageConstantServiceClient + */ + public function getLanguageConstantServiceClient() + { + return new LanguageConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return LocationViewServiceClient + */ + public function getLocationViewServiceClient() + { + return new LocationViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ManagedPlacementViewServiceClient + */ + public function getManagedPlacementViewServiceClient() + { + return new ManagedPlacementViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return MediaFileServiceClient + */ + public function getMediaFileServiceClient() + { + return new MediaFileServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return MerchantCenterLinkServiceClient + */ + public function getMerchantCenterLinkServiceClient() + { + return new MerchantCenterLinkServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return MobileAppCategoryConstantServiceClient + */ + public function getMobileAppCategoryConstantServiceClient() + { + return new MobileAppCategoryConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return MobileDeviceConstantServiceClient + */ + public function getMobileDeviceConstantServiceClient() + { + return new MobileDeviceConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return MutateJobServiceClient + */ + public function getMutateJobServiceClient() + { + return new MutateJobServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return OperatingSystemVersionConstantServiceClient + */ + public function getOperatingSystemVersionConstantServiceClient() + { + return new OperatingSystemVersionConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ParentalStatusViewServiceClient + */ + public function getParentalStatusViewServiceClient() + { + return new ParentalStatusViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return PaymentsAccountServiceClient + */ + public function getPaymentsAccountServiceClient() + { + return new PaymentsAccountServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ProductBiddingCategoryConstantServiceClient + */ + public function getProductBiddingCategoryConstantServiceClient() + { + return new ProductBiddingCategoryConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return PaidOrganicSearchTermViewServiceClient + */ + public function getPaidOrganicSearchTermViewServiceClient() + { + return new PaidOrganicSearchTermViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ProductGroupViewServiceClient + */ + public function getProductGroupViewServiceClient() + { + return new ProductGroupViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return RecommendationServiceClient + */ + public function getRecommendationServiceClient() + { + return new RecommendationServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return RemarketingActionServiceClient + */ + public function getRemarketingActionServiceClient() + { + return new RemarketingActionServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return SearchTermViewServiceClient + */ + public function getSearchTermViewServiceClient() + { + return new SearchTermViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return SharedCriterionServiceClient + */ + public function getSharedCriterionServiceClient() + { + return new SharedCriterionServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return SharedSetServiceClient + */ + public function getSharedSetServiceClient() + { + return new SharedSetServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return ShoppingPerformanceViewServiceClient + */ + public function getShoppingPerformanceViewServiceClient() + { + return new ShoppingPerformanceViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return TopicViewServiceClient + */ + public function getTopicViewServiceClient() + { + return new TopicViewServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return TopicConstantServiceClient + */ + public function getTopicConstantServiceClient() + { + return new TopicConstantServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return UserInterestServiceClient + */ + public function getUserInterestServiceClient() + { + return new UserInterestServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return UserListServiceClient + */ + public function getUserListServiceClient() + { + return new UserListServiceClient($this->getGoogleAdsClientOptions()); + } + + /** + * @return VideoServiceClient + */ + public function getVideoServiceClient() + { + return new VideoServiceClient($this->getGoogleAdsClientOptions()); + } +} diff --git a/src/Google/Ads/GoogleAds/Lib/V2/StatusMetadataExtractor.php b/src/Google/Ads/GoogleAds/Lib/V2/StatusMetadataExtractor.php new file mode 100644 index 000000000..bf6d9adc5 --- /dev/null +++ b/src/Google/Ads/GoogleAds/Lib/V2/StatusMetadataExtractor.php @@ -0,0 +1,74 @@ +getFirstHeaderValue( + // Default to gRPC, whose calls have a binary key. + $headerKey ?: self::$GOOGLE_ADS_FAILURE_BINARY_KEY, + $statusMetadata + ); + if (!is_null($header)) { + $googleAdsFailure->mergeFromString($header); + } + + return $googleAdsFailure; + } + + /** + * Extract failures from the specified metadata and constructs a list of their error messages. + * + * @param array $statusMetadata the status metadata array + * @param null|string $headerKey the header key to extract error messages from + * @return array the error message list + */ + public function extractErrorMessageList( + $statusMetadata, + $headerKey = null + ) { + $googleAdsFailure = $this->extractGoogleAdsFailure($statusMetadata, $headerKey); + $errorMessageList = []; + foreach ($googleAdsFailure->getErrors() as $error) { + $errorMessageList[] = $error->getMessage(); + } + + return $errorMessageList; + } +} diff --git a/src/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrors.php b/src/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrors.php new file mode 100644 index 000000000..fd2f1dc0d --- /dev/null +++ b/src/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrors.php @@ -0,0 +1,118 @@ +For example, given the following GoogleAdsFailure: + * + *
+ *
+ * errors {
+ * message: "Too low."
+ * location {
+ * field_path_elements {
+ * field_name: "operations"
+ * index {
+ * value: 1
+ * }
+ * }
+ * field_path_elements {
+ * field_name: "create"
+ * }
+ * field_path_elements {
+ * field_name: "campaign"
+ * }
+ * }
+ * }
+ * errors {
+ * message: "Too low."
+ * location {
+ * field_path_elements {
+ * field_name: "operations"
+ * index {
+ * value: 2
+ * }
+ * }
+ * field_path_elements {
+ * field_name: "create"
+ * }
+ * field_path_elements {
+ * field_name: "campaign"
+ * }
+ * }
+ * }
+ *
+ *
+ *
+ * A single GoogleAdsError instance would be returned for operation index 1 and 2, and an empty
+ * list otherwise.
+ *
+ * @param int $operationIndex the index of the operation, starting from 0.
+ * @param Status $partialFailureStatus a partialFailure status, with the detail list
+ * containing GoogleAdsFailure instances
+ * @return GoogleAdsError[] an array containing the
+ * GoogleAdsError instances for a given operation index
+ */
+ public static function fromStatus(
+ int $operationIndex,
+ Status $partialFailureStatus
+ ) {
+ $result = [];
+ foreach ($partialFailureStatus->getDetails() as $detail) {
+ $failure = GoogleAdsFailures::fromAny($detail);
+ $errors = self::fromFailure($operationIndex, $failure);
+ $result = array_merge($result, $errors);
+ }
+ return $result;
+ }
+
+ /**
+ * Return a list of GoogleAdsError instances for a given operation index.
+ *
+ * @see GoogleAdsErrors::fromStatus
+ */
+ public static function fromFailure(
+ int $operationIndex,
+ GoogleAdsFailure $failure
+ ) {
+ $result = [];
+ foreach ($failure->getErrors() as $error) {
+ $pathElements = $error->getLocation()->getFieldPathElements();
+ if (count($pathElements) > 0) {
+ /** @var FieldPathElement $element */
+ $element = $pathElements[0];
+ $fieldName = $element->getFieldName();
+ $index = $element->getIndex();
+ if ($fieldName === "operations" && $index->getValue() == $operationIndex) {
+ $result[] = $error;
+ }
+ }
+ }
+ return $result;
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailures.php b/src/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailures.php
new file mode 100644
index 000000000..e70c021b8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailures.php
@@ -0,0 +1,56 @@
+unpack();
+ if (!$ret instanceof GoogleAdsFailure) {
+ throw new \InvalidArgumentException("Message did not contain a GoogleAdsFailure");
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Unpacks GoogleAdsFailure from the partial failure Status.
+ *
+ * @param Status $status
+ * @return GoogleAdsFailure[]
+ */
+ public static function fromStatus(Status $status)
+ {
+ $result = [];
+ foreach ($status->getDetails() as $any) {
+ $result[] = GoogleAdsFailures::fromAny($any);
+ }
+ return $result;
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/Util/V2/PartialFailures.php b/src/Google/Ads/GoogleAds/Util/V2/PartialFailures.php
new file mode 100644
index 000000000..9f270f0f4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/Util/V2/PartialFailures.php
@@ -0,0 +1,35 @@
+serializeToString()) === 0;
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/Util/V2/ResourceNames.php b/src/Google/Ads/GoogleAds/Util/V2/ResourceNames.php
new file mode 100644
index 000000000..f6edf9381
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/Util/V2/ResourceNames.php
@@ -0,0 +1,1512 @@
+google.ads.googleads.v2.common.AdImageAsset
+ */
+final class AdImageAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Asset resource name of this image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ */
+ private $asset = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $asset
+ * The Asset resource name of this image.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdAsset::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Asset resource name of this image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAsset()
+ {
+ return $this->asset;
+ }
+
+ /**
+ * Returns the unboxed value from getAsset()
+
+ * The Asset resource name of this image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @return string|null
+ */
+ public function getAssetUnwrapped()
+ {
+ $wrapper = $this->getAsset();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Asset resource name of this image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->asset = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Asset resource name of this image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAssetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAsset($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AdMediaBundleAsset.php b/src/Google/Ads/GoogleAds/V2/Common/AdMediaBundleAsset.php
new file mode 100644
index 000000000..e76284900
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AdMediaBundleAsset.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.AdMediaBundleAsset
+ */
+final class AdMediaBundleAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Asset resource name of this media bundle.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ */
+ private $asset = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $asset
+ * The Asset resource name of this media bundle.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdAsset::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Asset resource name of this media bundle.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAsset()
+ {
+ return $this->asset;
+ }
+
+ /**
+ * Returns the unboxed value from getAsset()
+
+ * The Asset resource name of this media bundle.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @return string|null
+ */
+ public function getAssetUnwrapped()
+ {
+ $wrapper = $this->getAsset();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Asset resource name of this media bundle.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->asset = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Asset resource name of this media bundle.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAssetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAsset($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AdScheduleInfo.php b/src/Google/Ads/GoogleAds/V2/Common/AdScheduleInfo.php
new file mode 100644
index 000000000..cc1f75304
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AdScheduleInfo.php
@@ -0,0 +1,328 @@
+google.ads.googleads.v2.common.AdScheduleInfo
+ */
+final class AdScheduleInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Minutes after the start hour at which this schedule starts.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1;
+ */
+ private $start_minute = 0;
+ /**
+ * Minutes after the end hour at which this schedule ends. The schedule is
+ * exclusive of the end minute.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2;
+ */
+ private $end_minute = 0;
+ /**
+ * Starting hour in 24 hour time.
+ * This field must be between 0 and 23, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value start_hour = 3;
+ */
+ private $start_hour = null;
+ /**
+ * Ending hour in 24 hour time; 24 signifies end of the day.
+ * This field must be between 0 and 24, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value end_hour = 4;
+ */
+ private $end_hour = null;
+ /**
+ * Day of the week the schedule applies to.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+ */
+ private $day_of_week = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $start_minute
+ * Minutes after the start hour at which this schedule starts.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * @type int $end_minute
+ * Minutes after the end hour at which this schedule ends. The schedule is
+ * exclusive of the end minute.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * @type \Google\Protobuf\Int32Value $start_hour
+ * Starting hour in 24 hour time.
+ * This field must be between 0 and 23, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * @type \Google\Protobuf\Int32Value $end_hour
+ * Ending hour in 24 hour time; 24 signifies end of the day.
+ * This field must be between 0 and 24, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * @type int $day_of_week
+ * Day of the week the schedule applies to.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Minutes after the start hour at which this schedule starts.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1;
+ * @return int
+ */
+ public function getStartMinute()
+ {
+ return $this->start_minute;
+ }
+
+ /**
+ * Minutes after the start hour at which this schedule starts.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setStartMinute($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MinuteOfHourEnum_MinuteOfHour::class);
+ $this->start_minute = $var;
+
+ return $this;
+ }
+
+ /**
+ * Minutes after the end hour at which this schedule ends. The schedule is
+ * exclusive of the end minute.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2;
+ * @return int
+ */
+ public function getEndMinute()
+ {
+ return $this->end_minute;
+ }
+
+ /**
+ * Minutes after the end hour at which this schedule ends. The schedule is
+ * exclusive of the end minute.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setEndMinute($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MinuteOfHourEnum_MinuteOfHour::class);
+ $this->end_minute = $var;
+
+ return $this;
+ }
+
+ /**
+ * Starting hour in 24 hour time.
+ * This field must be between 0 and 23, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value start_hour = 3;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getStartHour()
+ {
+ return $this->start_hour;
+ }
+
+ /**
+ * Returns the unboxed value from getStartHour()
+
+ * Starting hour in 24 hour time.
+ * This field must be between 0 and 23, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value start_hour = 3;
+ * @return int|null
+ */
+ public function getStartHourUnwrapped()
+ {
+ $wrapper = $this->getStartHour();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Starting hour in 24 hour time.
+ * This field must be between 0 and 23, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value start_hour = 3;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setStartHour($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->start_hour = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Starting hour in 24 hour time.
+ * This field must be between 0 and 23, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value start_hour = 3;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setStartHourUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setStartHour($wrappedVar);
+ }
+
+ /**
+ * Ending hour in 24 hour time; 24 signifies end of the day.
+ * This field must be between 0 and 24, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value end_hour = 4;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getEndHour()
+ {
+ return $this->end_hour;
+ }
+
+ /**
+ * Returns the unboxed value from getEndHour()
+
+ * Ending hour in 24 hour time; 24 signifies end of the day.
+ * This field must be between 0 and 24, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value end_hour = 4;
+ * @return int|null
+ */
+ public function getEndHourUnwrapped()
+ {
+ $wrapper = $this->getEndHour();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Ending hour in 24 hour time; 24 signifies end of the day.
+ * This field must be between 0 and 24, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value end_hour = 4;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setEndHour($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->end_hour = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Ending hour in 24 hour time; 24 signifies end of the day.
+ * This field must be between 0 and 24, inclusive.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value end_hour = 4;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setEndHourUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setEndHour($wrappedVar);
+ }
+
+ /**
+ * Day of the week the schedule applies to.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+ * @return int
+ */
+ public function getDayOfWeek()
+ {
+ return $this->day_of_week;
+ }
+
+ /**
+ * Day of the week the schedule applies to.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setDayOfWeek($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum_DayOfWeek::class);
+ $this->day_of_week = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AdTextAsset.php b/src/Google/Ads/GoogleAds/V2/Common/AdTextAsset.php
new file mode 100644
index 000000000..03b21b6d1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AdTextAsset.php
@@ -0,0 +1,142 @@
+google.ads.googleads.v2.common.AdTextAsset
+ */
+final class AdTextAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Asset text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ */
+ private $text = null;
+ /**
+ * The pinned field of the asset. This restricts the asset to only serve
+ * within this field. Multiple assets can be pinned to the same field. An
+ * asset that is unpinned or pinned to a different field will not serve in a
+ * field where some other asset has been pinned.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2;
+ */
+ private $pinned_field = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $text
+ * Asset text.
+ * @type int $pinned_field
+ * The pinned field of the asset. This restricts the asset to only serve
+ * within this field. Multiple assets can be pinned to the same field. An
+ * asset that is unpinned or pinned to a different field will not serve in a
+ * field where some other asset has been pinned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdAsset::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Asset text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * Asset text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Asset text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Asset text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * The pinned field of the asset. This restricts the asset to only serve
+ * within this field. Multiple assets can be pinned to the same field. An
+ * asset that is unpinned or pinned to a different field will not serve in a
+ * field where some other asset has been pinned.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2;
+ * @return int
+ */
+ public function getPinnedField()
+ {
+ return $this->pinned_field;
+ }
+
+ /**
+ * The pinned field of the asset. This restricts the asset to only serve
+ * within this field. Multiple assets can be pinned to the same field. An
+ * asset that is unpinned or pinned to a different field will not serve in a
+ * field where some other asset has been pinned.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPinnedField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ServedAssetFieldTypeEnum_ServedAssetFieldType::class);
+ $this->pinned_field = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AdVideoAsset.php b/src/Google/Ads/GoogleAds/V2/Common/AdVideoAsset.php
new file mode 100644
index 000000000..50ad18715
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AdVideoAsset.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.AdVideoAsset
+ */
+final class AdVideoAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Asset resource name of this video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ */
+ private $asset = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $asset
+ * The Asset resource name of this video.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdAsset::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Asset resource name of this video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAsset()
+ {
+ return $this->asset;
+ }
+
+ /**
+ * Returns the unboxed value from getAsset()
+
+ * The Asset resource name of this video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @return string|null
+ */
+ public function getAssetUnwrapped()
+ {
+ $wrapper = $this->getAsset();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Asset resource name of this video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->asset = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Asset resource name of this video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAssetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAsset($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AddressInfo.php b/src/Google/Ads/GoogleAds/V2/Common/AddressInfo.php
new file mode 100644
index 000000000..76514598f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AddressInfo.php
@@ -0,0 +1,486 @@
+google.ads.googleads.v2.common.AddressInfo
+ */
+final class AddressInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 1;
+ */
+ private $postal_code = null;
+ /**
+ * Province or state code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_code = 2;
+ */
+ private $province_code = null;
+ /**
+ * Country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ */
+ private $country_code = null;
+ /**
+ * Province or state name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_name = 4;
+ */
+ private $province_name = null;
+ /**
+ * Street address line 1.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address = 5;
+ */
+ private $street_address = null;
+ /**
+ * Street address line 2. This field is write-only. It is only used for
+ * calculating the longitude and latitude of an address when geo_point is
+ * empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address2 = 6;
+ */
+ private $street_address2 = null;
+ /**
+ * Name of the city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_name = 7;
+ */
+ private $city_name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $postal_code
+ * Postal code.
+ * @type \Google\Protobuf\StringValue $province_code
+ * Province or state code.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Country code.
+ * @type \Google\Protobuf\StringValue $province_name
+ * Province or state name.
+ * @type \Google\Protobuf\StringValue $street_address
+ * Street address line 1.
+ * @type \Google\Protobuf\StringValue $street_address2
+ * Street address line 2. This field is write-only. It is only used for
+ * calculating the longitude and latitude of an address when geo_point is
+ * empty.
+ * @type \Google\Protobuf\StringValue $city_name
+ * Name of the city.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPostalCode()
+ {
+ return $this->postal_code;
+ }
+
+ /**
+ * Returns the unboxed value from getPostalCode()
+
+ * Postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 1;
+ * @return string|null
+ */
+ public function getPostalCodeUnwrapped()
+ {
+ $wrapper = $this->getPostalCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPostalCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->postal_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPostalCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPostalCode($wrappedVar);
+ }
+
+ /**
+ * Province or state code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProvinceCode()
+ {
+ return $this->province_code;
+ }
+
+ /**
+ * Returns the unboxed value from getProvinceCode()
+
+ * Province or state code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_code = 2;
+ * @return string|null
+ */
+ public function getProvinceCodeUnwrapped()
+ {
+ $wrapper = $this->getProvinceCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Province or state code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProvinceCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->province_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Province or state code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProvinceCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProvinceCode($wrappedVar);
+ }
+
+ /**
+ * Country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Province or state name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProvinceName()
+ {
+ return $this->province_name;
+ }
+
+ /**
+ * Returns the unboxed value from getProvinceName()
+
+ * Province or state name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_name = 4;
+ * @return string|null
+ */
+ public function getProvinceNameUnwrapped()
+ {
+ $wrapper = $this->getProvinceName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Province or state name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProvinceName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->province_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Province or state name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province_name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProvinceNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProvinceName($wrappedVar);
+ }
+
+ /**
+ * Street address line 1.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStreetAddress()
+ {
+ return $this->street_address;
+ }
+
+ /**
+ * Returns the unboxed value from getStreetAddress()
+
+ * Street address line 1.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address = 5;
+ * @return string|null
+ */
+ public function getStreetAddressUnwrapped()
+ {
+ $wrapper = $this->getStreetAddress();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Street address line 1.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStreetAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->street_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Street address line 1.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStreetAddressUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStreetAddress($wrappedVar);
+ }
+
+ /**
+ * Street address line 2. This field is write-only. It is only used for
+ * calculating the longitude and latitude of an address when geo_point is
+ * empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address2 = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStreetAddress2()
+ {
+ return $this->street_address2;
+ }
+
+ /**
+ * Returns the unboxed value from getStreetAddress2()
+
+ * Street address line 2. This field is write-only. It is only used for
+ * calculating the longitude and latitude of an address when geo_point is
+ * empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address2 = 6;
+ * @return string|null
+ */
+ public function getStreetAddress2Unwrapped()
+ {
+ $wrapper = $this->getStreetAddress2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Street address line 2. This field is write-only. It is only used for
+ * calculating the longitude and latitude of an address when geo_point is
+ * empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address2 = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStreetAddress2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->street_address2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Street address line 2. This field is write-only. It is only used for
+ * calculating the longitude and latitude of an address when geo_point is
+ * empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue street_address2 = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStreetAddress2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStreetAddress2($wrappedVar);
+ }
+
+ /**
+ * Name of the city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_name = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCityName()
+ {
+ return $this->city_name;
+ }
+
+ /**
+ * Returns the unboxed value from getCityName()
+
+ * Name of the city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_name = 7;
+ * @return string|null
+ */
+ public function getCityNameUnwrapped()
+ {
+ $wrapper = $this->getCityName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of the city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_name = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCityName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->city_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of the city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_name = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCityNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCityName($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AffiliateLocationFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/AffiliateLocationFeedItem.php
new file mode 100644
index 000000000..8b8cdc24f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AffiliateLocationFeedItem.php
@@ -0,0 +1,663 @@
+google.ads.googleads.v2.common.AffiliateLocationFeedItem
+ */
+final class AffiliateLocationFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ */
+ private $business_name = null;
+ /**
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ */
+ private $address_line_1 = null;
+ /**
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ */
+ private $address_line_2 = null;
+ /**
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ */
+ private $city = null;
+ /**
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ */
+ private $province = null;
+ /**
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ */
+ private $postal_code = null;
+ /**
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ */
+ private $country_code = null;
+ /**
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ */
+ private $phone_number = null;
+ /**
+ * Id of the retail chain that is advertised as a seller of your product.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value chain_id = 9;
+ */
+ private $chain_id = null;
+ /**
+ * Name of chain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue chain_name = 10;
+ */
+ private $chain_name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $business_name
+ * The name of the business.
+ * @type \Google\Protobuf\StringValue $address_line_1
+ * Line 1 of the business address.
+ * @type \Google\Protobuf\StringValue $address_line_2
+ * Line 2 of the business address.
+ * @type \Google\Protobuf\StringValue $city
+ * City of the business address.
+ * @type \Google\Protobuf\StringValue $province
+ * Province of the business address.
+ * @type \Google\Protobuf\StringValue $postal_code
+ * Postal code of the business address.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Country code of the business address.
+ * @type \Google\Protobuf\StringValue $phone_number
+ * Phone number of the business.
+ * @type \Google\Protobuf\Int64Value $chain_id
+ * Id of the retail chain that is advertised as a seller of your product.
+ * @type \Google\Protobuf\StringValue $chain_name
+ * Name of chain.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAddressLine1()
+ {
+ return $this->address_line_1;
+ }
+
+ /**
+ * Returns the unboxed value from getAddressLine1()
+
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @return string|null
+ */
+ public function getAddressLine1Unwrapped()
+ {
+ $wrapper = $this->getAddressLine1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAddressLine1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->address_line_1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAddressLine1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAddressLine1($wrappedVar);
+ }
+
+ /**
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAddressLine2()
+ {
+ return $this->address_line_2;
+ }
+
+ /**
+ * Returns the unboxed value from getAddressLine2()
+
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @return string|null
+ */
+ public function getAddressLine2Unwrapped()
+ {
+ $wrapper = $this->getAddressLine2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAddressLine2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->address_line_2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAddressLine2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAddressLine2($wrappedVar);
+ }
+
+ /**
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCity()
+ {
+ return $this->city;
+ }
+
+ /**
+ * Returns the unboxed value from getCity()
+
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @return string|null
+ */
+ public function getCityUnwrapped()
+ {
+ $wrapper = $this->getCity();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->city = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCity($wrappedVar);
+ }
+
+ /**
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProvince()
+ {
+ return $this->province;
+ }
+
+ /**
+ * Returns the unboxed value from getProvince()
+
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @return string|null
+ */
+ public function getProvinceUnwrapped()
+ {
+ $wrapper = $this->getProvince();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProvince($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->province = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProvinceUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProvince($wrappedVar);
+ }
+
+ /**
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPostalCode()
+ {
+ return $this->postal_code;
+ }
+
+ /**
+ * Returns the unboxed value from getPostalCode()
+
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @return string|null
+ */
+ public function getPostalCodeUnwrapped()
+ {
+ $wrapper = $this->getPostalCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPostalCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->postal_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPostalCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPostalCode($wrappedVar);
+ }
+
+ /**
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPhoneNumber()
+ {
+ return $this->phone_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneNumber()
+
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @return string|null
+ */
+ public function getPhoneNumberUnwrapped()
+ {
+ $wrapper = $this->getPhoneNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPhoneNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->phone_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPhoneNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPhoneNumber($wrappedVar);
+ }
+
+ /**
+ * Id of the retail chain that is advertised as a seller of your product.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value chain_id = 9;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getChainId()
+ {
+ return $this->chain_id;
+ }
+
+ /**
+ * Returns the unboxed value from getChainId()
+
+ * Id of the retail chain that is advertised as a seller of your product.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value chain_id = 9;
+ * @return int|string|null
+ */
+ public function getChainIdUnwrapped()
+ {
+ $wrapper = $this->getChainId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the retail chain that is advertised as a seller of your product.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value chain_id = 9;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setChainId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->chain_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the retail chain that is advertised as a seller of your product.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value chain_id = 9;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setChainIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setChainId($wrappedVar);
+ }
+
+ /**
+ * Name of chain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue chain_name = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getChainName()
+ {
+ return $this->chain_name;
+ }
+
+ /**
+ * Returns the unboxed value from getChainName()
+
+ * Name of chain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue chain_name = 10;
+ * @return string|null
+ */
+ public function getChainNameUnwrapped()
+ {
+ $wrapper = $this->getChainName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of chain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue chain_name = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setChainName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->chain_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of chain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue chain_name = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setChainNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setChainName($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AgeRangeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/AgeRangeInfo.php
new file mode 100644
index 000000000..97bb3af56
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AgeRangeInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.AgeRangeInfo
+ */
+final class AgeRangeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the age range.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AgeRangeTypeEnum_AgeRangeType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AppAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/AppAdInfo.php
new file mode 100644
index 000000000..b8b862f9c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AppAdInfo.php
@@ -0,0 +1,249 @@
+google.ads.googleads.v2.common.AppAdInfo
+ */
+final class AppAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * An optional text asset that, if specified, must always be displayed when
+ * the ad is served.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdTextAsset mandatory_ad_text = 1;
+ */
+ private $mandatory_ad_text = null;
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 2;
+ */
+ private $headlines;
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 3;
+ */
+ private $descriptions;
+ /**
+ * List of image assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset images = 4;
+ */
+ private $images;
+ /**
+ * List of YouTube video assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset youtube_videos = 5;
+ */
+ private $youtube_videos;
+ /**
+ * List of media bundle assets that may be used with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdMediaBundleAsset html5_media_bundles = 6;
+ */
+ private $html5_media_bundles;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset $mandatory_ad_text
+ * An optional text asset that, if specified, must always be displayed when
+ * the ad is served.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $headlines
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $descriptions
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $images
+ * List of image assets that may be displayed with the ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdVideoAsset[]|\Google\Protobuf\Internal\RepeatedField $youtube_videos
+ * List of YouTube video assets that may be displayed with the ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset[]|\Google\Protobuf\Internal\RepeatedField $html5_media_bundles
+ * List of media bundle assets that may be used with the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * An optional text asset that, if specified, must always be displayed when
+ * the ad is served.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdTextAsset mandatory_ad_text = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\AdTextAsset
+ */
+ public function getMandatoryAdText()
+ {
+ return $this->mandatory_ad_text;
+ }
+
+ /**
+ * An optional text asset that, if specified, must always be displayed when
+ * the ad is served.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdTextAsset mandatory_ad_text = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset $var
+ * @return $this
+ */
+ public function setMandatoryAdText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->mandatory_ad_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getHeadlines()
+ {
+ return $this->headlines;
+ }
+
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setHeadlines($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->headlines = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDescriptions()
+ {
+ return $this->descriptions;
+ }
+
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDescriptions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->descriptions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of image assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset images = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getImages()
+ {
+ return $this->images;
+ }
+
+ /**
+ * List of image assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset images = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdImageAsset::class);
+ $this->images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of YouTube video assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset youtube_videos = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getYoutubeVideos()
+ {
+ return $this->youtube_videos;
+ }
+
+ /**
+ * List of YouTube video assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset youtube_videos = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdVideoAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setYoutubeVideos($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdVideoAsset::class);
+ $this->youtube_videos = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of media bundle assets that may be used with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdMediaBundleAsset html5_media_bundles = 6;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getHtml5MediaBundles()
+ {
+ return $this->html5_media_bundles;
+ }
+
+ /**
+ * List of media bundle assets that may be used with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdMediaBundleAsset html5_media_bundles = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setHtml5MediaBundles($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset::class);
+ $this->html5_media_bundles = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AppEngagementAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/AppEngagementAdInfo.php
new file mode 100644
index 000000000..177890017
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AppEngagementAdInfo.php
@@ -0,0 +1,180 @@
+google.ads.googleads.v2.common.AppEngagementAdInfo
+ */
+final class AppEngagementAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 1;
+ */
+ private $headlines;
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 2;
+ */
+ private $descriptions;
+ /**
+ * List of image assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset images = 3;
+ */
+ private $images;
+ /**
+ * List of video assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset videos = 4;
+ */
+ private $videos;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $headlines
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $descriptions
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $images
+ * List of image assets that may be displayed with the ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdVideoAsset[]|\Google\Protobuf\Internal\RepeatedField $videos
+ * List of video assets that may be displayed with the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getHeadlines()
+ {
+ return $this->headlines;
+ }
+
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setHeadlines($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->headlines = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDescriptions()
+ {
+ return $this->descriptions;
+ }
+
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDescriptions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->descriptions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of image assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset images = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getImages()
+ {
+ return $this->images;
+ }
+
+ /**
+ * List of image assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset images = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdImageAsset::class);
+ $this->images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of video assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset videos = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getVideos()
+ {
+ return $this->videos;
+ }
+
+ /**
+ * List of video assets that may be displayed with the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset videos = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdVideoAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setVideos($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdVideoAsset::class);
+ $this->videos = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AppFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/AppFeedItem.php
new file mode 100644
index 000000000..a396dbe91
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AppFeedItem.php
@@ -0,0 +1,457 @@
+google.ads.googleads.v2.common.AppFeedItem
+ */
+final class AppFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The visible text displayed when the link is rendered in an ad.
+ * This string must not be empty, and the length of this string should
+ * be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ */
+ private $link_text = null;
+ /**
+ * The store-specific ID for the target application.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ */
+ private $app_id = null;
+ /**
+ * The application store that the target application belongs to.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppStoreEnum.AppStore app_store = 3;
+ */
+ private $app_store = 0;
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ * This list must not be empty.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 4;
+ */
+ private $final_urls;
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 5;
+ */
+ private $final_mobile_urls;
+ /**
+ * URL template for constructing a tracking URL. Default value is "{lpurl}".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ */
+ private $tracking_url_template = null;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 7;
+ */
+ private $url_custom_parameters;
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ */
+ private $final_url_suffix = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $link_text
+ * The visible text displayed when the link is rendered in an ad.
+ * This string must not be empty, and the length of this string should
+ * be between 1 and 25, inclusive.
+ * @type \Google\Protobuf\StringValue $app_id
+ * The store-specific ID for the target application.
+ * This string must not be empty.
+ * @type int $app_store
+ * The application store that the target application belongs to.
+ * This field is required.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * A list of possible final URLs after all cross domain redirects.
+ * This list must not be empty.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * A list of possible final mobile URLs after all cross domain redirects.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * URL template for constructing a tracking URL. Default value is "{lpurl}".
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * 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.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The visible text displayed when the link is rendered in an ad.
+ * This string must not be empty, and the length of this string should
+ * be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLinkText()
+ {
+ return $this->link_text;
+ }
+
+ /**
+ * Returns the unboxed value from getLinkText()
+
+ * The visible text displayed when the link is rendered in an ad.
+ * This string must not be empty, and the length of this string should
+ * be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @return string|null
+ */
+ public function getLinkTextUnwrapped()
+ {
+ $wrapper = $this->getLinkText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The visible text displayed when the link is rendered in an ad.
+ * This string must not be empty, and the length of this string should
+ * be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLinkText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->link_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The visible text displayed when the link is rendered in an ad.
+ * This string must not be empty, and the length of this string should
+ * be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLinkTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLinkText($wrappedVar);
+ }
+
+ /**
+ * The store-specific ID for the target application.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAppId()
+ {
+ return $this->app_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAppId()
+
+ * The store-specific ID for the target application.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @return string|null
+ */
+ public function getAppIdUnwrapped()
+ {
+ $wrapper = $this->getAppId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The store-specific ID for the target application.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAppId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->app_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The store-specific ID for the target application.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAppIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAppId($wrappedVar);
+ }
+
+ /**
+ * The application store that the target application belongs to.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppStoreEnum.AppStore app_store = 3;
+ * @return int
+ */
+ public function getAppStore()
+ {
+ return $this->app_store;
+ }
+
+ /**
+ * The application store that the target application belongs to.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppStoreEnum.AppStore app_store = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setAppStore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AppStoreEnum_AppStore::class);
+ $this->app_store = $var;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ * This list must not be empty.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ * This list must not be empty.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 4;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 5;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for constructing a tracking URL. Default value is "{lpurl}".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * URL template for constructing a tracking URL. Default value is "{lpurl}".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for constructing a tracking URL. Default value is "{lpurl}".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for constructing a tracking URL. Default value is "{lpurl}".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/AppPaymentModelInfo.php b/src/Google/Ads/GoogleAds/V2/Common/AppPaymentModelInfo.php
new file mode 100644
index 000000000..2fd815bdc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/AppPaymentModelInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.AppPaymentModelInfo
+ */
+final class AppPaymentModelInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the app payment model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the app payment model.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the app payment model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the app payment model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AppPaymentModelTypeEnum_AppPaymentModelType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/BasicUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/BasicUserListInfo.php
new file mode 100644
index 000000000..98830cb6d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/BasicUserListInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.BasicUserListInfo
+ */
+final class BasicUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Actions associated with this user list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListActionInfo actions = 1;
+ */
+ private $actions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListActionInfo[]|\Google\Protobuf\Internal\RepeatedField $actions
+ * Actions associated with this user list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Actions associated with this user list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListActionInfo actions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getActions()
+ {
+ return $this->actions;
+ }
+
+ /**
+ * Actions associated with this user list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListActionInfo actions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListActionInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setActions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\UserListActionInfo::class);
+ $this->actions = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPoint.php b/src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPoint.php
new file mode 100644
index 000000000..bc79679bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPoint.php
@@ -0,0 +1,957 @@
+google.ads.googleads.v2.common.BidModifierSimulationPoint
+ */
+final class BidModifierSimulationPoint extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The simulated bid modifier upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 1;
+ */
+ private $bid_modifier = null;
+ /**
+ * Projected number of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ */
+ private $biddable_conversions = null;
+ /**
+ * Projected total value of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ */
+ private $biddable_conversions_value = null;
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ */
+ private $clicks = null;
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ */
+ private $cost_micros = null;
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ */
+ private $impressions = null;
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ */
+ private $top_slot_impressions = null;
+ /**
+ * Projected number of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions = 8;
+ */
+ private $parent_biddable_conversions = null;
+ /**
+ * Projected total value of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions_value = 9;
+ */
+ private $parent_biddable_conversions_value = null;
+ /**
+ * Projected number of clicks for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_clicks = 10;
+ */
+ private $parent_clicks = null;
+ /**
+ * Projected cost in micros for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_cost_micros = 11;
+ */
+ private $parent_cost_micros = null;
+ /**
+ * Projected number of impressions for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_impressions = 12;
+ */
+ private $parent_impressions = null;
+ /**
+ * Projected number of top slot impressions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_top_slot_impressions = 13;
+ */
+ private $parent_top_slot_impressions = null;
+ /**
+ * Projected minimum daily budget that must be available to the parent
+ * resource to realize this simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_required_budget_micros = 14;
+ */
+ private $parent_required_budget_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $bid_modifier
+ * The simulated bid modifier upon which projected metrics are based.
+ * @type \Google\Protobuf\DoubleValue $biddable_conversions
+ * Projected number of biddable conversions.
+ * Only search advertising channel type supports this field.
+ * @type \Google\Protobuf\DoubleValue $biddable_conversions_value
+ * Projected total value of biddable conversions.
+ * Only search advertising channel type supports this field.
+ * @type \Google\Protobuf\Int64Value $clicks
+ * Projected number of clicks.
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * Projected cost in micros.
+ * @type \Google\Protobuf\Int64Value $impressions
+ * Projected number of impressions.
+ * @type \Google\Protobuf\Int64Value $top_slot_impressions
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ * @type \Google\Protobuf\DoubleValue $parent_biddable_conversions
+ * Projected number of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ * @type \Google\Protobuf\DoubleValue $parent_biddable_conversions_value
+ * Projected total value of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ * @type \Google\Protobuf\Int64Value $parent_clicks
+ * Projected number of clicks for the parent resource.
+ * @type \Google\Protobuf\Int64Value $parent_cost_micros
+ * Projected cost in micros for the parent resource.
+ * @type \Google\Protobuf\Int64Value $parent_impressions
+ * Projected number of impressions for the parent resource.
+ * @type \Google\Protobuf\Int64Value $parent_top_slot_impressions
+ * Projected number of top slot impressions for the parent resource.
+ * Only search advertising channel type supports this field.
+ * @type \Google\Protobuf\Int64Value $parent_required_budget_micros
+ * Projected minimum daily budget that must be available to the parent
+ * resource to realize this simulation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The simulated bid modifier upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBidModifier()
+ {
+ return $this->bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getBidModifier()
+
+ * The simulated bid modifier upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 1;
+ * @return float|null
+ */
+ public function getBidModifierUnwrapped()
+ {
+ $wrapper = $this->getBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The simulated bid modifier upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The simulated bid modifier upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBidModifier($wrappedVar);
+ }
+
+ /**
+ * Projected number of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBiddableConversions()
+ {
+ return $this->biddable_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getBiddableConversions()
+
+ * Projected number of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @return float|null
+ */
+ public function getBiddableConversionsUnwrapped()
+ {
+ $wrapper = $this->getBiddableConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBiddableConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->biddable_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected number of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBiddableConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBiddableConversions($wrappedVar);
+ }
+
+ /**
+ * Projected total value of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBiddableConversionsValue()
+ {
+ return $this->biddable_conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getBiddableConversionsValue()
+
+ * Projected total value of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @return float|null
+ */
+ public function getBiddableConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getBiddableConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected total value of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBiddableConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->biddable_conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected total value of biddable conversions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBiddableConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBiddableConversionsValue($wrappedVar);
+ }
+
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getClicks()
+ {
+ return $this->clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getClicks()
+
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @return int|string|null
+ */
+ public function getClicksUnwrapped()
+ {
+ $wrapper = $this->getClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setClicks($wrappedVar);
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @return int|string|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTopSlotImpressions()
+ {
+ return $this->top_slot_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getTopSlotImpressions()
+
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @return int|string|null
+ */
+ public function getTopSlotImpressionsUnwrapped()
+ {
+ $wrapper = $this->getTopSlotImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTopSlotImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->top_slot_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTopSlotImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTopSlotImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected number of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions = 8;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getParentBiddableConversions()
+ {
+ return $this->parent_biddable_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getParentBiddableConversions()
+
+ * Projected number of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions = 8;
+ * @return float|null
+ */
+ public function getParentBiddableConversionsUnwrapped()
+ {
+ $wrapper = $this->getParentBiddableConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions = 8;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setParentBiddableConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->parent_biddable_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected number of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions = 8;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setParentBiddableConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setParentBiddableConversions($wrappedVar);
+ }
+
+ /**
+ * Projected total value of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions_value = 9;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getParentBiddableConversionsValue()
+ {
+ return $this->parent_biddable_conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getParentBiddableConversionsValue()
+
+ * Projected total value of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions_value = 9;
+ * @return float|null
+ */
+ public function getParentBiddableConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getParentBiddableConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected total value of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions_value = 9;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setParentBiddableConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->parent_biddable_conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected total value of biddable conversions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue parent_biddable_conversions_value = 9;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setParentBiddableConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setParentBiddableConversionsValue($wrappedVar);
+ }
+
+ /**
+ * Projected number of clicks for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_clicks = 10;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getParentClicks()
+ {
+ return $this->parent_clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getParentClicks()
+
+ * Projected number of clicks for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_clicks = 10;
+ * @return int|string|null
+ */
+ public function getParentClicksUnwrapped()
+ {
+ $wrapper = $this->getParentClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of clicks for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_clicks = 10;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setParentClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->parent_clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of clicks for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_clicks = 10;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setParentClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setParentClicks($wrappedVar);
+ }
+
+ /**
+ * Projected cost in micros for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_cost_micros = 11;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getParentCostMicros()
+ {
+ return $this->parent_cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getParentCostMicros()
+
+ * Projected cost in micros for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_cost_micros = 11;
+ * @return int|string|null
+ */
+ public function getParentCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getParentCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected cost in micros for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_cost_micros = 11;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setParentCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->parent_cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected cost in micros for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_cost_micros = 11;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setParentCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setParentCostMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of impressions for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_impressions = 12;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getParentImpressions()
+ {
+ return $this->parent_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getParentImpressions()
+
+ * Projected number of impressions for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_impressions = 12;
+ * @return int|string|null
+ */
+ public function getParentImpressionsUnwrapped()
+ {
+ $wrapper = $this->getParentImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of impressions for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_impressions = 12;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setParentImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->parent_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of impressions for the parent resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_impressions = 12;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setParentImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setParentImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected number of top slot impressions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_top_slot_impressions = 13;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getParentTopSlotImpressions()
+ {
+ return $this->parent_top_slot_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getParentTopSlotImpressions()
+
+ * Projected number of top slot impressions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_top_slot_impressions = 13;
+ * @return int|string|null
+ */
+ public function getParentTopSlotImpressionsUnwrapped()
+ {
+ $wrapper = $this->getParentTopSlotImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of top slot impressions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_top_slot_impressions = 13;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setParentTopSlotImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->parent_top_slot_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of top slot impressions for the parent resource.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_top_slot_impressions = 13;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setParentTopSlotImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setParentTopSlotImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected minimum daily budget that must be available to the parent
+ * resource to realize this simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_required_budget_micros = 14;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getParentRequiredBudgetMicros()
+ {
+ return $this->parent_required_budget_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getParentRequiredBudgetMicros()
+
+ * Projected minimum daily budget that must be available to the parent
+ * resource to realize this simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_required_budget_micros = 14;
+ * @return int|string|null
+ */
+ public function getParentRequiredBudgetMicrosUnwrapped()
+ {
+ $wrapper = $this->getParentRequiredBudgetMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected minimum daily budget that must be available to the parent
+ * resource to realize this simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_required_budget_micros = 14;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setParentRequiredBudgetMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->parent_required_budget_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected minimum daily budget that must be available to the parent
+ * resource to realize this simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parent_required_budget_micros = 14;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setParentRequiredBudgetMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setParentRequiredBudgetMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPointList.php b/src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPointList.php
new file mode 100644
index 000000000..dafadf822
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/BidModifierSimulationPointList.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.BidModifierSimulationPointList
+ */
+final class BidModifierSimulationPointList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Projected metrics for a series of bid modifier amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.BidModifierSimulationPoint points = 1;
+ */
+ private $points;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $points
+ * Projected metrics for a series of bid modifier amounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Projected metrics for a series of bid modifier amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.BidModifierSimulationPoint points = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPoints()
+ {
+ return $this->points;
+ }
+
+ /**
+ * Projected metrics for a series of bid modifier amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.BidModifierSimulationPoint points = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPoints($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPoint::class);
+ $this->points = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CallFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/CallFeedItem.php
new file mode 100644
index 000000000..2927b17b1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CallFeedItem.php
@@ -0,0 +1,426 @@
+google.ads.googleads.v2.common.CallFeedItem
+ */
+final class CallFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The advertiser's phone number to append to the ad.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 1;
+ */
+ private $phone_number = null;
+ /**
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ */
+ private $country_code = null;
+ /**
+ * Indicates whether call tracking is enabled. By default, call tracking is
+ * not enabled.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracking_enabled = 3;
+ */
+ private $call_tracking_enabled = null;
+ /**
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracking_enabled is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 4;
+ */
+ private $call_conversion_action = null;
+ /**
+ * If true, disable call conversion tracking. call_conversion_action should
+ * not be set if this is true. Optional.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_tracking_disabled = 5;
+ */
+ private $call_conversion_tracking_disabled = null;
+ /**
+ * Enum value that indicates whether this call extension uses its own call
+ * conversion setting (or just have call conversion disabled), or following
+ * the account level setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6;
+ */
+ private $call_conversion_reporting_state = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $phone_number
+ * The advertiser's phone number to append to the ad.
+ * This string must not be empty.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This string must not be empty.
+ * @type \Google\Protobuf\BoolValue $call_tracking_enabled
+ * Indicates whether call tracking is enabled. By default, call tracking is
+ * not enabled.
+ * @type \Google\Protobuf\StringValue $call_conversion_action
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracking_enabled is set to true. Otherwise this field is ignored.
+ * @type \Google\Protobuf\BoolValue $call_conversion_tracking_disabled
+ * If true, disable call conversion tracking. call_conversion_action should
+ * not be set if this is true. Optional.
+ * @type int $call_conversion_reporting_state
+ * Enum value that indicates whether this call extension uses its own call
+ * conversion setting (or just have call conversion disabled), or following
+ * the account level setting.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The advertiser's phone number to append to the ad.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPhoneNumber()
+ {
+ return $this->phone_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneNumber()
+
+ * The advertiser's phone number to append to the ad.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 1;
+ * @return string|null
+ */
+ public function getPhoneNumberUnwrapped()
+ {
+ $wrapper = $this->getPhoneNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The advertiser's phone number to append to the ad.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPhoneNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->phone_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The advertiser's phone number to append to the ad.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPhoneNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPhoneNumber($wrappedVar);
+ }
+
+ /**
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Indicates whether call tracking is enabled. By default, call tracking is
+ * not enabled.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracking_enabled = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getCallTrackingEnabled()
+ {
+ return $this->call_tracking_enabled;
+ }
+
+ /**
+ * Returns the unboxed value from getCallTrackingEnabled()
+
+ * Indicates whether call tracking is enabled. By default, call tracking is
+ * not enabled.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracking_enabled = 3;
+ * @return bool|null
+ */
+ public function getCallTrackingEnabledUnwrapped()
+ {
+ $wrapper = $this->getCallTrackingEnabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates whether call tracking is enabled. By default, call tracking is
+ * not enabled.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracking_enabled = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setCallTrackingEnabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->call_tracking_enabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates whether call tracking is enabled. By default, call tracking is
+ * not enabled.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracking_enabled = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setCallTrackingEnabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setCallTrackingEnabled($wrappedVar);
+ }
+
+ /**
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracking_enabled is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallConversionAction()
+ {
+ return $this->call_conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getCallConversionAction()
+
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracking_enabled is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 4;
+ * @return string|null
+ */
+ public function getCallConversionActionUnwrapped()
+ {
+ $wrapper = $this->getCallConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracking_enabled is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->call_conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracking_enabled is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallConversionAction($wrappedVar);
+ }
+
+ /**
+ * If true, disable call conversion tracking. call_conversion_action should
+ * not be set if this is true. Optional.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_tracking_disabled = 5;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getCallConversionTrackingDisabled()
+ {
+ return $this->call_conversion_tracking_disabled;
+ }
+
+ /**
+ * Returns the unboxed value from getCallConversionTrackingDisabled()
+
+ * If true, disable call conversion tracking. call_conversion_action should
+ * not be set if this is true. Optional.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_tracking_disabled = 5;
+ * @return bool|null
+ */
+ public function getCallConversionTrackingDisabledUnwrapped()
+ {
+ $wrapper = $this->getCallConversionTrackingDisabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * If true, disable call conversion tracking. call_conversion_action should
+ * not be set if this is true. Optional.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_tracking_disabled = 5;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setCallConversionTrackingDisabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->call_conversion_tracking_disabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * If true, disable call conversion tracking. call_conversion_action should
+ * not be set if this is true. Optional.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_tracking_disabled = 5;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setCallConversionTrackingDisabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setCallConversionTrackingDisabled($wrappedVar);
+ }
+
+ /**
+ * Enum value that indicates whether this call extension uses its own call
+ * conversion setting (or just have call conversion disabled), or following
+ * the account level setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6;
+ * @return int
+ */
+ public function getCallConversionReportingState()
+ {
+ return $this->call_conversion_reporting_state;
+ }
+
+ /**
+ * Enum value that indicates whether this call extension uses its own call
+ * conversion setting (or just have call conversion disabled), or following
+ * the account level setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setCallConversionReportingState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CallConversionReportingStateEnum_CallConversionReportingState::class);
+ $this->call_conversion_reporting_state = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CallOnlyAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/CallOnlyAdInfo.php
new file mode 100644
index 000000000..95ca8995d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CallOnlyAdInfo.php
@@ -0,0 +1,800 @@
+google.ads.googleads.v2.common.CallOnlyAdInfo
+ */
+final class CallOnlyAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The country code in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 1;
+ */
+ private $country_code = null;
+ /**
+ * The phone number in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 2;
+ */
+ private $phone_number = null;
+ /**
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ */
+ private $business_name = null;
+ /**
+ * First headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline1 = 11;
+ */
+ private $headline1 = null;
+ /**
+ * Second headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline2 = 12;
+ */
+ private $headline2 = null;
+ /**
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ */
+ private $description1 = null;
+ /**
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ */
+ private $description2 = null;
+ /**
+ * Whether to enable call tracking for the creative. Enabling call
+ * tracking also enables call conversions.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracked = 6;
+ */
+ private $call_tracked = null;
+ /**
+ * Whether to disable call conversion for the creative.
+ * If set to `true`, disables call conversions even when `call_tracked` is
+ * `true`.
+ * If `call_tracked` is `false`, this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue disable_call_conversion = 7;
+ */
+ private $disable_call_conversion = null;
+ /**
+ * The URL to be used for phone number verification.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number_verification_url = 8;
+ */
+ private $phone_number_verification_url = null;
+ /**
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracked is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 9;
+ */
+ private $conversion_action = null;
+ /**
+ * The call conversion behavior of this call only ad. It can use its own call
+ * conversion setting, inherit the account level setting, or be disabled.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10;
+ */
+ private $conversion_reporting_state = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $country_code
+ * The country code in the ad.
+ * @type \Google\Protobuf\StringValue $phone_number
+ * The phone number in the ad.
+ * @type \Google\Protobuf\StringValue $business_name
+ * The business name in the ad.
+ * @type \Google\Protobuf\StringValue $headline1
+ * First headline in the ad.
+ * @type \Google\Protobuf\StringValue $headline2
+ * Second headline in the ad.
+ * @type \Google\Protobuf\StringValue $description1
+ * The first line of the ad's description.
+ * @type \Google\Protobuf\StringValue $description2
+ * The second line of the ad's description.
+ * @type \Google\Protobuf\BoolValue $call_tracked
+ * Whether to enable call tracking for the creative. Enabling call
+ * tracking also enables call conversions.
+ * @type \Google\Protobuf\BoolValue $disable_call_conversion
+ * Whether to disable call conversion for the creative.
+ * If set to `true`, disables call conversions even when `call_tracked` is
+ * `true`.
+ * If `call_tracked` is `false`, this field is ignored.
+ * @type \Google\Protobuf\StringValue $phone_number_verification_url
+ * The URL to be used for phone number verification.
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracked is set to true. Otherwise this field is ignored.
+ * @type int $conversion_reporting_state
+ * The call conversion behavior of this call only ad. It can use its own call
+ * conversion setting, inherit the account level setting, or be disabled.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The country code in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * The country code in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 1;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The country code in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The country code in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * The phone number in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPhoneNumber()
+ {
+ return $this->phone_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneNumber()
+
+ * The phone number in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 2;
+ * @return string|null
+ */
+ public function getPhoneNumberUnwrapped()
+ {
+ $wrapper = $this->getPhoneNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The phone number in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPhoneNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->phone_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The phone number in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPhoneNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPhoneNumber($wrappedVar);
+ }
+
+ /**
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * First headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline1 = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline1()
+ {
+ return $this->headline1;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline1()
+
+ * First headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline1 = 11;
+ * @return string|null
+ */
+ public function getHeadline1Unwrapped()
+ {
+ $wrapper = $this->getHeadline1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * First headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline1 = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * First headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline1 = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadline1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline1($wrappedVar);
+ }
+
+ /**
+ * Second headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline2 = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline2()
+ {
+ return $this->headline2;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline2()
+
+ * Second headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline2 = 12;
+ * @return string|null
+ */
+ public function getHeadline2Unwrapped()
+ {
+ $wrapper = $this->getHeadline2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Second headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline2 = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Second headline in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline2 = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadline2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline2($wrappedVar);
+ }
+
+ /**
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription1()
+ {
+ return $this->description1;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription1()
+
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @return string|null
+ */
+ public function getDescription1Unwrapped()
+ {
+ $wrapper = $this->getDescription1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription1($wrappedVar);
+ }
+
+ /**
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription2()
+ {
+ return $this->description2;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription2()
+
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @return string|null
+ */
+ public function getDescription2Unwrapped()
+ {
+ $wrapper = $this->getDescription2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription2($wrappedVar);
+ }
+
+ /**
+ * Whether to enable call tracking for the creative. Enabling call
+ * tracking also enables call conversions.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracked = 6;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getCallTracked()
+ {
+ return $this->call_tracked;
+ }
+
+ /**
+ * Returns the unboxed value from getCallTracked()
+
+ * Whether to enable call tracking for the creative. Enabling call
+ * tracking also enables call conversions.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracked = 6;
+ * @return bool|null
+ */
+ public function getCallTrackedUnwrapped()
+ {
+ $wrapper = $this->getCallTracked();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether to enable call tracking for the creative. Enabling call
+ * tracking also enables call conversions.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracked = 6;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setCallTracked($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->call_tracked = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether to enable call tracking for the creative. Enabling call
+ * tracking also enables call conversions.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_tracked = 6;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setCallTrackedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setCallTracked($wrappedVar);
+ }
+
+ /**
+ * Whether to disable call conversion for the creative.
+ * If set to `true`, disables call conversions even when `call_tracked` is
+ * `true`.
+ * If `call_tracked` is `false`, this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue disable_call_conversion = 7;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getDisableCallConversion()
+ {
+ return $this->disable_call_conversion;
+ }
+
+ /**
+ * Returns the unboxed value from getDisableCallConversion()
+
+ * Whether to disable call conversion for the creative.
+ * If set to `true`, disables call conversions even when `call_tracked` is
+ * `true`.
+ * If `call_tracked` is `false`, this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue disable_call_conversion = 7;
+ * @return bool|null
+ */
+ public function getDisableCallConversionUnwrapped()
+ {
+ $wrapper = $this->getDisableCallConversion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether to disable call conversion for the creative.
+ * If set to `true`, disables call conversions even when `call_tracked` is
+ * `true`.
+ * If `call_tracked` is `false`, this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue disable_call_conversion = 7;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setDisableCallConversion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->disable_call_conversion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether to disable call conversion for the creative.
+ * If set to `true`, disables call conversions even when `call_tracked` is
+ * `true`.
+ * If `call_tracked` is `false`, this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue disable_call_conversion = 7;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setDisableCallConversionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setDisableCallConversion($wrappedVar);
+ }
+
+ /**
+ * The URL to be used for phone number verification.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number_verification_url = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPhoneNumberVerificationUrl()
+ {
+ return $this->phone_number_verification_url;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneNumberVerificationUrl()
+
+ * The URL to be used for phone number verification.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number_verification_url = 8;
+ * @return string|null
+ */
+ public function getPhoneNumberVerificationUrlUnwrapped()
+ {
+ $wrapper = $this->getPhoneNumberVerificationUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL to be used for phone number verification.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number_verification_url = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPhoneNumberVerificationUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->phone_number_verification_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL to be used for phone number verification.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number_verification_url = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPhoneNumberVerificationUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPhoneNumberVerificationUrl($wrappedVar);
+ }
+
+ /**
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracked is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracked is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 9;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracked is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The conversion action to attribute a call conversion to. If not set a
+ * default conversion action is used. This field only has effect if
+ * call_tracked is set to true. Otherwise this field is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The call conversion behavior of this call only ad. It can use its own call
+ * conversion setting, inherit the account level setting, or be disabled.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10;
+ * @return int
+ */
+ public function getConversionReportingState()
+ {
+ return $this->conversion_reporting_state;
+ }
+
+ /**
+ * The call conversion behavior of this call only ad. It can use its own call
+ * conversion setting, inherit the account level setting, or be disabled.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionReportingState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CallConversionReportingStateEnum_CallConversionReportingState::class);
+ $this->conversion_reporting_state = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CalloutFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/CalloutFeedItem.php
new file mode 100644
index 000000000..b6348db85
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CalloutFeedItem.php
@@ -0,0 +1,102 @@
+google.ads.googleads.v2.common.CalloutFeedItem
+ */
+final class CalloutFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The callout text.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue callout_text = 1;
+ */
+ private $callout_text = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $callout_text
+ * The callout text.
+ * The length of this string should be between 1 and 25, inclusive.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The callout text.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue callout_text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCalloutText()
+ {
+ return $this->callout_text;
+ }
+
+ /**
+ * Returns the unboxed value from getCalloutText()
+
+ * The callout text.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue callout_text = 1;
+ * @return string|null
+ */
+ public function getCalloutTextUnwrapped()
+ {
+ $wrapper = $this->getCalloutText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The callout text.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue callout_text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCalloutText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->callout_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The callout text.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue callout_text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCalloutTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCalloutText($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CarrierInfo.php b/src/Google/Ads/GoogleAds/V2/Common/CarrierInfo.php
new file mode 100644
index 000000000..33e679f03
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CarrierInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.CarrierInfo
+ */
+final class CarrierInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Carrier constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue carrier_constant = 1;
+ */
+ private $carrier_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $carrier_constant
+ * The Carrier constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Carrier constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue carrier_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCarrierConstant()
+ {
+ return $this->carrier_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getCarrierConstant()
+
+ * The Carrier constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue carrier_constant = 1;
+ * @return string|null
+ */
+ public function getCarrierConstantUnwrapped()
+ {
+ $wrapper = $this->getCarrierConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Carrier constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue carrier_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCarrierConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->carrier_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Carrier constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue carrier_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCarrierConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCarrierConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ClickLocation.php b/src/Google/Ads/GoogleAds/V2/Common/ClickLocation.php
new file mode 100644
index 000000000..4489b17ef
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ClickLocation.php
@@ -0,0 +1,348 @@
+google.ads.googleads.v2.common.ClickLocation
+ */
+final class ClickLocation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The city location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 1;
+ */
+ private $city = null;
+ /**
+ * The country location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country = 2;
+ */
+ private $country = null;
+ /**
+ * The metro location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue metro = 3;
+ */
+ private $metro = null;
+ /**
+ * The most specific location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue most_specific = 4;
+ */
+ private $most_specific = null;
+ /**
+ * The region location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue region = 5;
+ */
+ private $region = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $city
+ * The city location criterion associated with the impression.
+ * @type \Google\Protobuf\StringValue $country
+ * The country location criterion associated with the impression.
+ * @type \Google\Protobuf\StringValue $metro
+ * The metro location criterion associated with the impression.
+ * @type \Google\Protobuf\StringValue $most_specific
+ * The most specific location criterion associated with the impression.
+ * @type \Google\Protobuf\StringValue $region
+ * The region location criterion associated with the impression.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\ClickLocation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The city location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCity()
+ {
+ return $this->city;
+ }
+
+ /**
+ * Returns the unboxed value from getCity()
+
+ * The city location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 1;
+ * @return string|null
+ */
+ public function getCityUnwrapped()
+ {
+ $wrapper = $this->getCity();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The city location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->city = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The city location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCity($wrappedVar);
+ }
+
+ /**
+ * The country location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountry()
+ {
+ return $this->country;
+ }
+
+ /**
+ * Returns the unboxed value from getCountry()
+
+ * The country location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country = 2;
+ * @return string|null
+ */
+ public function getCountryUnwrapped()
+ {
+ $wrapper = $this->getCountry();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The country location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountry($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The country location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountry($wrappedVar);
+ }
+
+ /**
+ * The metro location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue metro = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMetro()
+ {
+ return $this->metro;
+ }
+
+ /**
+ * Returns the unboxed value from getMetro()
+
+ * The metro location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue metro = 3;
+ * @return string|null
+ */
+ public function getMetroUnwrapped()
+ {
+ $wrapper = $this->getMetro();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The metro location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue metro = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMetro($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->metro = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The metro location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue metro = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMetroUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMetro($wrappedVar);
+ }
+
+ /**
+ * The most specific location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue most_specific = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMostSpecific()
+ {
+ return $this->most_specific;
+ }
+
+ /**
+ * Returns the unboxed value from getMostSpecific()
+
+ * The most specific location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue most_specific = 4;
+ * @return string|null
+ */
+ public function getMostSpecificUnwrapped()
+ {
+ $wrapper = $this->getMostSpecific();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The most specific location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue most_specific = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMostSpecific($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->most_specific = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The most specific location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue most_specific = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMostSpecificUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMostSpecific($wrappedVar);
+ }
+
+ /**
+ * The region location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue region = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getRegion()
+ {
+ return $this->region;
+ }
+
+ /**
+ * Returns the unboxed value from getRegion()
+
+ * The region location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue region = 5;
+ * @return string|null
+ */
+ public function getRegionUnwrapped()
+ {
+ $wrapper = $this->getRegion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The region location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue region = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setRegion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->region = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The region location criterion associated with the impression.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue region = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setRegionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setRegion($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CombinedRuleUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/CombinedRuleUserListInfo.php
new file mode 100644
index 000000000..a8901f5bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CombinedRuleUserListInfo.php
@@ -0,0 +1,157 @@
+google.ads.googleads.v2.common.CombinedRuleUserListInfo
+ */
+final class CombinedRuleUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Left operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo left_operand = 1;
+ */
+ private $left_operand = null;
+ /**
+ * Right operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo right_operand = 2;
+ */
+ private $right_operand = null;
+ /**
+ * Operator to connect the two operands.
+ * Required for creating a combined rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3;
+ */
+ private $rule_operator = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $left_operand
+ * Left operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $right_operand
+ * Right operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ * @type int $rule_operator
+ * Operator to connect the two operands.
+ * Required for creating a combined rule user list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Left operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo left_operand = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo
+ */
+ public function getLeftOperand()
+ {
+ return $this->left_operand;
+ }
+
+ /**
+ * Left operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo left_operand = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $var
+ * @return $this
+ */
+ public function setLeftOperand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo::class);
+ $this->left_operand = $var;
+
+ return $this;
+ }
+
+ /**
+ * Right operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo right_operand = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo
+ */
+ public function getRightOperand()
+ {
+ return $this->right_operand;
+ }
+
+ /**
+ * Right operand of the combined rule.
+ * This field is required and must be populated when creating new combined
+ * rule based user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo right_operand = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $var
+ * @return $this
+ */
+ public function setRightOperand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo::class);
+ $this->right_operand = $var;
+
+ return $this;
+ }
+
+ /**
+ * Operator to connect the two operands.
+ * Required for creating a combined rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3;
+ * @return int
+ */
+ public function getRuleOperator()
+ {
+ return $this->rule_operator;
+ }
+
+ /**
+ * Operator to connect the two operands.
+ * Required for creating a combined rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setRuleOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListCombinedRuleOperatorEnum_UserListCombinedRuleOperator::class);
+ $this->rule_operator = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Commission.php b/src/Google/Ads/GoogleAds/V2/Common/Commission.php
new file mode 100644
index 000000000..4acc7894b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Commission.php
@@ -0,0 +1,115 @@
+google.ads.googleads.v2.common.Commission
+ */
+final class Commission extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Commission rate defines the portion of the conversion value that the
+ * advertiser will be billed. A commission rate of x should be passed into
+ * this field as (x * 1,000,000). For example, 106,000 represents a commission
+ * rate of 0.106 (10.6%).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value commission_rate_micros = 1;
+ */
+ private $commission_rate_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $commission_rate_micros
+ * Commission rate defines the portion of the conversion value that the
+ * advertiser will be billed. A commission rate of x should be passed into
+ * this field as (x * 1,000,000). For example, 106,000 represents a commission
+ * rate of 0.106 (10.6%).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Commission rate defines the portion of the conversion value that the
+ * advertiser will be billed. A commission rate of x should be passed into
+ * this field as (x * 1,000,000). For example, 106,000 represents a commission
+ * rate of 0.106 (10.6%).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value commission_rate_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCommissionRateMicros()
+ {
+ return $this->commission_rate_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCommissionRateMicros()
+
+ * Commission rate defines the portion of the conversion value that the
+ * advertiser will be billed. A commission rate of x should be passed into
+ * this field as (x * 1,000,000). For example, 106,000 represents a commission
+ * rate of 0.106 (10.6%).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value commission_rate_micros = 1;
+ * @return int|string|null
+ */
+ public function getCommissionRateMicrosUnwrapped()
+ {
+ $wrapper = $this->getCommissionRateMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Commission rate defines the portion of the conversion value that the
+ * advertiser will be billed. A commission rate of x should be passed into
+ * this field as (x * 1,000,000). For example, 106,000 represents a commission
+ * rate of 0.106 (10.6%).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value commission_rate_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCommissionRateMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->commission_rate_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Commission rate defines the portion of the conversion value that the
+ * advertiser will be billed. A commission rate of x should be passed into
+ * this field as (x * 1,000,000). For example, 106,000 represents a commission
+ * rate of 0.106 (10.6%).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value commission_rate_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCommissionRateMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCommissionRateMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ContentLabelInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ContentLabelInfo.php
new file mode 100644
index 000000000..9438221b7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ContentLabelInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.ContentLabelInfo
+ */
+final class ContentLabelInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Content label type, required for CREATE operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Content label type, required for CREATE operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Content label type, required for CREATE operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Content label type, required for CREATE operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ContentLabelTypeEnum_ContentLabelType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPoint.php b/src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPoint.php
new file mode 100644
index 000000000..1a6773652
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPoint.php
@@ -0,0 +1,480 @@
+google.ads.googleads.v2.common.CpcBidSimulationPoint
+ */
+final class CpcBidSimulationPoint extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The simulated CPC bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 1;
+ */
+ private $cpc_bid_micros = null;
+ /**
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ */
+ private $biddable_conversions = null;
+ /**
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ */
+ private $biddable_conversions_value = null;
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ */
+ private $clicks = null;
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ */
+ private $cost_micros = null;
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ */
+ private $impressions = null;
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ */
+ private $top_slot_impressions = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * The simulated CPC bid upon which projected metrics are based.
+ * @type \Google\Protobuf\DoubleValue $biddable_conversions
+ * Projected number of biddable conversions.
+ * @type \Google\Protobuf\DoubleValue $biddable_conversions_value
+ * Projected total value of biddable conversions.
+ * @type \Google\Protobuf\Int64Value $clicks
+ * Projected number of clicks.
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * Projected cost in micros.
+ * @type \Google\Protobuf\Int64Value $impressions
+ * Projected number of impressions.
+ * @type \Google\Protobuf\Int64Value $top_slot_impressions
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The simulated CPC bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * The simulated CPC bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 1;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The simulated CPC bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The simulated CPC bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBiddableConversions()
+ {
+ return $this->biddable_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getBiddableConversions()
+
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @return float|null
+ */
+ public function getBiddableConversionsUnwrapped()
+ {
+ $wrapper = $this->getBiddableConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBiddableConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->biddable_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBiddableConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBiddableConversions($wrappedVar);
+ }
+
+ /**
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBiddableConversionsValue()
+ {
+ return $this->biddable_conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getBiddableConversionsValue()
+
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @return float|null
+ */
+ public function getBiddableConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getBiddableConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBiddableConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->biddable_conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBiddableConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBiddableConversionsValue($wrappedVar);
+ }
+
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getClicks()
+ {
+ return $this->clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getClicks()
+
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @return int|string|null
+ */
+ public function getClicksUnwrapped()
+ {
+ $wrapper = $this->getClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setClicks($wrappedVar);
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @return int|string|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTopSlotImpressions()
+ {
+ return $this->top_slot_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getTopSlotImpressions()
+
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @return int|string|null
+ */
+ public function getTopSlotImpressionsUnwrapped()
+ {
+ $wrapper = $this->getTopSlotImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTopSlotImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->top_slot_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTopSlotImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTopSlotImpressions($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPointList.php b/src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPointList.php
new file mode 100644
index 000000000..90bc9065e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CpcBidSimulationPointList.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.CpcBidSimulationPointList
+ */
+final class CpcBidSimulationPointList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Projected metrics for a series of CPC bid amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CpcBidSimulationPoint points = 1;
+ */
+ private $points;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $points
+ * Projected metrics for a series of CPC bid amounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Projected metrics for a series of CPC bid amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CpcBidSimulationPoint points = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPoints()
+ {
+ return $this->points;
+ }
+
+ /**
+ * Projected metrics for a series of CPC bid amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CpcBidSimulationPoint points = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPoints($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPoint::class);
+ $this->points = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPoint.php b/src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPoint.php
new file mode 100644
index 000000000..87ac3a5c5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPoint.php
@@ -0,0 +1,285 @@
+google.ads.googleads.v2.common.CpvBidSimulationPoint
+ */
+final class CpvBidSimulationPoint extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The simulated CPV bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 1;
+ */
+ private $cpv_bid_micros = null;
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 2;
+ */
+ private $cost_micros = null;
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 3;
+ */
+ private $impressions = null;
+ /**
+ * Projected number of views.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value views = 4;
+ */
+ private $views = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $cpv_bid_micros
+ * The simulated CPV bid upon which projected metrics are based.
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * Projected cost in micros.
+ * @type \Google\Protobuf\Int64Value $impressions
+ * Projected number of impressions.
+ * @type \Google\Protobuf\Int64Value $views
+ * Projected number of views.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The simulated CPV bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpvBidMicros()
+ {
+ return $this->cpv_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpvBidMicros()
+
+ * The simulated CPV bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 1;
+ * @return int|string|null
+ */
+ public function getCpvBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpvBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The simulated CPV bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpvBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpv_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The simulated CPV bid upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpvBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpvBidMicros($wrappedVar);
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 2;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 3;
+ * @return int|string|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected number of views.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value views = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getViews()
+ {
+ return $this->views;
+ }
+
+ /**
+ * Returns the unboxed value from getViews()
+
+ * Projected number of views.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value views = 4;
+ * @return int|string|null
+ */
+ public function getViewsUnwrapped()
+ {
+ $wrapper = $this->getViews();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of views.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value views = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setViews($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->views = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of views.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value views = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setViewsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setViews($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPointList.php b/src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPointList.php
new file mode 100644
index 000000000..413db4e83
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CpvBidSimulationPointList.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.CpvBidSimulationPointList
+ */
+final class CpvBidSimulationPointList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Projected metrics for a series of CPV bid amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CpvBidSimulationPoint points = 1;
+ */
+ private $points;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $points
+ * Projected metrics for a series of CPV bid amounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Projected metrics for a series of CPV bid amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CpvBidSimulationPoint points = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPoints()
+ {
+ return $this->points;
+ }
+
+ /**
+ * Projected metrics for a series of CPV bid amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CpvBidSimulationPoint points = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPoints($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPoint::class);
+ $this->points = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php b/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php
new file mode 100644
index 000000000..774562e30
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryAvailability.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.common.CriterionCategoryAvailability
+ */
+final class CriterionCategoryAvailability extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Channel types and subtypes that are available to the category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CriterionCategoryChannelAvailability channel = 1;
+ */
+ private $channel = null;
+ /**
+ * Locales that are available to the category for the channel.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CriterionCategoryLocaleAvailability locale = 2;
+ */
+ private $locale;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CriterionCategoryChannelAvailability $channel
+ * Channel types and subtypes that are available to the category.
+ * @type \Google\Ads\GoogleAds\V2\Common\CriterionCategoryLocaleAvailability[]|\Google\Protobuf\Internal\RepeatedField $locale
+ * Locales that are available to the category for the channel.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\CriterionCategoryAvailability::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Channel types and subtypes that are available to the category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CriterionCategoryChannelAvailability channel = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\CriterionCategoryChannelAvailability
+ */
+ public function getChannel()
+ {
+ return $this->channel;
+ }
+
+ /**
+ * Channel types and subtypes that are available to the category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CriterionCategoryChannelAvailability channel = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CriterionCategoryChannelAvailability $var
+ * @return $this
+ */
+ public function setChannel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CriterionCategoryChannelAvailability::class);
+ $this->channel = $var;
+
+ return $this;
+ }
+
+ /**
+ * Locales that are available to the category for the channel.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CriterionCategoryLocaleAvailability locale = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * Locales that are available to the category for the channel.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CriterionCategoryLocaleAvailability locale = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\CriterionCategoryLocaleAvailability[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLocale($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CriterionCategoryLocaleAvailability::class);
+ $this->locale = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryChannelAvailability.php b/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryChannelAvailability.php
new file mode 100644
index 000000000..e865429d9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryChannelAvailability.php
@@ -0,0 +1,237 @@
+google.ads.googleads.v2.common.CriterionCategoryChannelAvailability
+ */
+final class CriterionCategoryChannelAvailability extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Format of the channel availability. Can be ALL_CHANNELS (the rest of the
+ * fields will not be set), CHANNEL_TYPE (only advertising_channel_type type
+ * will be set, the category is available to all sub types under it) or
+ * CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type,
+ * advertising_channel_sub_type, and include_default_channel_sub_type will all
+ * be set).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1;
+ */
+ private $availability_mode = 0;
+ /**
+ * Channel type the category is available to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2;
+ */
+ private $advertising_channel_type = 0;
+ /**
+ * Channel subtypes under the channel type the category is available to.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3;
+ */
+ private $advertising_channel_sub_type;
+ /**
+ * Whether default channel sub type is included. For example,
+ * advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ * being false means that the default display campaign where channel sub type
+ * is not set is not included in this availability configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_default_channel_sub_type = 4;
+ */
+ private $include_default_channel_sub_type = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $availability_mode
+ * Format of the channel availability. Can be ALL_CHANNELS (the rest of the
+ * fields will not be set), CHANNEL_TYPE (only advertising_channel_type type
+ * will be set, the category is available to all sub types under it) or
+ * CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type,
+ * advertising_channel_sub_type, and include_default_channel_sub_type will all
+ * be set).
+ * @type int $advertising_channel_type
+ * Channel type the category is available to.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $advertising_channel_sub_type
+ * Channel subtypes under the channel type the category is available to.
+ * @type \Google\Protobuf\BoolValue $include_default_channel_sub_type
+ * Whether default channel sub type is included. For example,
+ * advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ * being false means that the default display campaign where channel sub type
+ * is not set is not included in this availability configuration.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\CriterionCategoryAvailability::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Format of the channel availability. Can be ALL_CHANNELS (the rest of the
+ * fields will not be set), CHANNEL_TYPE (only advertising_channel_type type
+ * will be set, the category is available to all sub types under it) or
+ * CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type,
+ * advertising_channel_sub_type, and include_default_channel_sub_type will all
+ * be set).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1;
+ * @return int
+ */
+ public function getAvailabilityMode()
+ {
+ return $this->availability_mode;
+ }
+
+ /**
+ * Format of the channel availability. Can be ALL_CHANNELS (the rest of the
+ * fields will not be set), CHANNEL_TYPE (only advertising_channel_type type
+ * will be set, the category is available to all sub types under it) or
+ * CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type,
+ * advertising_channel_sub_type, and include_default_channel_sub_type will all
+ * be set).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setAvailabilityMode($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionCategoryChannelAvailabilityModeEnum_CriterionCategoryChannelAvailabilityMode::class);
+ $this->availability_mode = $var;
+
+ return $this;
+ }
+
+ /**
+ * Channel type the category is available to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2;
+ * @return int
+ */
+ public function getAdvertisingChannelType()
+ {
+ return $this->advertising_channel_type;
+ }
+
+ /**
+ * Channel type the category is available to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdvertisingChannelType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum_AdvertisingChannelType::class);
+ $this->advertising_channel_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Channel subtypes under the channel type the category is available to.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAdvertisingChannelSubType()
+ {
+ return $this->advertising_channel_sub_type;
+ }
+
+ /**
+ * Channel subtypes under the channel type the category is available to.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAdvertisingChannelSubType($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelSubTypeEnum\AdvertisingChannelSubType::class);
+ $this->advertising_channel_sub_type = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Whether default channel sub type is included. For example,
+ * advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ * being false means that the default display campaign where channel sub type
+ * is not set is not included in this availability configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_default_channel_sub_type = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getIncludeDefaultChannelSubType()
+ {
+ return $this->include_default_channel_sub_type;
+ }
+
+ /**
+ * Returns the unboxed value from getIncludeDefaultChannelSubType()
+
+ * Whether default channel sub type is included. For example,
+ * advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ * being false means that the default display campaign where channel sub type
+ * is not set is not included in this availability configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_default_channel_sub_type = 4;
+ * @return bool|null
+ */
+ public function getIncludeDefaultChannelSubTypeUnwrapped()
+ {
+ $wrapper = $this->getIncludeDefaultChannelSubType();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether default channel sub type is included. For example,
+ * advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ * being false means that the default display campaign where channel sub type
+ * is not set is not included in this availability configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_default_channel_sub_type = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setIncludeDefaultChannelSubType($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->include_default_channel_sub_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether default channel sub type is included. For example,
+ * advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ * being false means that the default display campaign where channel sub type
+ * is not set is not included in this availability configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_default_channel_sub_type = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setIncludeDefaultChannelSubTypeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setIncludeDefaultChannelSubType($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryLocaleAvailability.php b/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryLocaleAvailability.php
new file mode 100644
index 000000000..99efb8684
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CriterionCategoryLocaleAvailability.php
@@ -0,0 +1,205 @@
+google.ads.googleads.v2.common.CriterionCategoryLocaleAvailability
+ */
+final class CriterionCategoryLocaleAvailability extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and
+ * language will be empty), COUNTRY (only country will be set), LANGUAGE (only
+ * language wil be set), COUNTRY_AND_LANGUAGE (both country and language will
+ * be set).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1;
+ */
+ private $availability_mode = 0;
+ /**
+ * Code of the country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ */
+ private $country_code = null;
+ /**
+ * Code of the language.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 3;
+ */
+ private $language_code = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $availability_mode
+ * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and
+ * language will be empty), COUNTRY (only country will be set), LANGUAGE (only
+ * language wil be set), COUNTRY_AND_LANGUAGE (both country and language will
+ * be set).
+ * @type \Google\Protobuf\StringValue $country_code
+ * Code of the country.
+ * @type \Google\Protobuf\StringValue $language_code
+ * Code of the language.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\CriterionCategoryAvailability::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and
+ * language will be empty), COUNTRY (only country will be set), LANGUAGE (only
+ * language wil be set), COUNTRY_AND_LANGUAGE (both country and language will
+ * be set).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1;
+ * @return int
+ */
+ public function getAvailabilityMode()
+ {
+ return $this->availability_mode;
+ }
+
+ /**
+ * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and
+ * language will be empty), COUNTRY (only country will be set), LANGUAGE (only
+ * language wil be set), COUNTRY_AND_LANGUAGE (both country and language will
+ * be set).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setAvailabilityMode($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionCategoryLocaleAvailabilityModeEnum_CriterionCategoryLocaleAvailabilityMode::class);
+ $this->availability_mode = $var;
+
+ return $this;
+ }
+
+ /**
+ * Code of the country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Code of the country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Code of the country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Code of the country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Code of the language.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * Code of the language.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 3;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Code of the language.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Code of the language.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CrmBasedUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/CrmBasedUserListInfo.php
new file mode 100644
index 000000000..e5d5dddfa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CrmBasedUserListInfo.php
@@ -0,0 +1,230 @@
+google.ads.googleads.v2.common.CrmBasedUserListInfo
+ */
+final class CrmBasedUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A string that uniquely identifies a mobile application from which the data
+ * was collected to the Google Ads API.
+ * For iOS, the ID string is the 9 digit string that appears at the end of an
+ * App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ * http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, the ID string is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * Required when creating CrmBasedUserList for uploading mobile advertising
+ * IDs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ */
+ private $app_id = null;
+ /**
+ * Matching key type of the list.
+ * Mixed data types are not allowed on the same list.
+ * This field is required for an ADD operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2;
+ */
+ private $upload_key_type = 0;
+ /**
+ * Data source of the list. Default value is FIRST_PARTY.
+ * Only whitelisted customers can create third-party sourced CRM lists.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3;
+ */
+ private $data_source_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $app_id
+ * A string that uniquely identifies a mobile application from which the data
+ * was collected to the Google Ads API.
+ * For iOS, the ID string is the 9 digit string that appears at the end of an
+ * App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ * http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, the ID string is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * Required when creating CrmBasedUserList for uploading mobile advertising
+ * IDs.
+ * @type int $upload_key_type
+ * Matching key type of the list.
+ * Mixed data types are not allowed on the same list.
+ * This field is required for an ADD operation.
+ * @type int $data_source_type
+ * Data source of the list. Default value is FIRST_PARTY.
+ * Only whitelisted customers can create third-party sourced CRM lists.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A string that uniquely identifies a mobile application from which the data
+ * was collected to the Google Ads API.
+ * For iOS, the ID string is the 9 digit string that appears at the end of an
+ * App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ * http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, the ID string is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * Required when creating CrmBasedUserList for uploading mobile advertising
+ * IDs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAppId()
+ {
+ return $this->app_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAppId()
+
+ * A string that uniquely identifies a mobile application from which the data
+ * was collected to the Google Ads API.
+ * For iOS, the ID string is the 9 digit string that appears at the end of an
+ * App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ * http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, the ID string is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * Required when creating CrmBasedUserList for uploading mobile advertising
+ * IDs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @return string|null
+ */
+ public function getAppIdUnwrapped()
+ {
+ $wrapper = $this->getAppId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A string that uniquely identifies a mobile application from which the data
+ * was collected to the Google Ads API.
+ * For iOS, the ID string is the 9 digit string that appears at the end of an
+ * App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ * http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, the ID string is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * Required when creating CrmBasedUserList for uploading mobile advertising
+ * IDs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAppId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->app_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A string that uniquely identifies a mobile application from which the data
+ * was collected to the Google Ads API.
+ * For iOS, the ID string is the 9 digit string that appears at the end of an
+ * App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ * http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, the ID string is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * Required when creating CrmBasedUserList for uploading mobile advertising
+ * IDs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAppIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAppId($wrappedVar);
+ }
+
+ /**
+ * Matching key type of the list.
+ * Mixed data types are not allowed on the same list.
+ * This field is required for an ADD operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2;
+ * @return int
+ */
+ public function getUploadKeyType()
+ {
+ return $this->upload_key_type;
+ }
+
+ /**
+ * Matching key type of the list.
+ * Mixed data types are not allowed on the same list.
+ * This field is required for an ADD operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setUploadKeyType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CustomerMatchUploadKeyTypeEnum_CustomerMatchUploadKeyType::class);
+ $this->upload_key_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Data source of the list. Default value is FIRST_PARTY.
+ * Only whitelisted customers can create third-party sourced CRM lists.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3;
+ * @return int
+ */
+ public function getDataSourceType()
+ {
+ return $this->data_source_type;
+ }
+
+ /**
+ * Data source of the list. Default value is FIRST_PARTY.
+ * Only whitelisted customers can create third-party sourced CRM lists.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setDataSourceType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListCrmDataSourceTypeEnum_UserListCrmDataSourceType::class);
+ $this->data_source_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CustomAffinityInfo.php b/src/Google/Ads/GoogleAds/V2/Common/CustomAffinityInfo.php
new file mode 100644
index 000000000..4b87b043c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CustomAffinityInfo.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.CustomAffinityInfo
+ */
+final class CustomAffinityInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_affinity = 1;
+ */
+ private $custom_affinity = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $custom_affinity
+ * The CustomInterest resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_affinity = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCustomAffinity()
+ {
+ return $this->custom_affinity;
+ }
+
+ /**
+ * Returns the unboxed value from getCustomAffinity()
+
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_affinity = 1;
+ * @return string|null
+ */
+ public function getCustomAffinityUnwrapped()
+ {
+ $wrapper = $this->getCustomAffinity();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_affinity = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCustomAffinity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->custom_affinity = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_affinity = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCustomAffinityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCustomAffinity($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CustomIntentInfo.php b/src/Google/Ads/GoogleAds/V2/Common/CustomIntentInfo.php
new file mode 100644
index 000000000..d14138a78
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CustomIntentInfo.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.CustomIntentInfo
+ */
+final class CustomIntentInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_intent = 1;
+ */
+ private $custom_intent = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $custom_intent
+ * The CustomInterest resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_intent = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCustomIntent()
+ {
+ return $this->custom_intent;
+ }
+
+ /**
+ * Returns the unboxed value from getCustomIntent()
+
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_intent = 1;
+ * @return string|null
+ */
+ public function getCustomIntentUnwrapped()
+ {
+ $wrapper = $this->getCustomIntent();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_intent = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCustomIntent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->custom_intent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The CustomInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue custom_intent = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCustomIntentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCustomIntent($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/CustomParameter.php b/src/Google/Ads/GoogleAds/V2/Common/CustomParameter.php
new file mode 100644
index 000000000..1b5f519c5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/CustomParameter.php
@@ -0,0 +1,160 @@
+google.ads.googleads.v2.common.CustomParameter
+ */
+final class CustomParameter extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The key matching the parameter tag name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue key = 1;
+ */
+ private $key = null;
+ /**
+ * The value to be substituted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $key
+ * The key matching the parameter tag name.
+ * @type \Google\Protobuf\StringValue $value
+ * The value to be substituted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\CustomParameter::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The key matching the parameter tag name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue key = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKey()
+ {
+ return $this->key;
+ }
+
+ /**
+ * Returns the unboxed value from getKey()
+
+ * The key matching the parameter tag name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue key = 1;
+ * @return string|null
+ */
+ public function getKeyUnwrapped()
+ {
+ $wrapper = $this->getKey();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The key matching the parameter tag name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue key = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKey($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->key = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The key matching the parameter tag name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue key = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKey($wrappedVar);
+ }
+
+ /**
+ * The value to be substituted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * The value to be substituted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value to be substituted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The value to be substituted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/DateRange.php b/src/Google/Ads/GoogleAds/V2/Common/DateRange.php
new file mode 100644
index 000000000..3a071b266
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/DateRange.php
@@ -0,0 +1,159 @@
+google.ads.googleads.v2.common.DateRange
+ */
+final class DateRange extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The start date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 1;
+ */
+ private $start_date = null;
+ /**
+ * The end date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 2;
+ */
+ private $end_date = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $start_date
+ * The start date, in yyyy-mm-dd format. This date is inclusive.
+ * @type \Google\Protobuf\StringValue $end_date
+ * The end date, in yyyy-mm-dd format. This date is inclusive.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Dates::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The start date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * The start date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 1;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The start date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The start date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * The end date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * The end date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 2;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The end date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The end date, in yyyy-mm-dd format. This date is inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/DateSpecificRuleUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/DateSpecificRuleUserListInfo.php
new file mode 100644
index 000000000..faf634f09
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/DateSpecificRuleUserListInfo.php
@@ -0,0 +1,221 @@
+google.ads.googleads.v2.common.DateSpecificRuleUserListInfo
+ */
+final class DateSpecificRuleUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Boolean rule that defines visitor of a page.
+ * Required for creating a date specific rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo rule = 1;
+ */
+ private $rule = null;
+ /**
+ * Start date of users visit. If set to 2000-01-01, then the list includes all
+ * users before end_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 2;
+ */
+ private $start_date = null;
+ /**
+ * End date of users visit. If set to 2037-12-30, then the list includes all
+ * users after start_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 3;
+ */
+ private $end_date = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $rule
+ * Boolean rule that defines visitor of a page.
+ * Required for creating a date specific rule user list.
+ * @type \Google\Protobuf\StringValue $start_date
+ * Start date of users visit. If set to 2000-01-01, then the list includes all
+ * users before end_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ * @type \Google\Protobuf\StringValue $end_date
+ * End date of users visit. If set to 2037-12-30, then the list includes all
+ * users after start_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Boolean rule that defines visitor of a page.
+ * Required for creating a date specific rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo rule = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo
+ */
+ public function getRule()
+ {
+ return $this->rule;
+ }
+
+ /**
+ * Boolean rule that defines visitor of a page.
+ * Required for creating a date specific rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo rule = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $var
+ * @return $this
+ */
+ public function setRule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo::class);
+ $this->rule = $var;
+
+ return $this;
+ }
+
+ /**
+ * Start date of users visit. If set to 2000-01-01, then the list includes all
+ * users before end_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * Start date of users visit. If set to 2000-01-01, then the list includes all
+ * users before end_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 2;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Start date of users visit. If set to 2000-01-01, then the list includes all
+ * users before end_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Start date of users visit. If set to 2000-01-01, then the list includes all
+ * users before end_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * End date of users visit. If set to 2037-12-30, then the list includes all
+ * users after start_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * End date of users visit. If set to 2037-12-30, then the list includes all
+ * users after start_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 3;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * End date of users visit. If set to 2037-12-30, then the list includes all
+ * users after start_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * End date of users visit. If set to 2037-12-30, then the list includes all
+ * users after start_date. The date's format should be YYYY-MM-DD.
+ * Required for creating a data specific rule user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/DeviceInfo.php b/src/Google/Ads/GoogleAds/V2/Common/DeviceInfo.php
new file mode 100644
index 000000000..f2baedd55
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/DeviceInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.DeviceInfo
+ */
+final class DeviceInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the device.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DeviceEnum_Device::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/DisplayCallToAction.php b/src/Google/Ads/GoogleAds/V2/Common/DisplayCallToAction.php
new file mode 100644
index 000000000..d07f13ea7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/DisplayCallToAction.php
@@ -0,0 +1,236 @@
+google.ads.googleads.v2.common.DisplayCallToAction
+ */
+final class DisplayCallToAction extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Text for the display-call-to-action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ */
+ private $text = null;
+ /**
+ * Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ * white.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text_color = 2;
+ */
+ private $text_color = null;
+ /**
+ * Identifies the url collection in the ad.url_collections field. If not set
+ * the url defaults to final_url.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 3;
+ */
+ private $url_collection_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $text
+ * Text for the display-call-to-action.
+ * @type \Google\Protobuf\StringValue $text_color
+ * Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ * white.
+ * @type \Google\Protobuf\StringValue $url_collection_id
+ * Identifies the url collection in the ad.url_collections field. If not set
+ * the url defaults to final_url.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Text for the display-call-to-action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * Text for the display-call-to-action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Text for the display-call-to-action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Text for the display-call-to-action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ * white.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text_color = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTextColor()
+ {
+ return $this->text_color;
+ }
+
+ /**
+ * Returns the unboxed value from getTextColor()
+
+ * Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ * white.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text_color = 2;
+ * @return string|null
+ */
+ public function getTextColorUnwrapped()
+ {
+ $wrapper = $this->getTextColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ * white.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text_color = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTextColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ * white.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text_color = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTextColor($wrappedVar);
+ }
+
+ /**
+ * Identifies the url collection in the ad.url_collections field. If not set
+ * the url defaults to final_url.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrlCollectionId()
+ {
+ return $this->url_collection_id;
+ }
+
+ /**
+ * Returns the unboxed value from getUrlCollectionId()
+
+ * Identifies the url collection in the ad.url_collections field. If not set
+ * the url defaults to final_url.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 3;
+ * @return string|null
+ */
+ public function getUrlCollectionIdUnwrapped()
+ {
+ $wrapper = $this->getUrlCollectionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Identifies the url collection in the ad.url_collections field. If not set
+ * the url defaults to final_url.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrlCollectionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url_collection_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Identifies the url collection in the ad.url_collections field. If not set
+ * the url defaults to final_url.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlCollectionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrlCollectionId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/DisplayUploadAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/DisplayUploadAdInfo.php
new file mode 100644
index 000000000..ec69d9ba6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/DisplayUploadAdInfo.php
@@ -0,0 +1,124 @@
+google.ads.googleads.v2.common.DisplayUploadAdInfo
+ */
+final class DisplayUploadAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The product type of this ad. See comments on the enum for details.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1;
+ */
+ private $display_upload_product_type = 0;
+ protected $media_asset;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $display_upload_product_type
+ * The product type of this ad. See comments on the enum for details.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset $media_bundle
+ * A media bundle asset to be used in the ad. For information about the
+ * media bundle for HTML5_UPLOAD_AD see
+ * https://support.google.com/google-ads/answer/1722096
+ * Media bundles that are part of dynamic product types use a special format
+ * that needs to be created through the Google Web Designer. See
+ * https://support.google.com/webdesigner/answer/7543898 for more
+ * information.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The product type of this ad. See comments on the enum for details.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1;
+ * @return int
+ */
+ public function getDisplayUploadProductType()
+ {
+ return $this->display_upload_product_type;
+ }
+
+ /**
+ * The product type of this ad. See comments on the enum for details.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setDisplayUploadProductType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DisplayUploadProductTypeEnum_DisplayUploadProductType::class);
+ $this->display_upload_product_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * A media bundle asset to be used in the ad. For information about the
+ * media bundle for HTML5_UPLOAD_AD see
+ * https://support.google.com/google-ads/answer/1722096
+ * Media bundles that are part of dynamic product types use a special format
+ * that needs to be created through the Google Web Designer. See
+ * https://support.google.com/webdesigner/answer/7543898 for more
+ * information.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdMediaBundleAsset media_bundle = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset
+ */
+ public function getMediaBundle()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * A media bundle asset to be used in the ad. For information about the
+ * media bundle for HTML5_UPLOAD_AD see
+ * https://support.google.com/google-ads/answer/1722096
+ * Media bundles that are part of dynamic product types use a special format
+ * that needs to be created through the Google Web Designer. See
+ * https://support.google.com/webdesigner/answer/7543898 for more
+ * information.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdMediaBundleAsset media_bundle = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset $var
+ * @return $this
+ */
+ public function setMediaBundle($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AdMediaBundleAsset::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getMediaAsset()
+ {
+ return $this->whichOneof("media_asset");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/EnhancedCpc.php b/src/Google/Ads/GoogleAds/V2/Common/EnhancedCpc.php
new file mode 100644
index 000000000..01c89df04
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/EnhancedCpc.php
@@ -0,0 +1,35 @@
+google.ads.googleads.v2.common.EnhancedCpc
+ */
+final class EnhancedCpc extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ExpandedDynamicSearchAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ExpandedDynamicSearchAdInfo.php
new file mode 100644
index 000000000..c99546b4b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ExpandedDynamicSearchAdInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo
+ */
+final class ExpandedDynamicSearchAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 1;
+ */
+ private $description = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $description
+ * The description of the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 1;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ExpandedTextAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ExpandedTextAdInfo.php
new file mode 100644
index 000000000..8c1cddfad
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ExpandedTextAdInfo.php
@@ -0,0 +1,474 @@
+google.ads.googleads.v2.common.ExpandedTextAdInfo
+ */
+final class ExpandedTextAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The first part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part1 = 1;
+ */
+ private $headline_part1 = null;
+ /**
+ * The second part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part2 = 2;
+ */
+ private $headline_part2 = null;
+ /**
+ * The third part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part3 = 6;
+ */
+ private $headline_part3 = null;
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ */
+ private $description = null;
+ /**
+ * The second description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 7;
+ */
+ private $description2 = null;
+ /**
+ * The text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 4;
+ */
+ private $path1 = null;
+ /**
+ * Additional text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 5;
+ */
+ private $path2 = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $headline_part1
+ * The first part of the ad's headline.
+ * @type \Google\Protobuf\StringValue $headline_part2
+ * The second part of the ad's headline.
+ * @type \Google\Protobuf\StringValue $headline_part3
+ * The third part of the ad's headline.
+ * @type \Google\Protobuf\StringValue $description
+ * The description of the ad.
+ * @type \Google\Protobuf\StringValue $description2
+ * The second description of the ad.
+ * @type \Google\Protobuf\StringValue $path1
+ * The text that can appear alongside the ad's displayed URL.
+ * @type \Google\Protobuf\StringValue $path2
+ * Additional text that can appear alongside the ad's displayed URL.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The first part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part1 = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadlinePart1()
+ {
+ return $this->headline_part1;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadlinePart1()
+
+ * The first part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part1 = 1;
+ * @return string|null
+ */
+ public function getHeadlinePart1Unwrapped()
+ {
+ $wrapper = $this->getHeadlinePart1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The first part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part1 = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadlinePart1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline_part1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The first part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part1 = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlinePart1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadlinePart1($wrappedVar);
+ }
+
+ /**
+ * The second part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part2 = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadlinePart2()
+ {
+ return $this->headline_part2;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadlinePart2()
+
+ * The second part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part2 = 2;
+ * @return string|null
+ */
+ public function getHeadlinePart2Unwrapped()
+ {
+ $wrapper = $this->getHeadlinePart2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The second part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part2 = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadlinePart2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline_part2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The second part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part2 = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlinePart2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadlinePart2($wrappedVar);
+ }
+
+ /**
+ * The third part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part3 = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadlinePart3()
+ {
+ return $this->headline_part3;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadlinePart3()
+
+ * The third part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part3 = 6;
+ * @return string|null
+ */
+ public function getHeadlinePart3Unwrapped()
+ {
+ $wrapper = $this->getHeadlinePart3();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The third part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part3 = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadlinePart3($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline_part3 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The third part of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline_part3 = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlinePart3Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadlinePart3($wrappedVar);
+ }
+
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * The second description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription2()
+ {
+ return $this->description2;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription2()
+
+ * The second description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 7;
+ * @return string|null
+ */
+ public function getDescription2Unwrapped()
+ {
+ $wrapper = $this->getDescription2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The second description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The second description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription2($wrappedVar);
+ }
+
+ /**
+ * The text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPath1()
+ {
+ return $this->path1;
+ }
+
+ /**
+ * Returns the unboxed value from getPath1()
+
+ * The text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 4;
+ * @return string|null
+ */
+ public function getPath1Unwrapped()
+ {
+ $wrapper = $this->getPath1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPath1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->path1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPath1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPath1($wrappedVar);
+ }
+
+ /**
+ * Additional text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPath2()
+ {
+ return $this->path2;
+ }
+
+ /**
+ * Returns the unboxed value from getPath2()
+
+ * Additional text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 5;
+ * @return string|null
+ */
+ public function getPath2Unwrapped()
+ {
+ $wrapper = $this->getPath2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Additional text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPath2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->path2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Additional text that can appear alongside the ad's displayed URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPath2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPath2($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php b/src/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php
new file mode 100644
index 000000000..bf82b4dba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ExplorerAutoOptimizerSetting.php
@@ -0,0 +1,98 @@
+google.ads.googleads.v2.common.ExplorerAutoOptimizerSetting
+ */
+final class ExplorerAutoOptimizerSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Indicates whether the optimizer is turned on.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ */
+ private $opt_in = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BoolValue $opt_in
+ * Indicates whether the optimizer is turned on.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\ExplorerAutoOptimizerSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Indicates whether the optimizer is turned on.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getOptIn()
+ {
+ return $this->opt_in;
+ }
+
+ /**
+ * Returns the unboxed value from getOptIn()
+
+ * Indicates whether the optimizer is turned on.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @return bool|null
+ */
+ public function getOptInUnwrapped()
+ {
+ $wrapper = $this->getOptIn();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates whether the optimizer is turned on.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setOptIn($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->opt_in = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates whether the optimizer is turned on.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setOptInUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setOptIn($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ExpressionRuleUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ExpressionRuleUserListInfo.php
new file mode 100644
index 000000000..5e2bfea21
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ExpressionRuleUserListInfo.php
@@ -0,0 +1,83 @@
+google.ads.googleads.v2.common.ExpressionRuleUserListInfo
+ */
+final class ExpressionRuleUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Boolean rule that defines this user list. The rule consists of a list of
+ * rule item groups and each rule item group consists of a list of rule items.
+ * All the rule item groups are ORed or ANDed together for evaluation based on
+ * rule.rule_type.
+ * Required for creating an expression rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo rule = 1;
+ */
+ private $rule = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $rule
+ * Boolean rule that defines this user list. The rule consists of a list of
+ * rule item groups and each rule item group consists of a list of rule items.
+ * All the rule item groups are ORed or ANDed together for evaluation based on
+ * rule.rule_type.
+ * Required for creating an expression rule user list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Boolean rule that defines this user list. The rule consists of a list of
+ * rule item groups and each rule item group consists of a list of rule items.
+ * All the rule item groups are ORed or ANDed together for evaluation based on
+ * rule.rule_type.
+ * Required for creating an expression rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo rule = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo
+ */
+ public function getRule()
+ {
+ return $this->rule;
+ }
+
+ /**
+ * Boolean rule that defines this user list. The rule consists of a list of
+ * rule item groups and each rule item group consists of a list of rule items.
+ * All the rule item groups are ORed or ANDed together for evaluation based on
+ * rule.rule_type.
+ * Required for creating an expression rule user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListRuleInfo rule = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo $var
+ * @return $this
+ */
+ public function setRule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListRuleInfo::class);
+ $this->rule = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php b/src/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php
new file mode 100644
index 000000000..ce45e4cb0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/FinalAppUrl.php
@@ -0,0 +1,166 @@
+google.ads.googleads.v2.common.FinalAppUrl
+ */
+final class FinalAppUrl extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The operating system targeted by this URL. Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1;
+ */
+ private $os_type = 0;
+ /**
+ * The app deep link URL. Deep links specify a location in an app that
+ * corresponds to the content you'd like to show, and should be of the form
+ * {scheme}://{host_path}
+ * The scheme identifies which app to open. For your app, you can use a custom
+ * scheme that starts with the app's name. The host and path specify the
+ * unique location in the app where your content exists.
+ * Example: "exampleapp://productid_1234". Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 2;
+ */
+ private $url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $os_type
+ * The operating system targeted by this URL. Required.
+ * @type \Google\Protobuf\StringValue $url
+ * The app deep link URL. Deep links specify a location in an app that
+ * corresponds to the content you'd like to show, and should be of the form
+ * {scheme}://{host_path}
+ * The scheme identifies which app to open. For your app, you can use a custom
+ * scheme that starts with the app's name. The host and path specify the
+ * unique location in the app where your content exists.
+ * Example: "exampleapp://productid_1234". Required.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\FinalAppUrl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The operating system targeted by this URL. Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1;
+ * @return int
+ */
+ public function getOsType()
+ {
+ return $this->os_type;
+ }
+
+ /**
+ * The operating system targeted by this URL. Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOsType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AppUrlOperatingSystemTypeEnum_AppUrlOperatingSystemType::class);
+ $this->os_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The app deep link URL. Deep links specify a location in an app that
+ * corresponds to the content you'd like to show, and should be of the form
+ * {scheme}://{host_path}
+ * The scheme identifies which app to open. For your app, you can use a custom
+ * scheme that starts with the app's name. The host and path specify the
+ * unique location in the app where your content exists.
+ * Example: "exampleapp://productid_1234". Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrl()
+ {
+ return $this->url;
+ }
+
+ /**
+ * Returns the unboxed value from getUrl()
+
+ * The app deep link URL. Deep links specify a location in an app that
+ * corresponds to the content you'd like to show, and should be of the form
+ * {scheme}://{host_path}
+ * The scheme identifies which app to open. For your app, you can use a custom
+ * scheme that starts with the app's name. The host and path specify the
+ * unique location in the app where your content exists.
+ * Example: "exampleapp://productid_1234". Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 2;
+ * @return string|null
+ */
+ public function getUrlUnwrapped()
+ {
+ $wrapper = $this->getUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The app deep link URL. Deep links specify a location in an app that
+ * corresponds to the content you'd like to show, and should be of the form
+ * {scheme}://{host_path}
+ * The scheme identifies which app to open. For your app, you can use a custom
+ * scheme that starts with the app's name. The host and path specify the
+ * unique location in the app where your content exists.
+ * Example: "exampleapp://productid_1234". Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The app deep link URL. Deep links specify a location in an app that
+ * corresponds to the content you'd like to show, and should be of the form
+ * {scheme}://{host_path}
+ * The scheme identifies which app to open. For your app, you can use a custom
+ * scheme that starts with the app's name. The host and path specify the
+ * unique location in the app where your content exists.
+ * Example: "exampleapp://productid_1234". Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/FrequencyCapEntry.php b/src/Google/Ads/GoogleAds/V2/Common/FrequencyCapEntry.php
new file mode 100644
index 000000000..027af6a01
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/FrequencyCapEntry.php
@@ -0,0 +1,135 @@
+google.ads.googleads.v2.common.FrequencyCapEntry
+ */
+final class FrequencyCapEntry extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The key of a particular frequency cap. There can be no more
+ * than one frequency cap with the same key.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.FrequencyCapKey key = 1;
+ */
+ private $key = null;
+ /**
+ * Maximum number of events allowed during the time range by this cap.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value cap = 2;
+ */
+ private $cap = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\FrequencyCapKey $key
+ * The key of a particular frequency cap. There can be no more
+ * than one frequency cap with the same key.
+ * @type \Google\Protobuf\Int32Value $cap
+ * Maximum number of events allowed during the time range by this cap.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\FrequencyCap::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The key of a particular frequency cap. There can be no more
+ * than one frequency cap with the same key.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.FrequencyCapKey key = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\FrequencyCapKey
+ */
+ public function getKey()
+ {
+ return $this->key;
+ }
+
+ /**
+ * The key of a particular frequency cap. There can be no more
+ * than one frequency cap with the same key.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.FrequencyCapKey key = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\FrequencyCapKey $var
+ * @return $this
+ */
+ public function setKey($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\FrequencyCapKey::class);
+ $this->key = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of events allowed during the time range by this cap.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value cap = 2;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getCap()
+ {
+ return $this->cap;
+ }
+
+ /**
+ * Returns the unboxed value from getCap()
+
+ * Maximum number of events allowed during the time range by this cap.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value cap = 2;
+ * @return int|null
+ */
+ public function getCapUnwrapped()
+ {
+ $wrapper = $this->getCap();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum number of events allowed during the time range by this cap.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value cap = 2;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setCap($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->cap = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Maximum number of events allowed during the time range by this cap.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value cap = 2;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setCapUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setCap($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/FrequencyCapKey.php b/src/Google/Ads/GoogleAds/V2/Common/FrequencyCapKey.php
new file mode 100644
index 000000000..952829fd3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/FrequencyCapKey.php
@@ -0,0 +1,203 @@
+google.ads.googleads.v2.common.FrequencyCapKey
+ */
+final class FrequencyCapKey extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The level on which the cap is to be applied (e.g. ad group ad, ad group).
+ * The cap is applied to all the entities of this level.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1;
+ */
+ private $level = 0;
+ /**
+ * The type of event that the cap applies to (e.g. impression).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3;
+ */
+ private $event_type = 0;
+ /**
+ * Unit of time the cap is defined at (e.g. day, week).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2;
+ */
+ private $time_unit = 0;
+ /**
+ * Number of time units the cap lasts.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value time_length = 4;
+ */
+ private $time_length = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $level
+ * The level on which the cap is to be applied (e.g. ad group ad, ad group).
+ * The cap is applied to all the entities of this level.
+ * @type int $event_type
+ * The type of event that the cap applies to (e.g. impression).
+ * @type int $time_unit
+ * Unit of time the cap is defined at (e.g. day, week).
+ * @type \Google\Protobuf\Int32Value $time_length
+ * Number of time units the cap lasts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\FrequencyCap::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The level on which the cap is to be applied (e.g. ad group ad, ad group).
+ * The cap is applied to all the entities of this level.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1;
+ * @return int
+ */
+ public function getLevel()
+ {
+ return $this->level;
+ }
+
+ /**
+ * The level on which the cap is to be applied (e.g. ad group ad, ad group).
+ * The cap is applied to all the entities of this level.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setLevel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FrequencyCapLevelEnum_FrequencyCapLevel::class);
+ $this->level = $var;
+
+ return $this;
+ }
+
+ /**
+ * The type of event that the cap applies to (e.g. impression).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3;
+ * @return int
+ */
+ public function getEventType()
+ {
+ return $this->event_type;
+ }
+
+ /**
+ * The type of event that the cap applies to (e.g. impression).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setEventType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FrequencyCapEventTypeEnum_FrequencyCapEventType::class);
+ $this->event_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Unit of time the cap is defined at (e.g. day, week).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2;
+ * @return int
+ */
+ public function getTimeUnit()
+ {
+ return $this->time_unit;
+ }
+
+ /**
+ * Unit of time the cap is defined at (e.g. day, week).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setTimeUnit($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FrequencyCapTimeUnitEnum_FrequencyCapTimeUnit::class);
+ $this->time_unit = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number of time units the cap lasts.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value time_length = 4;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getTimeLength()
+ {
+ return $this->time_length;
+ }
+
+ /**
+ * Returns the unboxed value from getTimeLength()
+
+ * Number of time units the cap lasts.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value time_length = 4;
+ * @return int|null
+ */
+ public function getTimeLengthUnwrapped()
+ {
+ $wrapper = $this->getTimeLength();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of time units the cap lasts.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value time_length = 4;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setTimeLength($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->time_length = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Number of time units the cap lasts.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value time_length = 4;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setTimeLengthUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setTimeLength($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/GenderInfo.php b/src/Google/Ads/GoogleAds/V2/Common/GenderInfo.php
new file mode 100644
index 000000000..40a79bab1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/GenderInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.GenderInfo
+ */
+final class GenderInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GenderTypeEnum.GenderType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the gender.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GenderTypeEnum.GenderType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GenderTypeEnum.GenderType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\GenderTypeEnum_GenderType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/GeoPointInfo.php b/src/Google/Ads/GoogleAds/V2/Common/GeoPointInfo.php
new file mode 100644
index 000000000..c300b2ed4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/GeoPointInfo.php
@@ -0,0 +1,159 @@
+google.ads.googleads.v2.common.GeoPointInfo
+ */
+final class GeoPointInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Micro degrees for the longitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value longitude_in_micro_degrees = 1;
+ */
+ private $longitude_in_micro_degrees = null;
+ /**
+ * Micro degrees for the latitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value latitude_in_micro_degrees = 2;
+ */
+ private $latitude_in_micro_degrees = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int32Value $longitude_in_micro_degrees
+ * Micro degrees for the longitude.
+ * @type \Google\Protobuf\Int32Value $latitude_in_micro_degrees
+ * Micro degrees for the latitude.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Micro degrees for the longitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value longitude_in_micro_degrees = 1;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getLongitudeInMicroDegrees()
+ {
+ return $this->longitude_in_micro_degrees;
+ }
+
+ /**
+ * Returns the unboxed value from getLongitudeInMicroDegrees()
+
+ * Micro degrees for the longitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value longitude_in_micro_degrees = 1;
+ * @return int|null
+ */
+ public function getLongitudeInMicroDegreesUnwrapped()
+ {
+ $wrapper = $this->getLongitudeInMicroDegrees();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Micro degrees for the longitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value longitude_in_micro_degrees = 1;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setLongitudeInMicroDegrees($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->longitude_in_micro_degrees = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Micro degrees for the longitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value longitude_in_micro_degrees = 1;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setLongitudeInMicroDegreesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setLongitudeInMicroDegrees($wrappedVar);
+ }
+
+ /**
+ * Micro degrees for the latitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value latitude_in_micro_degrees = 2;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getLatitudeInMicroDegrees()
+ {
+ return $this->latitude_in_micro_degrees;
+ }
+
+ /**
+ * Returns the unboxed value from getLatitudeInMicroDegrees()
+
+ * Micro degrees for the latitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value latitude_in_micro_degrees = 2;
+ * @return int|null
+ */
+ public function getLatitudeInMicroDegreesUnwrapped()
+ {
+ $wrapper = $this->getLatitudeInMicroDegrees();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Micro degrees for the latitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value latitude_in_micro_degrees = 2;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setLatitudeInMicroDegrees($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->latitude_in_micro_degrees = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Micro degrees for the latitude.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value latitude_in_micro_degrees = 2;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setLatitudeInMicroDegreesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setLatitudeInMicroDegrees($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/GmailAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/GmailAdInfo.php
new file mode 100644
index 000000000..1cef60caf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/GmailAdInfo.php
@@ -0,0 +1,455 @@
+google.ads.googleads.v2.common.GmailAdInfo
+ */
+final class GmailAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Gmail teaser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GmailTeaser teaser = 1;
+ */
+ private $teaser = null;
+ /**
+ * The MediaFile resource name of the header image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ * be between 3:1 and 5:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header_image = 2;
+ */
+ private $header_image = null;
+ /**
+ * The MediaFile resource name of the marketing image. Valid image types are
+ * GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ * of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ * minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 3;
+ */
+ private $marketing_image = null;
+ /**
+ * Headline of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_headline = 4;
+ */
+ private $marketing_image_headline = null;
+ /**
+ * Description of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_description = 5;
+ */
+ private $marketing_image_description = null;
+ /**
+ * Display-call-to-action of the marketing image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayCallToAction marketing_image_display_call_to_action = 6;
+ */
+ private $marketing_image_display_call_to_action = null;
+ /**
+ * Product images. Up to 15 images are supported.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ProductImage product_images = 7;
+ */
+ private $product_images;
+ /**
+ * Product videos. Up to 7 videos are supported. At least one product video
+ * or a marketing image must be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ProductVideo product_videos = 8;
+ */
+ private $product_videos;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\GmailTeaser $teaser
+ * The Gmail teaser.
+ * @type \Google\Protobuf\StringValue $header_image
+ * The MediaFile resource name of the header image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ * be between 3:1 and 5:1 (+-1%).
+ * @type \Google\Protobuf\StringValue $marketing_image
+ * The MediaFile resource name of the marketing image. Valid image types are
+ * GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ * of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ * minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ * @type \Google\Protobuf\StringValue $marketing_image_headline
+ * Headline of the marketing image.
+ * @type \Google\Protobuf\StringValue $marketing_image_description
+ * Description of the marketing image.
+ * @type \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction $marketing_image_display_call_to_action
+ * Display-call-to-action of the marketing image.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductImage[]|\Google\Protobuf\Internal\RepeatedField $product_images
+ * Product images. Up to 15 images are supported.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductVideo[]|\Google\Protobuf\Internal\RepeatedField $product_videos
+ * Product videos. Up to 7 videos are supported. At least one product video
+ * or a marketing image must be specified.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Gmail teaser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GmailTeaser teaser = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\GmailTeaser
+ */
+ public function getTeaser()
+ {
+ return $this->teaser;
+ }
+
+ /**
+ * The Gmail teaser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GmailTeaser teaser = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\GmailTeaser $var
+ * @return $this
+ */
+ public function setTeaser($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\GmailTeaser::class);
+ $this->teaser = $var;
+
+ return $this;
+ }
+
+ /**
+ * The MediaFile resource name of the header image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ * be between 3:1 and 5:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header_image = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeaderImage()
+ {
+ return $this->header_image;
+ }
+
+ /**
+ * Returns the unboxed value from getHeaderImage()
+
+ * The MediaFile resource name of the header image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ * be between 3:1 and 5:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header_image = 2;
+ * @return string|null
+ */
+ public function getHeaderImageUnwrapped()
+ {
+ $wrapper = $this->getHeaderImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the header image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ * be between 3:1 and 5:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header_image = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeaderImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->header_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the header image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ * be between 3:1 and 5:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header_image = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeaderImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeaderImage($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the marketing image. Valid image types are
+ * GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ * of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ * minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMarketingImage()
+ {
+ return $this->marketing_image;
+ }
+
+ /**
+ * Returns the unboxed value from getMarketingImage()
+
+ * The MediaFile resource name of the marketing image. Valid image types are
+ * GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ * of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ * minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 3;
+ * @return string|null
+ */
+ public function getMarketingImageUnwrapped()
+ {
+ $wrapper = $this->getMarketingImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the marketing image. Valid image types are
+ * GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ * of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ * minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMarketingImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->marketing_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the marketing image. Valid image types are
+ * GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ * of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ * minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMarketingImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMarketingImage($wrappedVar);
+ }
+
+ /**
+ * Headline of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_headline = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMarketingImageHeadline()
+ {
+ return $this->marketing_image_headline;
+ }
+
+ /**
+ * Returns the unboxed value from getMarketingImageHeadline()
+
+ * Headline of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_headline = 4;
+ * @return string|null
+ */
+ public function getMarketingImageHeadlineUnwrapped()
+ {
+ $wrapper = $this->getMarketingImageHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Headline of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_headline = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMarketingImageHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->marketing_image_headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Headline of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_headline = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMarketingImageHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMarketingImageHeadline($wrappedVar);
+ }
+
+ /**
+ * Description of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_description = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMarketingImageDescription()
+ {
+ return $this->marketing_image_description;
+ }
+
+ /**
+ * Returns the unboxed value from getMarketingImageDescription()
+
+ * Description of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_description = 5;
+ * @return string|null
+ */
+ public function getMarketingImageDescriptionUnwrapped()
+ {
+ $wrapper = $this->getMarketingImageDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Description of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_description = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMarketingImageDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->marketing_image_description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Description of the marketing image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image_description = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMarketingImageDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMarketingImageDescription($wrappedVar);
+ }
+
+ /**
+ * Display-call-to-action of the marketing image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayCallToAction marketing_image_display_call_to_action = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction
+ */
+ public function getMarketingImageDisplayCallToAction()
+ {
+ return $this->marketing_image_display_call_to_action;
+ }
+
+ /**
+ * Display-call-to-action of the marketing image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayCallToAction marketing_image_display_call_to_action = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction $var
+ * @return $this
+ */
+ public function setMarketingImageDisplayCallToAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction::class);
+ $this->marketing_image_display_call_to_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Product images. Up to 15 images are supported.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ProductImage product_images = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getProductImages()
+ {
+ return $this->product_images;
+ }
+
+ /**
+ * Product images. Up to 15 images are supported.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ProductImage product_images = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductImage[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setProductImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\ProductImage::class);
+ $this->product_images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Product videos. Up to 7 videos are supported. At least one product video
+ * or a marketing image must be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ProductVideo product_videos = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getProductVideos()
+ {
+ return $this->product_videos;
+ }
+
+ /**
+ * Product videos. Up to 7 videos are supported. At least one product video
+ * or a marketing image must be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ProductVideo product_videos = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductVideo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setProductVideos($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\ProductVideo::class);
+ $this->product_videos = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/GmailTeaser.php b/src/Google/Ads/GoogleAds/V2/Common/GmailTeaser.php
new file mode 100644
index 000000000..eff3723c0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/GmailTeaser.php
@@ -0,0 +1,298 @@
+google.ads.googleads.v2.common.GmailTeaser
+ */
+final class GmailTeaser extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Headline of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ */
+ private $headline = null;
+ /**
+ * Description of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ */
+ private $description = null;
+ /**
+ * Business name of the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ */
+ private $business_name = null;
+ /**
+ * The MediaFile resource name of the logo image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ * be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 4;
+ */
+ private $logo_image = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $headline
+ * Headline of the teaser.
+ * @type \Google\Protobuf\StringValue $description
+ * Description of the teaser.
+ * @type \Google\Protobuf\StringValue $business_name
+ * Business name of the advertiser.
+ * @type \Google\Protobuf\StringValue $logo_image
+ * The MediaFile resource name of the logo image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ * be 1:1 (+-1%).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Headline of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline()
+ {
+ return $this->headline;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline()
+
+ * Headline of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return string|null
+ */
+ public function getHeadlineUnwrapped()
+ {
+ $wrapper = $this->getHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Headline of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Headline of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline($wrappedVar);
+ }
+
+ /**
+ * Description of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * Description of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Description of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Description of the teaser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * Business name of the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * Business name of the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Business name of the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Business name of the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the logo image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ * be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLogoImage()
+ {
+ return $this->logo_image;
+ }
+
+ /**
+ * Returns the unboxed value from getLogoImage()
+
+ * The MediaFile resource name of the logo image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ * be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 4;
+ * @return string|null
+ */
+ public function getLogoImageUnwrapped()
+ {
+ $wrapper = $this->getLogoImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the logo image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ * be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLogoImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->logo_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the logo image. Valid image types are GIF,
+ * JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ * be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLogoImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLogoImage($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelAdInfo.php
new file mode 100644
index 000000000..345246d71
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelAdInfo.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.common.HotelAdInfo
+ */
+final class HotelAdInfo extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelAdvanceBookingWindowInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelAdvanceBookingWindowInfo.php
new file mode 100644
index 000000000..bbad668d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelAdvanceBookingWindowInfo.php
@@ -0,0 +1,159 @@
+google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo
+ */
+final class HotelAdvanceBookingWindowInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Low end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_days = 1;
+ */
+ private $min_days = null;
+ /**
+ * High end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_days = 2;
+ */
+ private $max_days = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $min_days
+ * Low end of the number of days prior to the stay.
+ * @type \Google\Protobuf\Int64Value $max_days
+ * High end of the number of days prior to the stay.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Low end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_days = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMinDays()
+ {
+ return $this->min_days;
+ }
+
+ /**
+ * Returns the unboxed value from getMinDays()
+
+ * Low end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_days = 1;
+ * @return int|string|null
+ */
+ public function getMinDaysUnwrapped()
+ {
+ $wrapper = $this->getMinDays();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Low end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_days = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMinDays($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->min_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Low end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_days = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMinDaysUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMinDays($wrappedVar);
+ }
+
+ /**
+ * High end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_days = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMaxDays()
+ {
+ return $this->max_days;
+ }
+
+ /**
+ * Returns the unboxed value from getMaxDays()
+
+ * High end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_days = 2;
+ * @return int|string|null
+ */
+ public function getMaxDaysUnwrapped()
+ {
+ $wrapper = $this->getMaxDays();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * High end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_days = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMaxDays($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->max_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * High end of the number of days prior to the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_days = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMaxDaysUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMaxDays($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelCheckInDayInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelCheckInDayInfo.php
new file mode 100644
index 000000000..4ff885769
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelCheckInDayInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.HotelCheckInDayInfo
+ */
+final class HotelCheckInDayInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The day of the week.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1;
+ */
+ private $day_of_week = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $day_of_week
+ * The day of the week.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The day of the week.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1;
+ * @return int
+ */
+ public function getDayOfWeek()
+ {
+ return $this->day_of_week;
+ }
+
+ /**
+ * The day of the week.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setDayOfWeek($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum_DayOfWeek::class);
+ $this->day_of_week = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelCityInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelCityInfo.php
new file mode 100644
index 000000000..0af0190bc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelCityInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.HotelCityInfo
+ */
+final class HotelCityInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_criterion = 1;
+ */
+ private $city_criterion = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $city_criterion
+ * The Geo Target Constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_criterion = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCityCriterion()
+ {
+ return $this->city_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getCityCriterion()
+
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_criterion = 1;
+ * @return string|null
+ */
+ public function getCityCriterionUnwrapped()
+ {
+ $wrapper = $this->getCityCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_criterion = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCityCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->city_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city_criterion = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCityCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCityCriterion($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelClassInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelClassInfo.php
new file mode 100644
index 000000000..b8683d8c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelClassInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.HotelClassInfo
+ */
+final class HotelClassInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Long value of the hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value value = 1;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $value
+ * Long value of the hotel class.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Long value of the hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value value = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * Long value of the hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value value = 1;
+ * @return int|string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Long value of the hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value value = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Long value of the hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value value = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelCountryRegionInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelCountryRegionInfo.php
new file mode 100644
index 000000000..9870f01e4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelCountryRegionInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.HotelCountryRegionInfo
+ */
+final class HotelCountryRegionInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_region_criterion = 1;
+ */
+ private $country_region_criterion = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $country_region_criterion
+ * The Geo Target Constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_region_criterion = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryRegionCriterion()
+ {
+ return $this->country_region_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryRegionCriterion()
+
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_region_criterion = 1;
+ * @return string|null
+ */
+ public function getCountryRegionCriterionUnwrapped()
+ {
+ $wrapper = $this->getCountryRegionCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_region_criterion = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryRegionCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_region_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_region_criterion = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryRegionCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryRegionCriterion($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelDateSelectionTypeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelDateSelectionTypeInfo.php
new file mode 100644
index 000000000..80603975d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelDateSelectionTypeInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.HotelDateSelectionTypeInfo
+ */
+final class HotelDateSelectionTypeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the hotel date selection
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the hotel date selection
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the hotel date selection
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the hotel date selection
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\HotelDateSelectionTypeEnum_HotelDateSelectionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelIdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelIdInfo.php
new file mode 100644
index 000000000..58a793e74
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelIdInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.HotelIdInfo
+ */
+final class HotelIdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * String value of the hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $value
+ * String value of the hotel ID.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * String value of the hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * String value of the hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String value of the hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String value of the hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelLengthOfStayInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelLengthOfStayInfo.php
new file mode 100644
index 000000000..8a350d00d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelLengthOfStayInfo.php
@@ -0,0 +1,159 @@
+google.ads.googleads.v2.common.HotelLengthOfStayInfo
+ */
+final class HotelLengthOfStayInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Low end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_nights = 1;
+ */
+ private $min_nights = null;
+ /**
+ * High end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_nights = 2;
+ */
+ private $max_nights = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $min_nights
+ * Low end of the number of nights in the stay.
+ * @type \Google\Protobuf\Int64Value $max_nights
+ * High end of the number of nights in the stay.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Low end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_nights = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMinNights()
+ {
+ return $this->min_nights;
+ }
+
+ /**
+ * Returns the unboxed value from getMinNights()
+
+ * Low end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_nights = 1;
+ * @return int|string|null
+ */
+ public function getMinNightsUnwrapped()
+ {
+ $wrapper = $this->getMinNights();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Low end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_nights = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMinNights($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->min_nights = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Low end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value min_nights = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMinNightsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMinNights($wrappedVar);
+ }
+
+ /**
+ * High end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_nights = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMaxNights()
+ {
+ return $this->max_nights;
+ }
+
+ /**
+ * Returns the unboxed value from getMaxNights()
+
+ * High end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_nights = 2;
+ * @return int|string|null
+ */
+ public function getMaxNightsUnwrapped()
+ {
+ $wrapper = $this->getMaxNights();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * High end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_nights = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMaxNights($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->max_nights = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * High end of the number of nights in the stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value max_nights = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMaxNightsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMaxNights($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/HotelStateInfo.php b/src/Google/Ads/GoogleAds/V2/Common/HotelStateInfo.php
new file mode 100644
index 000000000..3931149d0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/HotelStateInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.HotelStateInfo
+ */
+final class HotelStateInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue state_criterion = 1;
+ */
+ private $state_criterion = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $state_criterion
+ * The Geo Target Constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue state_criterion = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStateCriterion()
+ {
+ return $this->state_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getStateCriterion()
+
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue state_criterion = 1;
+ * @return string|null
+ */
+ public function getStateCriterionUnwrapped()
+ {
+ $wrapper = $this->getStateCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue state_criterion = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStateCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->state_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Geo Target Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue state_criterion = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStateCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStateCriterion($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ImageAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ImageAdInfo.php
new file mode 100644
index 000000000..b5fbc4ba7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ImageAdInfo.php
@@ -0,0 +1,694 @@
+google.ads.googleads.v2.common.ImageAdInfo
+ */
+final class ImageAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Width in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_width = 4;
+ */
+ private $pixel_width = null;
+ /**
+ * Height in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_height = 5;
+ */
+ private $pixel_height = null;
+ /**
+ * URL of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue image_url = 6;
+ */
+ private $image_url = null;
+ /**
+ * Width in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_width = 7;
+ */
+ private $preview_pixel_width = null;
+ /**
+ * Height in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_height = 8;
+ */
+ private $preview_pixel_height = null;
+ /**
+ * URL of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue preview_image_url = 9;
+ */
+ private $preview_image_url = null;
+ /**
+ * The mime type of the image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 10;
+ */
+ private $mime_type = 0;
+ /**
+ * The name of the image. If the image was created from a MediaFile, this is
+ * the MediaFile's name. If the image was created from bytes, this is empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 11;
+ */
+ private $name = null;
+ protected $image;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $pixel_width
+ * Width in pixels of the full size image.
+ * @type \Google\Protobuf\Int64Value $pixel_height
+ * Height in pixels of the full size image.
+ * @type \Google\Protobuf\StringValue $image_url
+ * URL of the full size image.
+ * @type \Google\Protobuf\Int64Value $preview_pixel_width
+ * Width in pixels of the preview size image.
+ * @type \Google\Protobuf\Int64Value $preview_pixel_height
+ * Height in pixels of the preview size image.
+ * @type \Google\Protobuf\StringValue $preview_image_url
+ * URL of the preview size image.
+ * @type int $mime_type
+ * The mime type of the image.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the image. If the image was created from a MediaFile, this is
+ * the MediaFile's name. If the image was created from bytes, this is empty.
+ * @type \Google\Protobuf\StringValue $media_file
+ * The MediaFile resource to use for the image.
+ * @type \Google\Protobuf\BytesValue $data
+ * Raw image data as bytes.
+ * @type \Google\Protobuf\Int64Value $ad_id_to_copy_image_from
+ * An ad ID to copy the image from.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Width in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_width = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPixelWidth()
+ {
+ return $this->pixel_width;
+ }
+
+ /**
+ * Returns the unboxed value from getPixelWidth()
+
+ * Width in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_width = 4;
+ * @return int|string|null
+ */
+ public function getPixelWidthUnwrapped()
+ {
+ $wrapper = $this->getPixelWidth();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Width in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_width = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPixelWidth($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->pixel_width = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Width in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_width = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPixelWidthUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPixelWidth($wrappedVar);
+ }
+
+ /**
+ * Height in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_height = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPixelHeight()
+ {
+ return $this->pixel_height;
+ }
+
+ /**
+ * Returns the unboxed value from getPixelHeight()
+
+ * Height in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_height = 5;
+ * @return int|string|null
+ */
+ public function getPixelHeightUnwrapped()
+ {
+ $wrapper = $this->getPixelHeight();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Height in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_height = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPixelHeight($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->pixel_height = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Height in pixels of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value pixel_height = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPixelHeightUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPixelHeight($wrappedVar);
+ }
+
+ /**
+ * URL of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue image_url = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getImageUrl()
+ {
+ return $this->image_url;
+ }
+
+ /**
+ * Returns the unboxed value from getImageUrl()
+
+ * URL of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue image_url = 6;
+ * @return string|null
+ */
+ public function getImageUrlUnwrapped()
+ {
+ $wrapper = $this->getImageUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue image_url = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setImageUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->image_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL of the full size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue image_url = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setImageUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setImageUrl($wrappedVar);
+ }
+
+ /**
+ * Width in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_width = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPreviewPixelWidth()
+ {
+ return $this->preview_pixel_width;
+ }
+
+ /**
+ * Returns the unboxed value from getPreviewPixelWidth()
+
+ * Width in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_width = 7;
+ * @return int|string|null
+ */
+ public function getPreviewPixelWidthUnwrapped()
+ {
+ $wrapper = $this->getPreviewPixelWidth();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Width in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_width = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPreviewPixelWidth($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->preview_pixel_width = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Width in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_width = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPreviewPixelWidthUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPreviewPixelWidth($wrappedVar);
+ }
+
+ /**
+ * Height in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_height = 8;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPreviewPixelHeight()
+ {
+ return $this->preview_pixel_height;
+ }
+
+ /**
+ * Returns the unboxed value from getPreviewPixelHeight()
+
+ * Height in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_height = 8;
+ * @return int|string|null
+ */
+ public function getPreviewPixelHeightUnwrapped()
+ {
+ $wrapper = $this->getPreviewPixelHeight();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Height in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_height = 8;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPreviewPixelHeight($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->preview_pixel_height = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Height in pixels of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value preview_pixel_height = 8;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPreviewPixelHeightUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPreviewPixelHeight($wrappedVar);
+ }
+
+ /**
+ * URL of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue preview_image_url = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPreviewImageUrl()
+ {
+ return $this->preview_image_url;
+ }
+
+ /**
+ * Returns the unboxed value from getPreviewImageUrl()
+
+ * URL of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue preview_image_url = 9;
+ * @return string|null
+ */
+ public function getPreviewImageUrlUnwrapped()
+ {
+ $wrapper = $this->getPreviewImageUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue preview_image_url = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPreviewImageUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->preview_image_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL of the preview size image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue preview_image_url = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPreviewImageUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPreviewImageUrl($wrappedVar);
+ }
+
+ /**
+ * The mime type of the image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 10;
+ * @return int
+ */
+ public function getMimeType()
+ {
+ return $this->mime_type;
+ }
+
+ /**
+ * The mime type of the image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setMimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MimeTypeEnum_MimeType::class);
+ $this->mime_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name of the image. If the image was created from a MediaFile, this is
+ * the MediaFile's name. If the image was created from bytes, this is empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the image. If the image was created from a MediaFile, this is
+ * the MediaFile's name. If the image was created from bytes, this is empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 11;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the image. If the image was created from a MediaFile, this is
+ * the MediaFile's name. If the image was created from bytes, this is empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the image. If the image was created from a MediaFile, this is
+ * the MediaFile's name. If the image was created from bytes, this is empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource to use for the image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMediaFile()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Returns the unboxed value from getMediaFile()
+
+ * The MediaFile resource to use for the image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @return string|null
+ */
+ public function getMediaFileUnwrapped()
+ {
+ $wrapper = $this->getMediaFile();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource to use for the image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMediaFile($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource to use for the image.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMediaFileUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMediaFile($wrappedVar);
+ }
+
+ /**
+ * Raw image data as bytes.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 2;
+ * @return \Google\Protobuf\BytesValue
+ */
+ public function getData()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Returns the unboxed value from getData()
+
+ * Raw image data as bytes.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 2;
+ * @return string|null
+ */
+ public function getDataUnwrapped()
+ {
+ $wrapper = $this->getData();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Raw image data as bytes.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 2;
+ * @param \Google\Protobuf\BytesValue $var
+ * @return $this
+ */
+ public function setData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BytesValue::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BytesValue object.
+
+ * Raw image data as bytes.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDataUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BytesValue(['value' => $var]);
+ return $this->setData($wrappedVar);
+ }
+
+ /**
+ * An ad ID to copy the image from.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_id_to_copy_image_from = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAdIdToCopyImageFrom()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Returns the unboxed value from getAdIdToCopyImageFrom()
+
+ * An ad ID to copy the image from.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_id_to_copy_image_from = 3;
+ * @return int|string|null
+ */
+ public function getAdIdToCopyImageFromUnwrapped()
+ {
+ $wrapper = $this->getAdIdToCopyImageFrom();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * An ad ID to copy the image from.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_id_to_copy_image_from = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAdIdToCopyImageFrom($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * An ad ID to copy the image from.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_id_to_copy_image_from = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAdIdToCopyImageFromUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAdIdToCopyImageFrom($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getImage()
+ {
+ return $this->whichOneof("image");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ImageAsset.php b/src/Google/Ads/GoogleAds/V2/Common/ImageAsset.php
new file mode 100644
index 000000000..f44721097
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ImageAsset.php
@@ -0,0 +1,227 @@
+google.ads.googleads.v2.common.ImageAsset
+ */
+final class ImageAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The raw bytes data of an image. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ */
+ private $data = null;
+ /**
+ * File size of the image asset in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 2;
+ */
+ private $file_size = null;
+ /**
+ * MIME type of the image asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 3;
+ */
+ private $mime_type = 0;
+ /**
+ * Metadata for this image at its original size.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageDimension full_size = 4;
+ */
+ private $full_size = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BytesValue $data
+ * The raw bytes data of an image. This field is mutate only.
+ * @type \Google\Protobuf\Int64Value $file_size
+ * File size of the image asset in bytes.
+ * @type int $mime_type
+ * MIME type of the image asset.
+ * @type \Google\Ads\GoogleAds\V2\Common\ImageDimension $full_size
+ * Metadata for this image at its original size.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AssetTypes::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The raw bytes data of an image. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return \Google\Protobuf\BytesValue
+ */
+ public function getData()
+ {
+ return $this->data;
+ }
+
+ /**
+ * Returns the unboxed value from getData()
+
+ * The raw bytes data of an image. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return string|null
+ */
+ public function getDataUnwrapped()
+ {
+ $wrapper = $this->getData();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The raw bytes data of an image. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param \Google\Protobuf\BytesValue $var
+ * @return $this
+ */
+ public function setData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BytesValue::class);
+ $this->data = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BytesValue object.
+
+ * The raw bytes data of an image. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDataUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BytesValue(['value' => $var]);
+ return $this->setData($wrappedVar);
+ }
+
+ /**
+ * File size of the image asset in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFileSize()
+ {
+ return $this->file_size;
+ }
+
+ /**
+ * Returns the unboxed value from getFileSize()
+
+ * File size of the image asset in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 2;
+ * @return int|string|null
+ */
+ public function getFileSizeUnwrapped()
+ {
+ $wrapper = $this->getFileSize();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * File size of the image asset in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFileSize($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->file_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * File size of the image asset in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFileSizeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFileSize($wrappedVar);
+ }
+
+ /**
+ * MIME type of the image asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 3;
+ * @return int
+ */
+ public function getMimeType()
+ {
+ return $this->mime_type;
+ }
+
+ /**
+ * MIME type of the image asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setMimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MimeTypeEnum_MimeType::class);
+ $this->mime_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Metadata for this image at its original size.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageDimension full_size = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\ImageDimension
+ */
+ public function getFullSize()
+ {
+ return $this->full_size;
+ }
+
+ /**
+ * Metadata for this image at its original size.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageDimension full_size = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\ImageDimension $var
+ * @return $this
+ */
+ public function setFullSize($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ImageDimension::class);
+ $this->full_size = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ImageDimension.php b/src/Google/Ads/GoogleAds/V2/Common/ImageDimension.php
new file mode 100644
index 000000000..2f844d3f3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ImageDimension.php
@@ -0,0 +1,222 @@
+google.ads.googleads.v2.common.ImageDimension
+ */
+final class ImageDimension extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Height of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value height_pixels = 1;
+ */
+ private $height_pixels = null;
+ /**
+ * Width of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value width_pixels = 2;
+ */
+ private $width_pixels = null;
+ /**
+ * A URL that returns the image with this height and width.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 3;
+ */
+ private $url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $height_pixels
+ * Height of the image.
+ * @type \Google\Protobuf\Int64Value $width_pixels
+ * Width of the image.
+ * @type \Google\Protobuf\StringValue $url
+ * A URL that returns the image with this height and width.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AssetTypes::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Height of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value height_pixels = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getHeightPixels()
+ {
+ return $this->height_pixels;
+ }
+
+ /**
+ * Returns the unboxed value from getHeightPixels()
+
+ * Height of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value height_pixels = 1;
+ * @return int|string|null
+ */
+ public function getHeightPixelsUnwrapped()
+ {
+ $wrapper = $this->getHeightPixels();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Height of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value height_pixels = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setHeightPixels($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->height_pixels = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Height of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value height_pixels = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setHeightPixelsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setHeightPixels($wrappedVar);
+ }
+
+ /**
+ * Width of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value width_pixels = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getWidthPixels()
+ {
+ return $this->width_pixels;
+ }
+
+ /**
+ * Returns the unboxed value from getWidthPixels()
+
+ * Width of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value width_pixels = 2;
+ * @return int|string|null
+ */
+ public function getWidthPixelsUnwrapped()
+ {
+ $wrapper = $this->getWidthPixels();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Width of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value width_pixels = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setWidthPixels($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->width_pixels = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Width of the image.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value width_pixels = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setWidthPixelsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setWidthPixels($wrappedVar);
+ }
+
+ /**
+ * A URL that returns the image with this height and width.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrl()
+ {
+ return $this->url;
+ }
+
+ /**
+ * Returns the unboxed value from getUrl()
+
+ * A URL that returns the image with this height and width.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 3;
+ * @return string|null
+ */
+ public function getUrlUnwrapped()
+ {
+ $wrapper = $this->getUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A URL that returns the image with this height and width.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A URL that returns the image with this height and width.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/IncomeRangeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/IncomeRangeInfo.php
new file mode 100644
index 000000000..14334f8dc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/IncomeRangeInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.IncomeRangeInfo
+ */
+final class IncomeRangeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the income range.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\IncomeRangeTypeEnum_IncomeRangeType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/InteractionTypeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/InteractionTypeInfo.php
new file mode 100644
index 000000000..a2390043f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/InteractionTypeInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.InteractionTypeInfo
+ */
+final class InteractionTypeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The interaction type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * The interaction type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The interaction type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The interaction type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\InteractionTypeEnum_InteractionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/IpBlockInfo.php b/src/Google/Ads/GoogleAds/V2/Common/IpBlockInfo.php
new file mode 100644
index 000000000..44938ebf0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/IpBlockInfo.php
@@ -0,0 +1,100 @@
+google.ads.googleads.v2.common.IpBlockInfo
+ */
+final class IpBlockInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The IP address of this IP block.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ip_address = 1;
+ */
+ private $ip_address = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $ip_address
+ * The IP address of this IP block.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The IP address of this IP block.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ip_address = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getIpAddress()
+ {
+ return $this->ip_address;
+ }
+
+ /**
+ * Returns the unboxed value from getIpAddress()
+
+ * The IP address of this IP block.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ip_address = 1;
+ * @return string|null
+ */
+ public function getIpAddressUnwrapped()
+ {
+ $wrapper = $this->getIpAddress();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The IP address of this IP block.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ip_address = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setIpAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ip_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The IP address of this IP block.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ip_address = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setIpAddressUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setIpAddress($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Keyword.php b/src/Google/Ads/GoogleAds/V2/Common/Keyword.php
new file mode 100644
index 000000000..0a1a8844c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Keyword.php
@@ -0,0 +1,130 @@
+google.ads.googleads.v2.common.Keyword
+ */
+final class Keyword extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The AdGroupCriterion resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 1;
+ */
+ private $ad_group_criterion = null;
+ /**
+ * Keyword info.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo info = 2;
+ */
+ private $info = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $ad_group_criterion
+ * The AdGroupCriterion resource name.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $info
+ * Keyword info.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Segments::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The AdGroupCriterion resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupCriterion()
+ {
+ return $this->ad_group_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupCriterion()
+
+ * The AdGroupCriterion resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 1;
+ * @return string|null
+ */
+ public function getAdGroupCriterionUnwrapped()
+ {
+ $wrapper = $this->getAdGroupCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The AdGroupCriterion resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The AdGroupCriterion resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupCriterion($wrappedVar);
+ }
+
+ /**
+ * Keyword info.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo info = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getInfo()
+ {
+ return $this->info;
+ }
+
+ /**
+ * Keyword info.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo info = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setInfo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->info = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/KeywordInfo.php b/src/Google/Ads/GoogleAds/V2/Common/KeywordInfo.php
new file mode 100644
index 000000000..fc13ef45a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/KeywordInfo.php
@@ -0,0 +1,130 @@
+google.ads.googleads.v2.common.KeywordInfo
+ */
+final class KeywordInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The text of the keyword (at most 80 characters and 10 words).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ */
+ private $text = null;
+ /**
+ * The match type of the keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+ */
+ private $match_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $text
+ * The text of the keyword (at most 80 characters and 10 words).
+ * @type int $match_type
+ * The match type of the keyword.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The text of the keyword (at most 80 characters and 10 words).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * The text of the keyword (at most 80 characters and 10 words).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The text of the keyword (at most 80 characters and 10 words).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The text of the keyword (at most 80 characters and 10 words).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * The match type of the keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+ * @return int
+ */
+ public function getMatchType()
+ {
+ return $this->match_type;
+ }
+
+ /**
+ * The match type of the keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setMatchType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum_KeywordMatchType::class);
+ $this->match_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/KeywordPlanHistoricalMetrics.php b/src/Google/Ads/GoogleAds/V2/Common/KeywordPlanHistoricalMetrics.php
new file mode 100644
index 000000000..df0834e4e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/KeywordPlanHistoricalMetrics.php
@@ -0,0 +1,130 @@
+google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics
+ */
+final class KeywordPlanHistoricalMetrics extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Average monthly searches for the past 12 months.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value avg_monthly_searches = 1;
+ */
+ private $avg_monthly_searches = null;
+ /**
+ * The competition level for the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2;
+ */
+ private $competition = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $avg_monthly_searches
+ * Average monthly searches for the past 12 months.
+ * @type int $competition
+ * The competition level for the query.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\KeywordPlanCommon::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Average monthly searches for the past 12 months.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value avg_monthly_searches = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAvgMonthlySearches()
+ {
+ return $this->avg_monthly_searches;
+ }
+
+ /**
+ * Returns the unboxed value from getAvgMonthlySearches()
+
+ * Average monthly searches for the past 12 months.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value avg_monthly_searches = 1;
+ * @return int|string|null
+ */
+ public function getAvgMonthlySearchesUnwrapped()
+ {
+ $wrapper = $this->getAvgMonthlySearches();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average monthly searches for the past 12 months.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value avg_monthly_searches = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAvgMonthlySearches($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->avg_monthly_searches = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Average monthly searches for the past 12 months.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value avg_monthly_searches = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAvgMonthlySearchesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAvgMonthlySearches($wrappedVar);
+ }
+
+ /**
+ * The competition level for the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2;
+ * @return int
+ */
+ public function getCompetition()
+ {
+ return $this->competition;
+ }
+
+ /**
+ * The competition level for the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setCompetition($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel::class);
+ $this->competition = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LanguageInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LanguageInfo.php
new file mode 100644
index 000000000..bdcd6cd22
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LanguageInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.LanguageInfo
+ */
+final class LanguageInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The language constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_constant = 1;
+ */
+ private $language_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $language_constant
+ * The language constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The language constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageConstant()
+ {
+ return $this->language_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageConstant()
+
+ * The language constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_constant = 1;
+ * @return string|null
+ */
+ public function getLanguageConstantUnwrapped()
+ {
+ $wrapper = $this->getLanguageConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LegacyAppInstallAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LegacyAppInstallAdInfo.php
new file mode 100644
index 000000000..2fccb8a4a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LegacyAppInstallAdInfo.php
@@ -0,0 +1,319 @@
+google.ads.googleads.v2.common.LegacyAppInstallAdInfo
+ */
+final class LegacyAppInstallAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The id of the mobile app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ */
+ private $app_id = null;
+ /**
+ * The app store the mobile app is available in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2;
+ */
+ private $app_store = 0;
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ */
+ private $headline = null;
+ /**
+ * The first description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ */
+ private $description1 = null;
+ /**
+ * The second description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ */
+ private $description2 = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $app_id
+ * The id of the mobile app.
+ * @type int $app_store
+ * The app store the mobile app is available in.
+ * @type \Google\Protobuf\StringValue $headline
+ * The headline of the ad.
+ * @type \Google\Protobuf\StringValue $description1
+ * The first description line of the ad.
+ * @type \Google\Protobuf\StringValue $description2
+ * The second description line of the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The id of the mobile app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAppId()
+ {
+ return $this->app_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAppId()
+
+ * The id of the mobile app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @return string|null
+ */
+ public function getAppIdUnwrapped()
+ {
+ $wrapper = $this->getAppId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The id of the mobile app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAppId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->app_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The id of the mobile app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAppIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAppId($wrappedVar);
+ }
+
+ /**
+ * The app store the mobile app is available in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2;
+ * @return int
+ */
+ public function getAppStore()
+ {
+ return $this->app_store;
+ }
+
+ /**
+ * The app store the mobile app is available in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setAppStore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore::class);
+ $this->app_store = $var;
+
+ return $this;
+ }
+
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline()
+ {
+ return $this->headline;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline()
+
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @return string|null
+ */
+ public function getHeadlineUnwrapped()
+ {
+ $wrapper = $this->getHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline($wrappedVar);
+ }
+
+ /**
+ * The first description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription1()
+ {
+ return $this->description1;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription1()
+
+ * The first description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @return string|null
+ */
+ public function getDescription1Unwrapped()
+ {
+ $wrapper = $this->getDescription1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The first description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The first description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription1($wrappedVar);
+ }
+
+ /**
+ * The second description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription2()
+ {
+ return $this->description2;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription2()
+
+ * The second description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @return string|null
+ */
+ public function getDescription2Unwrapped()
+ {
+ $wrapper = $this->getDescription2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The second description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The second description line of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription2($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LegacyResponsiveDisplayAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LegacyResponsiveDisplayAdInfo.php
new file mode 100644
index 000000000..6106180ea
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LegacyResponsiveDisplayAdInfo.php
@@ -0,0 +1,1004 @@
+google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo
+ */
+final class LegacyResponsiveDisplayAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The short version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue short_headline = 1;
+ */
+ private $short_headline = null;
+ /**
+ * The long version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_headline = 2;
+ */
+ private $long_headline = null;
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ */
+ private $description = null;
+ /**
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 4;
+ */
+ private $business_name = null;
+ /**
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 5;
+ */
+ private $allow_flexible_color = null;
+ /**
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 6;
+ */
+ private $accent_color = null;
+ /**
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 7;
+ */
+ private $main_color = null;
+ /**
+ * The call-to-action text for the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 8;
+ */
+ private $call_to_action_text = null;
+ /**
+ * The MediaFile resource name of the logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 9;
+ */
+ private $logo_image = null;
+ /**
+ * The MediaFile resource name of the square logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_logo_image = 10;
+ */
+ private $square_logo_image = null;
+ /**
+ * The MediaFile resource name of the marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 11;
+ */
+ private $marketing_image = null;
+ /**
+ * The MediaFile resource name of the square marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_marketing_image = 12;
+ */
+ private $square_marketing_image = null;
+ /**
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13;
+ */
+ private $format_setting = 0;
+ /**
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ */
+ private $price_prefix = null;
+ /**
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ */
+ private $promo_text = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $short_headline
+ * The short version of the ad's headline.
+ * @type \Google\Protobuf\StringValue $long_headline
+ * The long version of the ad's headline.
+ * @type \Google\Protobuf\StringValue $description
+ * The description of the ad.
+ * @type \Google\Protobuf\StringValue $business_name
+ * The business name in the ad.
+ * @type \Google\Protobuf\BoolValue $allow_flexible_color
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ * @type \Google\Protobuf\StringValue $accent_color
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ * @type \Google\Protobuf\StringValue $main_color
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ * @type \Google\Protobuf\StringValue $call_to_action_text
+ * The call-to-action text for the ad.
+ * @type \Google\Protobuf\StringValue $logo_image
+ * The MediaFile resource name of the logo image used in the ad.
+ * @type \Google\Protobuf\StringValue $square_logo_image
+ * The MediaFile resource name of the square logo image used in the ad.
+ * @type \Google\Protobuf\StringValue $marketing_image
+ * The MediaFile resource name of the marketing image used in the ad.
+ * @type \Google\Protobuf\StringValue $square_marketing_image
+ * The MediaFile resource name of the square marketing image used in the ad.
+ * @type int $format_setting
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ * @type \Google\Protobuf\StringValue $price_prefix
+ * Prefix before price. E.g. 'as low as'.
+ * @type \Google\Protobuf\StringValue $promo_text
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The short version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue short_headline = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getShortHeadline()
+ {
+ return $this->short_headline;
+ }
+
+ /**
+ * Returns the unboxed value from getShortHeadline()
+
+ * The short version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue short_headline = 1;
+ * @return string|null
+ */
+ public function getShortHeadlineUnwrapped()
+ {
+ $wrapper = $this->getShortHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The short version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue short_headline = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setShortHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->short_headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The short version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue short_headline = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setShortHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setShortHeadline($wrappedVar);
+ }
+
+ /**
+ * The long version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_headline = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLongHeadline()
+ {
+ return $this->long_headline;
+ }
+
+ /**
+ * Returns the unboxed value from getLongHeadline()
+
+ * The long version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_headline = 2;
+ * @return string|null
+ */
+ public function getLongHeadlineUnwrapped()
+ {
+ $wrapper = $this->getLongHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The long version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_headline = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLongHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->long_headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The long version of the ad's headline.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_headline = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLongHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLongHeadline($wrappedVar);
+ }
+
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The description of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 4;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The business name in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 5;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getAllowFlexibleColor()
+ {
+ return $this->allow_flexible_color;
+ }
+
+ /**
+ * Returns the unboxed value from getAllowFlexibleColor()
+
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 5;
+ * @return bool|null
+ */
+ public function getAllowFlexibleColorUnwrapped()
+ {
+ $wrapper = $this->getAllowFlexibleColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 5;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setAllowFlexibleColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->allow_flexible_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 5;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setAllowFlexibleColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setAllowFlexibleColor($wrappedVar);
+ }
+
+ /**
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAccentColor()
+ {
+ return $this->accent_color;
+ }
+
+ /**
+ * Returns the unboxed value from getAccentColor()
+
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 6;
+ * @return string|null
+ */
+ public function getAccentColorUnwrapped()
+ {
+ $wrapper = $this->getAccentColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAccentColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->accent_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAccentColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAccentColor($wrappedVar);
+ }
+
+ /**
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMainColor()
+ {
+ return $this->main_color;
+ }
+
+ /**
+ * Returns the unboxed value from getMainColor()
+
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 7;
+ * @return string|null
+ */
+ public function getMainColorUnwrapped()
+ {
+ $wrapper = $this->getMainColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMainColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->main_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMainColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMainColor($wrappedVar);
+ }
+
+ /**
+ * The call-to-action text for the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallToActionText()
+ {
+ return $this->call_to_action_text;
+ }
+
+ /**
+ * Returns the unboxed value from getCallToActionText()
+
+ * The call-to-action text for the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 8;
+ * @return string|null
+ */
+ public function getCallToActionTextUnwrapped()
+ {
+ $wrapper = $this->getCallToActionText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The call-to-action text for the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallToActionText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->call_to_action_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The call-to-action text for the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallToActionTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallToActionText($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLogoImage()
+ {
+ return $this->logo_image;
+ }
+
+ /**
+ * Returns the unboxed value from getLogoImage()
+
+ * The MediaFile resource name of the logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 9;
+ * @return string|null
+ */
+ public function getLogoImageUnwrapped()
+ {
+ $wrapper = $this->getLogoImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLogoImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->logo_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue logo_image = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLogoImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLogoImage($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the square logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_logo_image = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSquareLogoImage()
+ {
+ return $this->square_logo_image;
+ }
+
+ /**
+ * Returns the unboxed value from getSquareLogoImage()
+
+ * The MediaFile resource name of the square logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_logo_image = 10;
+ * @return string|null
+ */
+ public function getSquareLogoImageUnwrapped()
+ {
+ $wrapper = $this->getSquareLogoImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the square logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_logo_image = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSquareLogoImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->square_logo_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the square logo image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_logo_image = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSquareLogoImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSquareLogoImage($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMarketingImage()
+ {
+ return $this->marketing_image;
+ }
+
+ /**
+ * Returns the unboxed value from getMarketingImage()
+
+ * The MediaFile resource name of the marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 11;
+ * @return string|null
+ */
+ public function getMarketingImageUnwrapped()
+ {
+ $wrapper = $this->getMarketingImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMarketingImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->marketing_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue marketing_image = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMarketingImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMarketingImage($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the square marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_marketing_image = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSquareMarketingImage()
+ {
+ return $this->square_marketing_image;
+ }
+
+ /**
+ * Returns the unboxed value from getSquareMarketingImage()
+
+ * The MediaFile resource name of the square marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_marketing_image = 12;
+ * @return string|null
+ */
+ public function getSquareMarketingImageUnwrapped()
+ {
+ $wrapper = $this->getSquareMarketingImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the square marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_marketing_image = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSquareMarketingImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->square_marketing_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the square marketing image used in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue square_marketing_image = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSquareMarketingImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSquareMarketingImage($wrappedVar);
+ }
+
+ /**
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13;
+ * @return int
+ */
+ public function getFormatSetting()
+ {
+ return $this->format_setting;
+ }
+
+ /**
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setFormatSetting($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DisplayAdFormatSettingEnum_DisplayAdFormatSetting::class);
+ $this->format_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPricePrefix()
+ {
+ return $this->price_prefix;
+ }
+
+ /**
+ * Returns the unboxed value from getPricePrefix()
+
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @return string|null
+ */
+ public function getPricePrefixUnwrapped()
+ {
+ $wrapper = $this->getPricePrefix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPricePrefix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->price_prefix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPricePrefixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPricePrefix($wrappedVar);
+ }
+
+ /**
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPromoText()
+ {
+ return $this->promo_text;
+ }
+
+ /**
+ * Returns the unboxed value from getPromoText()
+
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @return string|null
+ */
+ public function getPromoTextUnwrapped()
+ {
+ $wrapper = $this->getPromoText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPromoText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->promo_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPromoTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPromoText($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ListingBrandInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ListingBrandInfo.php
new file mode 100644
index 000000000..942b836fb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ListingBrandInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.ListingBrandInfo
+ */
+final class ListingBrandInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * String value of the listing brand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $value
+ * String value of the listing brand.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * String value of the listing brand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * String value of the listing brand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String value of the listing brand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String value of the listing brand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ListingCustomAttributeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ListingCustomAttributeInfo.php
new file mode 100644
index 000000000..dbc1d12db
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ListingCustomAttributeInfo.php
@@ -0,0 +1,130 @@
+google.ads.googleads.v2.common.ListingCustomAttributeInfo
+ */
+final class ListingCustomAttributeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * String value of the listing custom attribute.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ */
+ private $value = null;
+ /**
+ * Indicates the index of the custom attribute.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex index = 2;
+ */
+ private $index = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $value
+ * String value of the listing custom attribute.
+ * @type int $index
+ * Indicates the index of the custom attribute.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * String value of the listing custom attribute.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * String value of the listing custom attribute.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String value of the listing custom attribute.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String value of the listing custom attribute.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+ /**
+ * Indicates the index of the custom attribute.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex index = 2;
+ * @return int
+ */
+ public function getIndex()
+ {
+ return $this->index;
+ }
+
+ /**
+ * Indicates the index of the custom attribute.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex index = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setIndex($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex::class);
+ $this->index = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ListingDimensionInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ListingDimensionInfo.php
new file mode 100644
index 000000000..283fa52b1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ListingDimensionInfo.php
@@ -0,0 +1,434 @@
+google.ads.googleads.v2.common.ListingDimensionInfo
+ */
+final class ListingDimensionInfo extends \Google\Protobuf\Internal\Message
+{
+ protected $dimension;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\ListingBrandInfo $listing_brand
+ * Brand of the listing.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelIdInfo $hotel_id
+ * Advertiser-specific hotel ID.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelClassInfo $hotel_class
+ * Class of the hotel as a number of stars 1 to 5.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelCountryRegionInfo $hotel_country_region
+ * Country or Region the hotel is located in.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelStateInfo $hotel_state
+ * State the hotel is located in.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelCityInfo $hotel_city
+ * City the hotel is located in.
+ * @type \Google\Ads\GoogleAds\V2\Common\ListingCustomAttributeInfo $listing_custom_attribute
+ * Listing custom attribute.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductBiddingCategoryInfo $product_bidding_category
+ * Bidding category of a product offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductChannelInfo $product_channel
+ * Locality of a product offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductChannelExclusivityInfo $product_channel_exclusivity
+ * Availability of a product offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductConditionInfo $product_condition
+ * Condition of a product offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductItemIdInfo $product_item_id
+ * Item id of a product offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProductTypeInfo $product_type
+ * Type of a product offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\UnknownListingDimensionInfo $unknown_listing_dimension
+ * Unknown dimension. Set when no other listing dimension is set.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Brand of the listing.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingBrandInfo listing_brand = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\ListingBrandInfo
+ */
+ public function getListingBrand()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Brand of the listing.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingBrandInfo listing_brand = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\ListingBrandInfo $var
+ * @return $this
+ */
+ public function setListingBrand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ListingBrandInfo::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Advertiser-specific hotel ID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelIdInfo hotel_id = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelIdInfo
+ */
+ public function getHotelId()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Advertiser-specific hotel ID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelIdInfo hotel_id = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelIdInfo $var
+ * @return $this
+ */
+ public function setHotelId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelIdInfo::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Class of the hotel as a number of stars 1 to 5.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelClassInfo hotel_class = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelClassInfo
+ */
+ public function getHotelClass()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Class of the hotel as a number of stars 1 to 5.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelClassInfo hotel_class = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelClassInfo $var
+ * @return $this
+ */
+ public function setHotelClass($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelClassInfo::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Country or Region the hotel is located in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelCountryRegionInfo hotel_country_region = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelCountryRegionInfo
+ */
+ public function getHotelCountryRegion()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Country or Region the hotel is located in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelCountryRegionInfo hotel_country_region = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelCountryRegionInfo $var
+ * @return $this
+ */
+ public function setHotelCountryRegion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelCountryRegionInfo::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * State the hotel is located in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelStateInfo hotel_state = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelStateInfo
+ */
+ public function getHotelState()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * State the hotel is located in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelStateInfo hotel_state = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelStateInfo $var
+ * @return $this
+ */
+ public function setHotelState($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelStateInfo::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * City the hotel is located in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelCityInfo hotel_city = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelCityInfo
+ */
+ public function getHotelCity()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * City the hotel is located in.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelCityInfo hotel_city = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelCityInfo $var
+ * @return $this
+ */
+ public function setHotelCity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelCityInfo::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Listing custom attribute.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingCustomAttributeInfo listing_custom_attribute = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\ListingCustomAttributeInfo
+ */
+ public function getListingCustomAttribute()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Listing custom attribute.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingCustomAttributeInfo listing_custom_attribute = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\ListingCustomAttributeInfo $var
+ * @return $this
+ */
+ public function setListingCustomAttribute($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ListingCustomAttributeInfo::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Bidding category of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductBiddingCategoryInfo product_bidding_category = 13;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProductBiddingCategoryInfo
+ */
+ public function getProductBiddingCategory()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * Bidding category of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductBiddingCategoryInfo product_bidding_category = 13;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductBiddingCategoryInfo $var
+ * @return $this
+ */
+ public function setProductBiddingCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProductBiddingCategoryInfo::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * Locality of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductChannelInfo product_channel = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProductChannelInfo
+ */
+ public function getProductChannel()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Locality of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductChannelInfo product_channel = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductChannelInfo $var
+ * @return $this
+ */
+ public function setProductChannel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProductChannelInfo::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Availability of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductChannelExclusivityInfo product_channel_exclusivity = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProductChannelExclusivityInfo
+ */
+ public function getProductChannelExclusivity()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Availability of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductChannelExclusivityInfo product_channel_exclusivity = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductChannelExclusivityInfo $var
+ * @return $this
+ */
+ public function setProductChannelExclusivity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProductChannelExclusivityInfo::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * Condition of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductConditionInfo product_condition = 10;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProductConditionInfo
+ */
+ public function getProductCondition()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Condition of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductConditionInfo product_condition = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductConditionInfo $var
+ * @return $this
+ */
+ public function setProductCondition($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProductConditionInfo::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Item id of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductItemIdInfo product_item_id = 11;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProductItemIdInfo
+ */
+ public function getProductItemId()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * Item id of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductItemIdInfo product_item_id = 11;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductItemIdInfo $var
+ * @return $this
+ */
+ public function setProductItemId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProductItemIdInfo::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * Type of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductTypeInfo product_type = 12;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProductTypeInfo
+ */
+ public function getProductType()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * Type of a product offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProductTypeInfo product_type = 12;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProductTypeInfo $var
+ * @return $this
+ */
+ public function setProductType($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProductTypeInfo::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * Unknown dimension. Set when no other listing dimension is set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UnknownListingDimensionInfo unknown_listing_dimension = 14;
+ * @return \Google\Ads\GoogleAds\V2\Common\UnknownListingDimensionInfo
+ */
+ public function getUnknownListingDimension()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * Unknown dimension. Set when no other listing dimension is set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UnknownListingDimensionInfo unknown_listing_dimension = 14;
+ * @param \Google\Ads\GoogleAds\V2\Common\UnknownListingDimensionInfo $var
+ * @return $this
+ */
+ public function setUnknownListingDimension($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UnknownListingDimensionInfo::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getDimension()
+ {
+ return $this->whichOneof("dimension");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ListingGroupInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ListingGroupInfo.php
new file mode 100644
index 000000000..edd31f8d0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ListingGroupInfo.php
@@ -0,0 +1,174 @@
+google.ads.googleads.v2.common.ListingGroupInfo
+ */
+final class ListingGroupInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the listing group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType type = 1;
+ */
+ private $type = 0;
+ /**
+ * Dimension value with which this listing group is refining its parent.
+ * Undefined for the root group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingDimensionInfo case_value = 2;
+ */
+ private $case_value = null;
+ /**
+ * Resource name of ad group criterion which is the parent listing group
+ * subdivision. Null for the root group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parent_ad_group_criterion = 3;
+ */
+ private $parent_ad_group_criterion = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the listing group.
+ * @type \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo $case_value
+ * Dimension value with which this listing group is refining its parent.
+ * Undefined for the root group.
+ * @type \Google\Protobuf\StringValue $parent_ad_group_criterion
+ * Resource name of ad group criterion which is the parent listing group
+ * subdivision. Null for the root group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the listing group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the listing group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ListingGroupTypeEnum_ListingGroupType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Dimension value with which this listing group is refining its parent.
+ * Undefined for the root group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingDimensionInfo case_value = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo
+ */
+ public function getCaseValue()
+ {
+ return $this->case_value;
+ }
+
+ /**
+ * Dimension value with which this listing group is refining its parent.
+ * Undefined for the root group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingDimensionInfo case_value = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo $var
+ * @return $this
+ */
+ public function setCaseValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo::class);
+ $this->case_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Resource name of ad group criterion which is the parent listing group
+ * subdivision. Null for the root group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parent_ad_group_criterion = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getParentAdGroupCriterion()
+ {
+ return $this->parent_ad_group_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getParentAdGroupCriterion()
+
+ * Resource name of ad group criterion which is the parent listing group
+ * subdivision. Null for the root group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parent_ad_group_criterion = 3;
+ * @return string|null
+ */
+ public function getParentAdGroupCriterionUnwrapped()
+ {
+ $wrapper = $this->getParentAdGroupCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of ad group criterion which is the parent listing group
+ * subdivision. Null for the root group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parent_ad_group_criterion = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setParentAdGroupCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->parent_ad_group_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of ad group criterion which is the parent listing group
+ * subdivision. Null for the root group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parent_ad_group_criterion = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setParentAdGroupCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setParentAdGroupCriterion($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ListingScopeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ListingScopeInfo.php
new file mode 100644
index 000000000..0b8400ebf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ListingScopeInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.ListingScopeInfo
+ */
+final class ListingScopeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Scope of the campaign criterion.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ListingDimensionInfo dimensions = 2;
+ */
+ private $dimensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo[]|\Google\Protobuf\Internal\RepeatedField $dimensions
+ * Scope of the campaign criterion.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Scope of the campaign criterion.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ListingDimensionInfo dimensions = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDimensions()
+ {
+ return $this->dimensions;
+ }
+
+ /**
+ * Scope of the campaign criterion.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.ListingDimensionInfo dimensions = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDimensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\ListingDimensionInfo::class);
+ $this->dimensions = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LocationFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/LocationFeedItem.php
new file mode 100644
index 000000000..399196b33
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LocationFeedItem.php
@@ -0,0 +1,537 @@
+google.ads.googleads.v2.common.LocationFeedItem
+ */
+final class LocationFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ */
+ private $business_name = null;
+ /**
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ */
+ private $address_line_1 = null;
+ /**
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ */
+ private $address_line_2 = null;
+ /**
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ */
+ private $city = null;
+ /**
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ */
+ private $province = null;
+ /**
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ */
+ private $postal_code = null;
+ /**
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ */
+ private $country_code = null;
+ /**
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ */
+ private $phone_number = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $business_name
+ * The name of the business.
+ * @type \Google\Protobuf\StringValue $address_line_1
+ * Line 1 of the business address.
+ * @type \Google\Protobuf\StringValue $address_line_2
+ * Line 2 of the business address.
+ * @type \Google\Protobuf\StringValue $city
+ * City of the business address.
+ * @type \Google\Protobuf\StringValue $province
+ * Province of the business address.
+ * @type \Google\Protobuf\StringValue $postal_code
+ * Postal code of the business address.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Country code of the business address.
+ * @type \Google\Protobuf\StringValue $phone_number
+ * Phone number of the business.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAddressLine1()
+ {
+ return $this->address_line_1;
+ }
+
+ /**
+ * Returns the unboxed value from getAddressLine1()
+
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @return string|null
+ */
+ public function getAddressLine1Unwrapped()
+ {
+ $wrapper = $this->getAddressLine1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAddressLine1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->address_line_1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Line 1 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_1 = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAddressLine1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAddressLine1($wrappedVar);
+ }
+
+ /**
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAddressLine2()
+ {
+ return $this->address_line_2;
+ }
+
+ /**
+ * Returns the unboxed value from getAddressLine2()
+
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @return string|null
+ */
+ public function getAddressLine2Unwrapped()
+ {
+ $wrapper = $this->getAddressLine2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAddressLine2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->address_line_2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Line 2 of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue address_line_2 = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAddressLine2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAddressLine2($wrappedVar);
+ }
+
+ /**
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCity()
+ {
+ return $this->city;
+ }
+
+ /**
+ * Returns the unboxed value from getCity()
+
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @return string|null
+ */
+ public function getCityUnwrapped()
+ {
+ $wrapper = $this->getCity();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->city = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * City of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue city = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCity($wrappedVar);
+ }
+
+ /**
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProvince()
+ {
+ return $this->province;
+ }
+
+ /**
+ * Returns the unboxed value from getProvince()
+
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @return string|null
+ */
+ public function getProvinceUnwrapped()
+ {
+ $wrapper = $this->getProvince();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProvince($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->province = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Province of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue province = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProvinceUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProvince($wrappedVar);
+ }
+
+ /**
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPostalCode()
+ {
+ return $this->postal_code;
+ }
+
+ /**
+ * Returns the unboxed value from getPostalCode()
+
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @return string|null
+ */
+ public function getPostalCodeUnwrapped()
+ {
+ $wrapper = $this->getPostalCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPostalCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->postal_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Postal code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue postal_code = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPostalCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPostalCode($wrappedVar);
+ }
+
+ /**
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Country code of the business address.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPhoneNumber()
+ {
+ return $this->phone_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneNumber()
+
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @return string|null
+ */
+ public function getPhoneNumberUnwrapped()
+ {
+ $wrapper = $this->getPhoneNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPhoneNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->phone_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Phone number of the business.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPhoneNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPhoneNumber($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LocationGroupInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LocationGroupInfo.php
new file mode 100644
index 000000000..ce655fd32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LocationGroupInfo.php
@@ -0,0 +1,247 @@
+google.ads.googleads.v2.common.LocationGroupInfo
+ */
+final class LocationGroupInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Feed specifying locations for targeting.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 1;
+ */
+ private $feed = null;
+ /**
+ * Geo target constant(s) restricting the scope of the geographic area within
+ * the feed. Currently only one geo target constant is allowed.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 2;
+ */
+ private $geo_target_constants;
+ /**
+ * Distance in units specifying the radius around targeted locations.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value radius = 3;
+ */
+ private $radius = null;
+ /**
+ * Unit of the radius, miles and meters supported currently.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4;
+ */
+ private $radius_units = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $feed
+ * Feed specifying locations for targeting.
+ * This is required and must be set in CREATE operations.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $geo_target_constants
+ * Geo target constant(s) restricting the scope of the geographic area within
+ * the feed. Currently only one geo target constant is allowed.
+ * @type \Google\Protobuf\Int64Value $radius
+ * Distance in units specifying the radius around targeted locations.
+ * This is required and must be set in CREATE operations.
+ * @type int $radius_units
+ * Unit of the radius, miles and meters supported currently.
+ * This is required and must be set in CREATE operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Feed specifying locations for targeting.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * Feed specifying locations for targeting.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 1;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Feed specifying locations for targeting.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Feed specifying locations for targeting.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * Geo target constant(s) restricting the scope of the geographic area within
+ * the feed. Currently only one geo target constant is allowed.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeoTargetConstants()
+ {
+ return $this->geo_target_constants;
+ }
+
+ /**
+ * Geo target constant(s) restricting the scope of the geographic area within
+ * the feed. Currently only one geo target constant is allowed.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 2;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeoTargetConstants($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->geo_target_constants = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Distance in units specifying the radius around targeted locations.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value radius = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRadius()
+ {
+ return $this->radius;
+ }
+
+ /**
+ * Returns the unboxed value from getRadius()
+
+ * Distance in units specifying the radius around targeted locations.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value radius = 3;
+ * @return int|string|null
+ */
+ public function getRadiusUnwrapped()
+ {
+ $wrapper = $this->getRadius();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Distance in units specifying the radius around targeted locations.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value radius = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRadius($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->radius = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Distance in units specifying the radius around targeted locations.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value radius = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRadiusUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRadius($wrappedVar);
+ }
+
+ /**
+ * Unit of the radius, miles and meters supported currently.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4;
+ * @return int
+ */
+ public function getRadiusUnits()
+ {
+ return $this->radius_units;
+ }
+
+ /**
+ * Unit of the radius, miles and meters supported currently.
+ * This is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setRadiusUnits($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits::class);
+ $this->radius_units = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LocationInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LocationInfo.php
new file mode 100644
index 000000000..504872996
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LocationInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.LocationInfo
+ */
+final class LocationInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ */
+ private $geo_target_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $geo_target_constant
+ * The geo target constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetConstant()
+ {
+ return $this->geo_target_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetConstant()
+
+ * The geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @return string|null
+ */
+ public function getGeoTargetConstantUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LogicalUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LogicalUserListInfo.php
new file mode 100644
index 000000000..6df165b78
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LogicalUserListInfo.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.common.LogicalUserListInfo
+ */
+final class LogicalUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Logical list rules that define this user list. The rules are defined as a
+ * logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are
+ * ANDed when they are evaluated.
+ * Required for creating a logical user list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListLogicalRuleInfo rules = 1;
+ */
+ private $rules;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListLogicalRuleInfo[]|\Google\Protobuf\Internal\RepeatedField $rules
+ * Logical list rules that define this user list. The rules are defined as a
+ * logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are
+ * ANDed when they are evaluated.
+ * Required for creating a logical user list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Logical list rules that define this user list. The rules are defined as a
+ * logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are
+ * ANDed when they are evaluated.
+ * Required for creating a logical user list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListLogicalRuleInfo rules = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRules()
+ {
+ return $this->rules;
+ }
+
+ /**
+ * Logical list rules that define this user list. The rules are defined as a
+ * logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are
+ * ANDed when they are evaluated.
+ * Required for creating a logical user list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListLogicalRuleInfo rules = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListLogicalRuleInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRules($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\UserListLogicalRuleInfo::class);
+ $this->rules = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/LogicalUserListOperandInfo.php b/src/Google/Ads/GoogleAds/V2/Common/LogicalUserListOperandInfo.php
new file mode 100644
index 000000000..44f62d084
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/LogicalUserListOperandInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.LogicalUserListOperandInfo
+ */
+final class LogicalUserListOperandInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of a user list as an operand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ */
+ private $user_list = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $user_list
+ * Resource name of a user list as an operand.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of a user list as an operand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUserList()
+ {
+ return $this->user_list;
+ }
+
+ /**
+ * Returns the unboxed value from getUserList()
+
+ * Resource name of a user list as an operand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @return string|null
+ */
+ public function getUserListUnwrapped()
+ {
+ $wrapper = $this->getUserList();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of a user list as an operand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->user_list = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of a user list as an operand.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUserListUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUserList($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ManualCpc.php b/src/Google/Ads/GoogleAds/V2/Common/ManualCpc.php
new file mode 100644
index 000000000..a07a4ce2d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ManualCpc.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.ManualCpc
+ */
+final class ManualCpc extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Whether bids are to be enhanced based on conversion optimizer data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 1;
+ */
+ private $enhanced_cpc_enabled = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BoolValue $enhanced_cpc_enabled
+ * Whether bids are to be enhanced based on conversion optimizer data.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Whether bids are to be enhanced based on conversion optimizer data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 1;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getEnhancedCpcEnabled()
+ {
+ return $this->enhanced_cpc_enabled;
+ }
+
+ /**
+ * Returns the unboxed value from getEnhancedCpcEnabled()
+
+ * Whether bids are to be enhanced based on conversion optimizer data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 1;
+ * @return bool|null
+ */
+ public function getEnhancedCpcEnabledUnwrapped()
+ {
+ $wrapper = $this->getEnhancedCpcEnabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether bids are to be enhanced based on conversion optimizer data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 1;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setEnhancedCpcEnabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->enhanced_cpc_enabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether bids are to be enhanced based on conversion optimizer data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 1;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setEnhancedCpcEnabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setEnhancedCpcEnabled($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ManualCpm.php b/src/Google/Ads/GoogleAds/V2/Common/ManualCpm.php
new file mode 100644
index 000000000..3b66a9f39
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ManualCpm.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.common.ManualCpm
+ */
+final class ManualCpm extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ManualCpv.php b/src/Google/Ads/GoogleAds/V2/Common/ManualCpv.php
new file mode 100644
index 000000000..00037bbb9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ManualCpv.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.common.ManualCpv
+ */
+final class ManualCpv extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php b/src/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php
new file mode 100644
index 000000000..3db21d606
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MatchingFunction.php
@@ -0,0 +1,276 @@
+google.ads.googleads.v2.common.MatchingFunction
+ */
+final class MatchingFunction extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * String representation of the Function.
+ * Examples:
+ * 1. IDENTITY(true) or IDENTITY(false). All or no feed items served.
+ * 2. EQUALS(CONTEXT.DEVICE,"Mobile")
+ * 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ * 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ * 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ * For more details, visit
+ * https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ * Note that because multiple strings may represent the same underlying
+ * function (whitespace and single versus double quotation marks, for
+ * example), the value returned may not be identical to the string sent in a
+ * mutate request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue function_string = 1;
+ */
+ private $function_string = null;
+ /**
+ * Operator for a function.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4;
+ */
+ private $operator = 0;
+ /**
+ * The operands on the left hand side of the equation. This is also the
+ * operand to be used for single operand expressions such as NOT.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.Operand left_operands = 2;
+ */
+ private $left_operands;
+ /**
+ * The operands on the right hand side of the equation.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.Operand right_operands = 3;
+ */
+ private $right_operands;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $function_string
+ * String representation of the Function.
+ * Examples:
+ * 1. IDENTITY(true) or IDENTITY(false). All or no feed items served.
+ * 2. EQUALS(CONTEXT.DEVICE,"Mobile")
+ * 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ * 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ * 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ * For more details, visit
+ * https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ * Note that because multiple strings may represent the same underlying
+ * function (whitespace and single versus double quotation marks, for
+ * example), the value returned may not be identical to the string sent in a
+ * mutate request.
+ * @type int $operator
+ * Operator for a function.
+ * @type \Google\Ads\GoogleAds\V2\Common\Operand[]|\Google\Protobuf\Internal\RepeatedField $left_operands
+ * The operands on the left hand side of the equation. This is also the
+ * operand to be used for single operand expressions such as NOT.
+ * @type \Google\Ads\GoogleAds\V2\Common\Operand[]|\Google\Protobuf\Internal\RepeatedField $right_operands
+ * The operands on the right hand side of the equation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\MatchingFunction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * String representation of the Function.
+ * Examples:
+ * 1. IDENTITY(true) or IDENTITY(false). All or no feed items served.
+ * 2. EQUALS(CONTEXT.DEVICE,"Mobile")
+ * 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ * 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ * 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ * For more details, visit
+ * https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ * Note that because multiple strings may represent the same underlying
+ * function (whitespace and single versus double quotation marks, for
+ * example), the value returned may not be identical to the string sent in a
+ * mutate request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue function_string = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFunctionString()
+ {
+ return $this->function_string;
+ }
+
+ /**
+ * Returns the unboxed value from getFunctionString()
+
+ * String representation of the Function.
+ * Examples:
+ * 1. IDENTITY(true) or IDENTITY(false). All or no feed items served.
+ * 2. EQUALS(CONTEXT.DEVICE,"Mobile")
+ * 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ * 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ * 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ * For more details, visit
+ * https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ * Note that because multiple strings may represent the same underlying
+ * function (whitespace and single versus double quotation marks, for
+ * example), the value returned may not be identical to the string sent in a
+ * mutate request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue function_string = 1;
+ * @return string|null
+ */
+ public function getFunctionStringUnwrapped()
+ {
+ $wrapper = $this->getFunctionString();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String representation of the Function.
+ * Examples:
+ * 1. IDENTITY(true) or IDENTITY(false). All or no feed items served.
+ * 2. EQUALS(CONTEXT.DEVICE,"Mobile")
+ * 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ * 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ * 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ * For more details, visit
+ * https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ * Note that because multiple strings may represent the same underlying
+ * function (whitespace and single versus double quotation marks, for
+ * example), the value returned may not be identical to the string sent in a
+ * mutate request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue function_string = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFunctionString($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->function_string = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String representation of the Function.
+ * Examples:
+ * 1. IDENTITY(true) or IDENTITY(false). All or no feed items served.
+ * 2. EQUALS(CONTEXT.DEVICE,"Mobile")
+ * 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ * 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ * 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ * For more details, visit
+ * https://developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ * Note that because multiple strings may represent the same underlying
+ * function (whitespace and single versus double quotation marks, for
+ * example), the value returned may not be identical to the string sent in a
+ * mutate request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue function_string = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFunctionStringUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFunctionString($wrappedVar);
+ }
+
+ /**
+ * Operator for a function.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Operator for a function.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MatchingFunctionOperatorEnum_MatchingFunctionOperator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operands on the left hand side of the equation. This is also the
+ * operand to be used for single operand expressions such as NOT.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.Operand left_operands = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLeftOperands()
+ {
+ return $this->left_operands;
+ }
+
+ /**
+ * The operands on the left hand side of the equation. This is also the
+ * operand to be used for single operand expressions such as NOT.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.Operand left_operands = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\Operand[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLeftOperands($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\Operand::class);
+ $this->left_operands = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The operands on the right hand side of the equation.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.Operand right_operands = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRightOperands()
+ {
+ return $this->right_operands;
+ }
+
+ /**
+ * The operands on the right hand side of the equation.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.Operand right_operands = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\Operand[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRightOperands($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\Operand::class);
+ $this->right_operands = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MaximizeConversionValue.php b/src/Google/Ads/GoogleAds/V2/Common/MaximizeConversionValue.php
new file mode 100644
index 000000000..a28f3c1f7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MaximizeConversionValue.php
@@ -0,0 +1,121 @@
+google.ads.googleads.v2.common.MaximizeConversionValue
+ */
+final class MaximizeConversionValue extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The target return on ad spend (ROAS) option. If set, the bid strategy will
+ * maximize revenue while averaging the target return on ad spend. If the
+ * target ROAS is high, the bid strategy may not be able to spend the full
+ * budget. If the target ROAS is not set, the bid strategy will aim to
+ * achieve the highest possible ROAS for the budget.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ */
+ private $target_roas = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $target_roas
+ * The target return on ad spend (ROAS) option. If set, the bid strategy will
+ * maximize revenue while averaging the target return on ad spend. If the
+ * target ROAS is high, the bid strategy may not be able to spend the full
+ * budget. If the target ROAS is not set, the bid strategy will aim to
+ * achieve the highest possible ROAS for the budget.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The target return on ad spend (ROAS) option. If set, the bid strategy will
+ * maximize revenue while averaging the target return on ad spend. If the
+ * target ROAS is high, the bid strategy may not be able to spend the full
+ * budget. If the target ROAS is not set, the bid strategy will aim to
+ * achieve the highest possible ROAS for the budget.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getTargetRoas()
+ {
+ return $this->target_roas;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetRoas()
+
+ * The target return on ad spend (ROAS) option. If set, the bid strategy will
+ * maximize revenue while averaging the target return on ad spend. If the
+ * target ROAS is high, the bid strategy may not be able to spend the full
+ * budget. If the target ROAS is not set, the bid strategy will aim to
+ * achieve the highest possible ROAS for the budget.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @return float|null
+ */
+ public function getTargetRoasUnwrapped()
+ {
+ $wrapper = $this->getTargetRoas();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The target return on ad spend (ROAS) option. If set, the bid strategy will
+ * maximize revenue while averaging the target return on ad spend. If the
+ * target ROAS is high, the bid strategy may not be able to spend the full
+ * budget. If the target ROAS is not set, the bid strategy will aim to
+ * achieve the highest possible ROAS for the budget.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setTargetRoas($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->target_roas = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The target return on ad spend (ROAS) option. If set, the bid strategy will
+ * maximize revenue while averaging the target return on ad spend. If the
+ * target ROAS is high, the bid strategy may not be able to spend the full
+ * budget. If the target ROAS is not set, the bid strategy will aim to
+ * achieve the highest possible ROAS for the budget.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setTargetRoasUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setTargetRoas($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MaximizeConversions.php b/src/Google/Ads/GoogleAds/V2/Common/MaximizeConversions.php
new file mode 100644
index 000000000..0f870256f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MaximizeConversions.php
@@ -0,0 +1,34 @@
+google.ads.googleads.v2.common.MaximizeConversions
+ */
+final class MaximizeConversions extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MediaBundleAsset.php b/src/Google/Ads/GoogleAds/V2/Common/MediaBundleAsset.php
new file mode 100644
index 000000000..81cccf14f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MediaBundleAsset.php
@@ -0,0 +1,114 @@
+google.ads.googleads.v2.common.MediaBundleAsset
+ */
+final class MediaBundleAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file
+ * depends on the ad field where it will be used. For more information on the
+ * format, see the documentation of the ad field where you plan on using the
+ * MediaBundleAsset. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ */
+ private $data = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BytesValue $data
+ * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file
+ * depends on the ad field where it will be used. For more information on the
+ * format, see the documentation of the ad field where you plan on using the
+ * MediaBundleAsset. This field is mutate only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AssetTypes::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file
+ * depends on the ad field where it will be used. For more information on the
+ * format, see the documentation of the ad field where you plan on using the
+ * MediaBundleAsset. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return \Google\Protobuf\BytesValue
+ */
+ public function getData()
+ {
+ return $this->data;
+ }
+
+ /**
+ * Returns the unboxed value from getData()
+
+ * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file
+ * depends on the ad field where it will be used. For more information on the
+ * format, see the documentation of the ad field where you plan on using the
+ * MediaBundleAsset. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return string|null
+ */
+ public function getDataUnwrapped()
+ {
+ $wrapper = $this->getData();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file
+ * depends on the ad field where it will be used. For more information on the
+ * format, see the documentation of the ad field where you plan on using the
+ * MediaBundleAsset. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param \Google\Protobuf\BytesValue $var
+ * @return $this
+ */
+ public function setData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BytesValue::class);
+ $this->data = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BytesValue object.
+
+ * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file
+ * depends on the ad field where it will be used. For more information on the
+ * format, see the documentation of the ad field where you plan on using the
+ * MediaBundleAsset. This field is mutate only.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDataUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BytesValue(['value' => $var]);
+ return $this->setData($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Metrics.php b/src/Google/Ads/GoogleAds/V2/Common/Metrics.php
new file mode 100644
index 000000000..7543dc2ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Metrics.php
@@ -0,0 +1,7825 @@
+google.ads.googleads.v2.common.Metrics
+ */
+final class Metrics extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The percent of your ad impressions that are shown as the very first ad
+ * above the organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue absolute_top_impression_percentage = 95;
+ */
+ private $absolute_top_impression_percentage = null;
+ /**
+ * Average cost of viewable impressions (`active_view_impressions`).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_cpm = 1;
+ */
+ private $active_view_cpm = null;
+ /**
+ * Active view measurable clicks divided by active view viewable impressions.
+ * This metric is reported only for display network.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_ctr = 79;
+ */
+ private $active_view_ctr = null;
+ /**
+ * A measurement of how often your ad has become viewable on a Display
+ * Network site.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_impressions = 2;
+ */
+ private $active_view_impressions = null;
+ /**
+ * The ratio of impressions that could be measured by Active View over the
+ * number of served impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_measurability = 96;
+ */
+ private $active_view_measurability = null;
+ /**
+ * The cost of the impressions you received that were measurable by Active
+ * View.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_cost_micros = 3;
+ */
+ private $active_view_measurable_cost_micros = null;
+ /**
+ * The number of times your ads are appearing on placements in positions
+ * where they can be seen.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_impressions = 4;
+ */
+ private $active_view_measurable_impressions = null;
+ /**
+ * The percentage of time when your ad appeared on an Active View enabled site
+ * (measurable impressions) and was viewable (viewable impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_viewability = 97;
+ */
+ private $active_view_viewability = null;
+ /**
+ * All conversions from interactions (as oppose to view through conversions)
+ * divided by the number of ad interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65;
+ */
+ private $all_conversions_from_interactions_rate = null;
+ /**
+ * The total value of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value = 66;
+ */
+ private $all_conversions_value = null;
+ /**
+ * The total number of conversions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions = 7;
+ */
+ private $all_conversions = null;
+ /**
+ * The value of all conversions divided by the total cost of ad interactions
+ * (such as clicks for text ads or views for video ads).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value_per_cost = 62;
+ */
+ private $all_conversions_value_per_cost = null;
+ /**
+ * The number of times people clicked the "Call" button to call a store during
+ * or after clicking an ad. This number doesn't include whether or not calls
+ * were connected, or the duration of any calls.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_click_to_call = 118;
+ */
+ private $all_conversions_from_click_to_call = null;
+ /**
+ * The number of times people clicked a "Get directions" button to navigate to
+ * a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_directions = 119;
+ */
+ private $all_conversions_from_directions = null;
+ /**
+ * The value of all conversions from interactions divided by the total number
+ * of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67;
+ */
+ private $all_conversions_from_interactions_value_per_interaction = null;
+ /**
+ * The number of times people clicked a link to view a store's menu after
+ * clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_menu = 120;
+ */
+ private $all_conversions_from_menu = null;
+ /**
+ * The number of times people placed an order at a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_order = 121;
+ */
+ private $all_conversions_from_order = null;
+ /**
+ * The number of other conversions (for example, posting a review or saving a
+ * location for a store) that occurred after people clicked an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_other_engagement = 122;
+ */
+ private $all_conversions_from_other_engagement = null;
+ /**
+ * Estimated number of times people visited a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_visit = 123;
+ */
+ private $all_conversions_from_store_visit = null;
+ /**
+ * The number of times that people were taken to a store's URL after clicking
+ * an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_website = 124;
+ */
+ private $all_conversions_from_store_website = null;
+ /**
+ * The average amount you pay per interaction. This amount is the total cost
+ * of your ads divided by the total number of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cost = 8;
+ */
+ private $average_cost = null;
+ /**
+ * The total cost of all clicks divided by the total number of clicks
+ * received.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpc = 9;
+ */
+ private $average_cpc = null;
+ /**
+ * The average amount that you've been charged for an ad engagement. This
+ * amount is the total cost of all ad engagements divided by the total number
+ * of ad engagements.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpe = 98;
+ */
+ private $average_cpe = null;
+ /**
+ * Average cost-per-thousand impressions (CPM).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpm = 10;
+ */
+ private $average_cpm = null;
+ /**
+ * The average amount you pay each time someone views your ad.
+ * The average CPV is defined by the total cost of all ad views divided by
+ * the number of views.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpv = 11;
+ */
+ private $average_cpv = null;
+ /**
+ * Average number of pages viewed per session.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_page_views = 99;
+ */
+ private $average_page_views = null;
+ /**
+ * Total duration of all sessions (in seconds) / number of sessions. Imported
+ * from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_time_on_site = 84;
+ */
+ private $average_time_on_site = null;
+ /**
+ * An indication of how other advertisers are bidding on similar products.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_average_max_cpc = 14;
+ */
+ private $benchmark_average_max_cpc = null;
+ /**
+ * An indication on how other advertisers' Shopping ads for similar products
+ * are performing based on how often people who see their ad click on it.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_ctr = 77;
+ */
+ private $benchmark_ctr = null;
+ /**
+ * Percentage of clicks where the user only visited a single page on your
+ * site. Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bounce_rate = 15;
+ */
+ private $bounce_rate = null;
+ /**
+ * The number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 19;
+ */
+ private $clicks = null;
+ /**
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_clicks = 115;
+ */
+ private $combined_clicks = null;
+ /**
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked (combined_clicks) divided by combined_queries. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue combined_clicks_per_query = 116;
+ */
+ private $combined_clicks_per_query = null;
+ /**
+ * The number of searches that returned pages from your site in the unpaid
+ * results or showed one of your text ads. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_queries = 117;
+ */
+ private $combined_queries = null;
+ /**
+ * The estimated percent of times that your ad was eligible to show
+ * on the Display Network but didn't because your budget was too low.
+ * Note: Content budget lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_budget_lost_impression_share = 20;
+ */
+ private $content_budget_lost_impression_share = null;
+ /**
+ * The impressions you've received on the Display Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Content impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_impression_share = 21;
+ */
+ private $content_impression_share = null;
+ /**
+ * The last date/time a conversion tag for this conversion action successfully
+ * fired and was seen by Google Ads. This firing event may not have been the
+ * result of an attributable conversion (e.g. because the tag was fired from a
+ * browser that did not previously click an ad from an appropriate
+ * advertiser). The date/time is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_received_request_date_time = 73;
+ */
+ private $conversion_last_received_request_date_time = null;
+ /**
+ * The date of the most recent conversion for this conversion action. The date
+ * is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_conversion_date = 74;
+ */
+ private $conversion_last_conversion_date = null;
+ /**
+ * The estimated percentage of impressions on the Display Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Content rank lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_rank_lost_impression_share = 22;
+ */
+ private $content_rank_lost_impression_share = null;
+ /**
+ * Conversions from interactions divided by the number of ad interactions
+ * (such as clicks for text ads or views for video ads). This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_rate = 69;
+ */
+ private $conversions_from_interactions_rate = null;
+ /**
+ * The total value of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value = 70;
+ */
+ private $conversions_value = null;
+ /**
+ * The value of conversions divided by the cost of ad interactions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value_per_cost = 71;
+ */
+ private $conversions_value_per_cost = null;
+ /**
+ * The value of conversions from interactions divided by the number of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72;
+ */
+ private $conversions_from_interactions_value_per_interaction = null;
+ /**
+ * The number of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 25;
+ */
+ private $conversions = null;
+ /**
+ * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ * (CPM) costs during this period.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 26;
+ */
+ private $cost_micros = null;
+ /**
+ * The cost of ad interactions divided by all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_all_conversions = 68;
+ */
+ private $cost_per_all_conversions = null;
+ /**
+ * The cost of ad interactions divided by conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_conversion = 28;
+ */
+ private $cost_per_conversion = null;
+ /**
+ * The cost of ad interactions divided by current model attributed
+ * conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106;
+ */
+ private $cost_per_current_model_attributed_conversion = null;
+ /**
+ * Conversions from when a customer clicks on a Google Ads ad on one device,
+ * then converts on a different device or browser.
+ * Cross-device conversions are already included in all_conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cross_device_conversions = 29;
+ */
+ private $cross_device_conversions = null;
+ /**
+ * The number of clicks your ad receives (Clicks) divided by the number
+ * of times your ad is shown (Impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 30;
+ */
+ private $ctr = null;
+ /**
+ * Shows how your historic conversions data would look under the attribution
+ * model you've currently selected. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions = 101;
+ */
+ private $current_model_attributed_conversions = null;
+ /**
+ * Current model attributed conversions from interactions divided by the
+ * number of ad interactions (such as clicks for text ads or views for video
+ * ads). This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102;
+ */
+ private $current_model_attributed_conversions_from_interactions_rate = null;
+ /**
+ * The value of current model attributed conversions from interactions divided
+ * by the number of ad interactions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103;
+ */
+ private $current_model_attributed_conversions_from_interactions_value_per_interaction = null;
+ /**
+ * The total value of current model attributed conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value = 104;
+ */
+ private $current_model_attributed_conversions_value = null;
+ /**
+ * The value of current model attributed conversions divided by the cost of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105;
+ */
+ private $current_model_attributed_conversions_value_per_cost = null;
+ /**
+ * How often people engage with your ad after it's shown to them. This is the
+ * number of ad expansions divided by the number of times your ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue engagement_rate = 31;
+ */
+ private $engagement_rate = null;
+ /**
+ * The number of engagements.
+ * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ * future, other ad types may support engagement metrics.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value engagements = 32;
+ */
+ private $engagements = null;
+ /**
+ * Average lead value of hotel.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue hotel_average_lead_value_micros = 75;
+ */
+ private $hotel_average_lead_value_micros = null;
+ /**
+ * The creative historical quality score.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80;
+ */
+ private $historical_creative_quality_score = 0;
+ /**
+ * The quality of historical landing page experience.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81;
+ */
+ private $historical_landing_page_quality_score = 0;
+ /**
+ * The historical quality score.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value historical_quality_score = 82;
+ */
+ private $historical_quality_score = null;
+ /**
+ * The historical search predicted click through rate (CTR).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83;
+ */
+ private $historical_search_predicted_ctr = 0;
+ /**
+ * The number of times the ad was forwarded to someone else as a message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_forwards = 85;
+ */
+ private $gmail_forwards = null;
+ /**
+ * The number of times someone has saved your Gmail ad to their inbox as a
+ * message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_saves = 86;
+ */
+ private $gmail_saves = null;
+ /**
+ * The number of clicks to the landing page on the expanded state of Gmail
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_secondary_clicks = 87;
+ */
+ private $gmail_secondary_clicks = null;
+ /**
+ * The number of times a store's location-based ad was shown.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions_from_store_reach = 125;
+ */
+ private $impressions_from_store_reach = null;
+ /**
+ * Count of how often your ad has appeared on a search results page or
+ * website on the Google Network.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 37;
+ */
+ private $impressions = null;
+ /**
+ * How often people interact with your ad after it is shown to them.
+ * This is the number of interactions divided by the number of times your ad
+ * is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue interaction_rate = 38;
+ */
+ private $interaction_rate = null;
+ /**
+ * The number of interactions.
+ * An interaction is the main user action associated with an ad format-clicks
+ * for text and shopping ads, views for video ads, and so on.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value interactions = 39;
+ */
+ private $interactions = null;
+ /**
+ * The types of payable and free interactions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100;
+ */
+ private $interaction_event_types;
+ /**
+ * The percentage of clicks filtered out of your total number of clicks
+ * (filtered + non-filtered clicks) during the reporting period.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue invalid_click_rate = 40;
+ */
+ private $invalid_click_rate = null;
+ /**
+ * Number of clicks Google considers illegitimate and doesn't charge you for.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value invalid_clicks = 41;
+ */
+ private $invalid_clicks = null;
+ /**
+ * Number of message chats initiated for Click To Message impressions that
+ * were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_chats = 126;
+ */
+ private $message_chats = null;
+ /**
+ * Number of Click To Message impressions that were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_impressions = 127;
+ */
+ private $message_impressions = null;
+ /**
+ * Number of message chats initiated (message_chats) divided by the number
+ * of message impressions (message_impressions).
+ * Rate at which a user initiates a message chat from an ad impression with
+ * a messaging option and message tracking enabled.
+ * Note that this rate can be more than 1.0 for a given message impression.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue message_chat_rate = 128;
+ */
+ private $message_chat_rate = null;
+ /**
+ * The percentage of mobile clicks that go to a mobile-friendly page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109;
+ */
+ private $mobile_friendly_clicks_percentage = null;
+ /**
+ * The number of times someone clicked your site's listing in the unpaid
+ * results for a particular query. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_clicks = 110;
+ */
+ private $organic_clicks = null;
+ /**
+ * The number of times someone clicked your site's listing in the unpaid
+ * results (organic_clicks) divided by the total number of searches that
+ * returned pages from your site (organic_queries). See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_clicks_per_query = 111;
+ */
+ private $organic_clicks_per_query = null;
+ /**
+ * The number of listings for your site in the unpaid search results. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_impressions = 112;
+ */
+ private $organic_impressions = null;
+ /**
+ * The number of times a page from your site was listed in the unpaid search
+ * results (organic_impressions) divided by the number of searches returning
+ * your site's listing in the unpaid results (organic_queries). See the help
+ * page at https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_impressions_per_query = 113;
+ */
+ private $organic_impressions_per_query = null;
+ /**
+ * The total number of searches that returned your site's listing in the
+ * unpaid results. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_queries = 114;
+ */
+ private $organic_queries = null;
+ /**
+ * Percentage of first-time sessions (from people who had never visited your
+ * site before). Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue percent_new_visitors = 42;
+ */
+ private $percent_new_visitors = null;
+ /**
+ * Number of offline phone calls.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_calls = 43;
+ */
+ private $phone_calls = null;
+ /**
+ * Number of offline phone impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_impressions = 44;
+ */
+ private $phone_impressions = null;
+ /**
+ * Number of phone calls received (phone_calls) divided by the number of
+ * times your phone number is shown (phone_impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue phone_through_rate = 45;
+ */
+ private $phone_through_rate = null;
+ /**
+ * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ * all advertisers on the websites that show your ads. Measures how your ads
+ * perform on Display Network sites compared to other ads on the same sites.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue relative_ctr = 46;
+ */
+ private $relative_ctr = null;
+ /**
+ * The percentage of the customer's Shopping or Search ad impressions that are
+ * shown in the most prominent Shopping position. See
+ * [this article](https://support.google.com/google-ads/answer/7501826)
+ * for details. Any value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_absolute_top_impression_share = 78;
+ */
+ private $search_absolute_top_impression_share = null;
+ /**
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost absolute top impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = 88;
+ */
+ private $search_budget_lost_absolute_top_impression_share = null;
+ /**
+ * The estimated percent of times that your ad was eligible to show on the
+ * Search Network but didn't because your budget was too low. Note: Search
+ * budget lost impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_impression_share = 47;
+ */
+ private $search_budget_lost_impression_share = null;
+ /**
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost top impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89;
+ */
+ private $search_budget_lost_top_impression_share = null;
+ /**
+ * The number of clicks you've received on the Search Network
+ * divided by the estimated number of clicks you were eligible to receive.
+ * Note: Search click share is reported in the range of 0.1 to 1. Any value
+ * below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_click_share = 48;
+ */
+ private $search_click_share = null;
+ /**
+ * The impressions you've received divided by the estimated number of
+ * impressions you were eligible to receive on the Search Network for search
+ * terms that matched your keywords exactly (or were close variants of your
+ * keyword), regardless of your keyword match types. Note: Search exact match
+ * impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ * is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_exact_match_impression_share = 49;
+ */
+ private $search_exact_match_impression_share = null;
+ /**
+ * The impressions you've received on the Search Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Search impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_impression_share = 50;
+ */
+ private $search_impression_share = null;
+ /**
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost absolute top impression share is reported in the
+ * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = 90;
+ */
+ private $search_rank_lost_absolute_top_impression_share = null;
+ /**
+ * The estimated percentage of impressions on the Search Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Search rank lost impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_impression_share = 51;
+ */
+ private $search_rank_lost_impression_share = null;
+ /**
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost top impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91;
+ */
+ private $search_rank_lost_top_impression_share = null;
+ /**
+ * The impressions you've received in the top location (anywhere above the
+ * organic search results) compared to the estimated number of impressions you
+ * were eligible to receive in the top location.
+ * Note: Search top impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_top_impression_share = 92;
+ */
+ private $search_top_impression_share = null;
+ /**
+ * A measure of how quickly your page loads after clicks on your mobile ads.
+ * The score is a range from 1 to 10, 10 being the fastest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value speed_score = 107;
+ */
+ private $speed_score = null;
+ /**
+ * The percent of your ad impressions that are shown anywhere above the
+ * organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue top_impression_percentage = 93;
+ */
+ private $top_impression_percentage = null;
+ /**
+ * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
+ * that reach a valid AMP page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = 108;
+ */
+ private $valid_accelerated_mobile_pages_clicks_percentage = null;
+ /**
+ * The value of all conversions divided by the number of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_all_conversions = 52;
+ */
+ private $value_per_all_conversions = null;
+ /**
+ * The value of conversions divided by the number of conversions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_conversion = 53;
+ */
+ private $value_per_conversion = null;
+ /**
+ * The value of current model attributed conversions divided by the number of
+ * the conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94;
+ */
+ private $value_per_current_model_attributed_conversion = null;
+ /**
+ * Percentage of impressions where the viewer watched all of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_100_rate = 54;
+ */
+ private $video_quartile_100_rate = null;
+ /**
+ * Percentage of impressions where the viewer watched 25% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_25_rate = 55;
+ */
+ private $video_quartile_25_rate = null;
+ /**
+ * Percentage of impressions where the viewer watched 50% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_50_rate = 56;
+ */
+ private $video_quartile_50_rate = null;
+ /**
+ * Percentage of impressions where the viewer watched 75% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_75_rate = 57;
+ */
+ private $video_quartile_75_rate = null;
+ /**
+ * The number of views your TrueView video ad receives divided by its number
+ * of impressions, including thumbnail impressions for TrueView in-display
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_view_rate = 58;
+ */
+ private $video_view_rate = null;
+ /**
+ * The number of times your video ads were viewed.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value video_views = 59;
+ */
+ private $video_views = null;
+ /**
+ * The total number of view-through conversions.
+ * These happen when a customer sees an image or rich media ad, then later
+ * completes a conversion on your site without interacting with (e.g.,
+ * clicking on) another ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_conversions = 60;
+ */
+ private $view_through_conversions = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $absolute_top_impression_percentage
+ * The percent of your ad impressions that are shown as the very first ad
+ * above the organic search results.
+ * @type \Google\Protobuf\DoubleValue $active_view_cpm
+ * Average cost of viewable impressions (`active_view_impressions`).
+ * @type \Google\Protobuf\DoubleValue $active_view_ctr
+ * Active view measurable clicks divided by active view viewable impressions.
+ * This metric is reported only for display network.
+ * @type \Google\Protobuf\Int64Value $active_view_impressions
+ * A measurement of how often your ad has become viewable on a Display
+ * Network site.
+ * @type \Google\Protobuf\DoubleValue $active_view_measurability
+ * The ratio of impressions that could be measured by Active View over the
+ * number of served impressions.
+ * @type \Google\Protobuf\Int64Value $active_view_measurable_cost_micros
+ * The cost of the impressions you received that were measurable by Active
+ * View.
+ * @type \Google\Protobuf\Int64Value $active_view_measurable_impressions
+ * The number of times your ads are appearing on placements in positions
+ * where they can be seen.
+ * @type \Google\Protobuf\DoubleValue $active_view_viewability
+ * The percentage of time when your ad appeared on an Active View enabled site
+ * (measurable impressions) and was viewable (viewable impressions).
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_interactions_rate
+ * All conversions from interactions (as oppose to view through conversions)
+ * divided by the number of ad interactions.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_value
+ * The total value of all conversions.
+ * @type \Google\Protobuf\DoubleValue $all_conversions
+ * The total number of conversions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_value_per_cost
+ * The value of all conversions divided by the total cost of ad interactions
+ * (such as clicks for text ads or views for video ads).
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_click_to_call
+ * The number of times people clicked the "Call" button to call a store during
+ * or after clicking an ad. This number doesn't include whether or not calls
+ * were connected, or the duration of any calls.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_directions
+ * The number of times people clicked a "Get directions" button to navigate to
+ * a store after clicking an ad.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_interactions_value_per_interaction
+ * The value of all conversions from interactions divided by the total number
+ * of interactions.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_menu
+ * The number of times people clicked a link to view a store's menu after
+ * clicking an ad.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_order
+ * The number of times people placed an order at a store after clicking an ad.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_other_engagement
+ * The number of other conversions (for example, posting a review or saving a
+ * location for a store) that occurred after people clicked an ad.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_store_visit
+ * Estimated number of times people visited a store after clicking an ad.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $all_conversions_from_store_website
+ * The number of times that people were taken to a store's URL after clicking
+ * an ad.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\DoubleValue $average_cost
+ * The average amount you pay per interaction. This amount is the total cost
+ * of your ads divided by the total number of interactions.
+ * @type \Google\Protobuf\DoubleValue $average_cpc
+ * The total cost of all clicks divided by the total number of clicks
+ * received.
+ * @type \Google\Protobuf\DoubleValue $average_cpe
+ * The average amount that you've been charged for an ad engagement. This
+ * amount is the total cost of all ad engagements divided by the total number
+ * of ad engagements.
+ * @type \Google\Protobuf\DoubleValue $average_cpm
+ * Average cost-per-thousand impressions (CPM).
+ * @type \Google\Protobuf\DoubleValue $average_cpv
+ * The average amount you pay each time someone views your ad.
+ * The average CPV is defined by the total cost of all ad views divided by
+ * the number of views.
+ * @type \Google\Protobuf\DoubleValue $average_page_views
+ * Average number of pages viewed per session.
+ * @type \Google\Protobuf\DoubleValue $average_time_on_site
+ * Total duration of all sessions (in seconds) / number of sessions. Imported
+ * from Google Analytics.
+ * @type \Google\Protobuf\DoubleValue $benchmark_average_max_cpc
+ * An indication of how other advertisers are bidding on similar products.
+ * @type \Google\Protobuf\DoubleValue $benchmark_ctr
+ * An indication on how other advertisers' Shopping ads for similar products
+ * are performing based on how often people who see their ad click on it.
+ * @type \Google\Protobuf\DoubleValue $bounce_rate
+ * Percentage of clicks where the user only visited a single page on your
+ * site. Imported from Google Analytics.
+ * @type \Google\Protobuf\Int64Value $clicks
+ * The number of clicks.
+ * @type \Google\Protobuf\Int64Value $combined_clicks
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ * @type \Google\Protobuf\DoubleValue $combined_clicks_per_query
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked (combined_clicks) divided by combined_queries. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ * @type \Google\Protobuf\Int64Value $combined_queries
+ * The number of searches that returned pages from your site in the unpaid
+ * results or showed one of your text ads. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ * @type \Google\Protobuf\DoubleValue $content_budget_lost_impression_share
+ * The estimated percent of times that your ad was eligible to show
+ * on the Display Network but didn't because your budget was too low.
+ * Note: Content budget lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $content_impression_share
+ * The impressions you've received on the Display Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Content impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ * @type \Google\Protobuf\StringValue $conversion_last_received_request_date_time
+ * The last date/time a conversion tag for this conversion action successfully
+ * fired and was seen by Google Ads. This firing event may not have been the
+ * result of an attributable conversion (e.g. because the tag was fired from a
+ * browser that did not previously click an ad from an appropriate
+ * advertiser). The date/time is in the customer's time zone.
+ * @type \Google\Protobuf\StringValue $conversion_last_conversion_date
+ * The date of the most recent conversion for this conversion action. The date
+ * is in the customer's time zone.
+ * @type \Google\Protobuf\DoubleValue $content_rank_lost_impression_share
+ * The estimated percentage of impressions on the Display Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Content rank lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $conversions_from_interactions_rate
+ * Conversions from interactions divided by the number of ad interactions
+ * (such as clicks for text ads or views for video ads). This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ * @type \Google\Protobuf\DoubleValue $conversions_value
+ * The total value of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $conversions_value_per_cost
+ * The value of conversions divided by the cost of ad interactions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ * @type \Google\Protobuf\DoubleValue $conversions_from_interactions_value_per_interaction
+ * The value of conversions from interactions divided by the number of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $conversions
+ * The number of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ * (CPM) costs during this period.
+ * @type \Google\Protobuf\DoubleValue $cost_per_all_conversions
+ * The cost of ad interactions divided by all conversions.
+ * @type \Google\Protobuf\DoubleValue $cost_per_conversion
+ * The cost of ad interactions divided by conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ * @type \Google\Protobuf\DoubleValue $cost_per_current_model_attributed_conversion
+ * The cost of ad interactions divided by current model attributed
+ * conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $cross_device_conversions
+ * Conversions from when a customer clicks on a Google Ads ad on one device,
+ * then converts on a different device or browser.
+ * Cross-device conversions are already included in all_conversions.
+ * @type \Google\Protobuf\DoubleValue $ctr
+ * The number of clicks your ad receives (Clicks) divided by the number
+ * of times your ad is shown (Impressions).
+ * @type \Google\Protobuf\DoubleValue $current_model_attributed_conversions
+ * Shows how your historic conversions data would look under the attribution
+ * model you've currently selected. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $current_model_attributed_conversions_from_interactions_rate
+ * Current model attributed conversions from interactions divided by the
+ * number of ad interactions (such as clicks for text ads or views for video
+ * ads). This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $current_model_attributed_conversions_from_interactions_value_per_interaction
+ * The value of current model attributed conversions from interactions divided
+ * by the number of ad interactions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $current_model_attributed_conversions_value
+ * The total value of current model attributed conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ * @type \Google\Protobuf\DoubleValue $current_model_attributed_conversions_value_per_cost
+ * The value of current model attributed conversions divided by the cost of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $engagement_rate
+ * How often people engage with your ad after it's shown to them. This is the
+ * number of ad expansions divided by the number of times your ad is shown.
+ * @type \Google\Protobuf\Int64Value $engagements
+ * The number of engagements.
+ * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ * future, other ad types may support engagement metrics.
+ * @type \Google\Protobuf\DoubleValue $hotel_average_lead_value_micros
+ * Average lead value of hotel.
+ * @type int $historical_creative_quality_score
+ * The creative historical quality score.
+ * @type int $historical_landing_page_quality_score
+ * The quality of historical landing page experience.
+ * @type \Google\Protobuf\Int64Value $historical_quality_score
+ * The historical quality score.
+ * @type int $historical_search_predicted_ctr
+ * The historical search predicted click through rate (CTR).
+ * @type \Google\Protobuf\Int64Value $gmail_forwards
+ * The number of times the ad was forwarded to someone else as a message.
+ * @type \Google\Protobuf\Int64Value $gmail_saves
+ * The number of times someone has saved your Gmail ad to their inbox as a
+ * message.
+ * @type \Google\Protobuf\Int64Value $gmail_secondary_clicks
+ * The number of clicks to the landing page on the expanded state of Gmail
+ * ads.
+ * @type \Google\Protobuf\Int64Value $impressions_from_store_reach
+ * The number of times a store's location-based ad was shown.
+ * This metric applies to feed items only.
+ * @type \Google\Protobuf\Int64Value $impressions
+ * Count of how often your ad has appeared on a search results page or
+ * website on the Google Network.
+ * @type \Google\Protobuf\DoubleValue $interaction_rate
+ * How often people interact with your ad after it is shown to them.
+ * This is the number of interactions divided by the number of times your ad
+ * is shown.
+ * @type \Google\Protobuf\Int64Value $interactions
+ * The number of interactions.
+ * An interaction is the main user action associated with an ad format-clicks
+ * for text and shopping ads, views for video ads, and so on.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $interaction_event_types
+ * The types of payable and free interactions.
+ * @type \Google\Protobuf\DoubleValue $invalid_click_rate
+ * The percentage of clicks filtered out of your total number of clicks
+ * (filtered + non-filtered clicks) during the reporting period.
+ * @type \Google\Protobuf\Int64Value $invalid_clicks
+ * Number of clicks Google considers illegitimate and doesn't charge you for.
+ * @type \Google\Protobuf\Int64Value $message_chats
+ * Number of message chats initiated for Click To Message impressions that
+ * were message tracking eligible.
+ * @type \Google\Protobuf\Int64Value $message_impressions
+ * Number of Click To Message impressions that were message tracking eligible.
+ * @type \Google\Protobuf\DoubleValue $message_chat_rate
+ * Number of message chats initiated (message_chats) divided by the number
+ * of message impressions (message_impressions).
+ * Rate at which a user initiates a message chat from an ad impression with
+ * a messaging option and message tracking enabled.
+ * Note that this rate can be more than 1.0 for a given message impression.
+ * @type \Google\Protobuf\DoubleValue $mobile_friendly_clicks_percentage
+ * The percentage of mobile clicks that go to a mobile-friendly page.
+ * @type \Google\Protobuf\Int64Value $organic_clicks
+ * The number of times someone clicked your site's listing in the unpaid
+ * results for a particular query. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ * @type \Google\Protobuf\DoubleValue $organic_clicks_per_query
+ * The number of times someone clicked your site's listing in the unpaid
+ * results (organic_clicks) divided by the total number of searches that
+ * returned pages from your site (organic_queries). See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ * @type \Google\Protobuf\Int64Value $organic_impressions
+ * The number of listings for your site in the unpaid search results. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ * @type \Google\Protobuf\DoubleValue $organic_impressions_per_query
+ * The number of times a page from your site was listed in the unpaid search
+ * results (organic_impressions) divided by the number of searches returning
+ * your site's listing in the unpaid results (organic_queries). See the help
+ * page at https://support.google.com/google-ads/answer/3097241 for details.
+ * @type \Google\Protobuf\Int64Value $organic_queries
+ * The total number of searches that returned your site's listing in the
+ * unpaid results. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ * @type \Google\Protobuf\DoubleValue $percent_new_visitors
+ * Percentage of first-time sessions (from people who had never visited your
+ * site before). Imported from Google Analytics.
+ * @type \Google\Protobuf\Int64Value $phone_calls
+ * Number of offline phone calls.
+ * @type \Google\Protobuf\Int64Value $phone_impressions
+ * Number of offline phone impressions.
+ * @type \Google\Protobuf\DoubleValue $phone_through_rate
+ * Number of phone calls received (phone_calls) divided by the number of
+ * times your phone number is shown (phone_impressions).
+ * @type \Google\Protobuf\DoubleValue $relative_ctr
+ * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ * all advertisers on the websites that show your ads. Measures how your ads
+ * perform on Display Network sites compared to other ads on the same sites.
+ * @type \Google\Protobuf\DoubleValue $search_absolute_top_impression_share
+ * The percentage of the customer's Shopping or Search ad impressions that are
+ * shown in the most prominent Shopping position. See
+ * [this article](https://support.google.com/google-ads/answer/7501826)
+ * for details. Any value below 0.1 is reported as 0.0999.
+ * @type \Google\Protobuf\DoubleValue $search_budget_lost_absolute_top_impression_share
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost absolute top impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $search_budget_lost_impression_share
+ * The estimated percent of times that your ad was eligible to show on the
+ * Search Network but didn't because your budget was too low. Note: Search
+ * budget lost impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $search_budget_lost_top_impression_share
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost top impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $search_click_share
+ * The number of clicks you've received on the Search Network
+ * divided by the estimated number of clicks you were eligible to receive.
+ * Note: Search click share is reported in the range of 0.1 to 1. Any value
+ * below 0.1 is reported as 0.0999.
+ * @type \Google\Protobuf\DoubleValue $search_exact_match_impression_share
+ * The impressions you've received divided by the estimated number of
+ * impressions you were eligible to receive on the Search Network for search
+ * terms that matched your keywords exactly (or were close variants of your
+ * keyword), regardless of your keyword match types. Note: Search exact match
+ * impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ * is reported as 0.0999.
+ * @type \Google\Protobuf\DoubleValue $search_impression_share
+ * The impressions you've received on the Search Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Search impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ * @type \Google\Protobuf\DoubleValue $search_rank_lost_absolute_top_impression_share
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost absolute top impression share is reported in the
+ * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $search_rank_lost_impression_share
+ * The estimated percentage of impressions on the Search Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Search rank lost impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $search_rank_lost_top_impression_share
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost top impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ * @type \Google\Protobuf\DoubleValue $search_top_impression_share
+ * The impressions you've received in the top location (anywhere above the
+ * organic search results) compared to the estimated number of impressions you
+ * were eligible to receive in the top location.
+ * Note: Search top impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ * @type \Google\Protobuf\Int64Value $speed_score
+ * A measure of how quickly your page loads after clicks on your mobile ads.
+ * The score is a range from 1 to 10, 10 being the fastest.
+ * @type \Google\Protobuf\DoubleValue $top_impression_percentage
+ * The percent of your ad impressions that are shown anywhere above the
+ * organic search results.
+ * @type \Google\Protobuf\DoubleValue $valid_accelerated_mobile_pages_clicks_percentage
+ * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
+ * that reach a valid AMP page.
+ * @type \Google\Protobuf\DoubleValue $value_per_all_conversions
+ * The value of all conversions divided by the number of all conversions.
+ * @type \Google\Protobuf\DoubleValue $value_per_conversion
+ * The value of conversions divided by the number of conversions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ * @type \Google\Protobuf\DoubleValue $value_per_current_model_attributed_conversion
+ * The value of current model attributed conversions divided by the number of
+ * the conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ * @type \Google\Protobuf\DoubleValue $video_quartile_100_rate
+ * Percentage of impressions where the viewer watched all of your video.
+ * @type \Google\Protobuf\DoubleValue $video_quartile_25_rate
+ * Percentage of impressions where the viewer watched 25% of your video.
+ * @type \Google\Protobuf\DoubleValue $video_quartile_50_rate
+ * Percentage of impressions where the viewer watched 50% of your video.
+ * @type \Google\Protobuf\DoubleValue $video_quartile_75_rate
+ * Percentage of impressions where the viewer watched 75% of your video.
+ * @type \Google\Protobuf\DoubleValue $video_view_rate
+ * The number of views your TrueView video ad receives divided by its number
+ * of impressions, including thumbnail impressions for TrueView in-display
+ * ads.
+ * @type \Google\Protobuf\Int64Value $video_views
+ * The number of times your video ads were viewed.
+ * @type \Google\Protobuf\Int64Value $view_through_conversions
+ * The total number of view-through conversions.
+ * These happen when a customer sees an image or rich media ad, then later
+ * completes a conversion on your site without interacting with (e.g.,
+ * clicking on) another ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Metrics::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The percent of your ad impressions that are shown as the very first ad
+ * above the organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue absolute_top_impression_percentage = 95;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAbsoluteTopImpressionPercentage()
+ {
+ return $this->absolute_top_impression_percentage;
+ }
+
+ /**
+ * Returns the unboxed value from getAbsoluteTopImpressionPercentage()
+
+ * The percent of your ad impressions that are shown as the very first ad
+ * above the organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue absolute_top_impression_percentage = 95;
+ * @return float|null
+ */
+ public function getAbsoluteTopImpressionPercentageUnwrapped()
+ {
+ $wrapper = $this->getAbsoluteTopImpressionPercentage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percent of your ad impressions that are shown as the very first ad
+ * above the organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue absolute_top_impression_percentage = 95;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAbsoluteTopImpressionPercentage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->absolute_top_impression_percentage = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percent of your ad impressions that are shown as the very first ad
+ * above the organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue absolute_top_impression_percentage = 95;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAbsoluteTopImpressionPercentageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAbsoluteTopImpressionPercentage($wrappedVar);
+ }
+
+ /**
+ * Average cost of viewable impressions (`active_view_impressions`).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_cpm = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getActiveViewCpm()
+ {
+ return $this->active_view_cpm;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewCpm()
+
+ * Average cost of viewable impressions (`active_view_impressions`).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_cpm = 1;
+ * @return float|null
+ */
+ public function getActiveViewCpmUnwrapped()
+ {
+ $wrapper = $this->getActiveViewCpm();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average cost of viewable impressions (`active_view_impressions`).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_cpm = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setActiveViewCpm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->active_view_cpm = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Average cost of viewable impressions (`active_view_impressions`).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_cpm = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setActiveViewCpmUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setActiveViewCpm($wrappedVar);
+ }
+
+ /**
+ * Active view measurable clicks divided by active view viewable impressions.
+ * This metric is reported only for display network.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_ctr = 79;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getActiveViewCtr()
+ {
+ return $this->active_view_ctr;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewCtr()
+
+ * Active view measurable clicks divided by active view viewable impressions.
+ * This metric is reported only for display network.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_ctr = 79;
+ * @return float|null
+ */
+ public function getActiveViewCtrUnwrapped()
+ {
+ $wrapper = $this->getActiveViewCtr();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Active view measurable clicks divided by active view viewable impressions.
+ * This metric is reported only for display network.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_ctr = 79;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setActiveViewCtr($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->active_view_ctr = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Active view measurable clicks divided by active view viewable impressions.
+ * This metric is reported only for display network.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_ctr = 79;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setActiveViewCtrUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setActiveViewCtr($wrappedVar);
+ }
+
+ /**
+ * A measurement of how often your ad has become viewable on a Display
+ * Network site.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_impressions = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getActiveViewImpressions()
+ {
+ return $this->active_view_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewImpressions()
+
+ * A measurement of how often your ad has become viewable on a Display
+ * Network site.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_impressions = 2;
+ * @return int|string|null
+ */
+ public function getActiveViewImpressionsUnwrapped()
+ {
+ $wrapper = $this->getActiveViewImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A measurement of how often your ad has become viewable on a Display
+ * Network site.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_impressions = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setActiveViewImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->active_view_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * A measurement of how often your ad has become viewable on a Display
+ * Network site.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_impressions = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setActiveViewImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setActiveViewImpressions($wrappedVar);
+ }
+
+ /**
+ * The ratio of impressions that could be measured by Active View over the
+ * number of served impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_measurability = 96;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getActiveViewMeasurability()
+ {
+ return $this->active_view_measurability;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewMeasurability()
+
+ * The ratio of impressions that could be measured by Active View over the
+ * number of served impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_measurability = 96;
+ * @return float|null
+ */
+ public function getActiveViewMeasurabilityUnwrapped()
+ {
+ $wrapper = $this->getActiveViewMeasurability();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ratio of impressions that could be measured by Active View over the
+ * number of served impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_measurability = 96;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setActiveViewMeasurability($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->active_view_measurability = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The ratio of impressions that could be measured by Active View over the
+ * number of served impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_measurability = 96;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setActiveViewMeasurabilityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setActiveViewMeasurability($wrappedVar);
+ }
+
+ /**
+ * The cost of the impressions you received that were measurable by Active
+ * View.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_cost_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getActiveViewMeasurableCostMicros()
+ {
+ return $this->active_view_measurable_cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewMeasurableCostMicros()
+
+ * The cost of the impressions you received that were measurable by Active
+ * View.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_cost_micros = 3;
+ * @return int|string|null
+ */
+ public function getActiveViewMeasurableCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getActiveViewMeasurableCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The cost of the impressions you received that were measurable by Active
+ * View.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_cost_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setActiveViewMeasurableCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->active_view_measurable_cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The cost of the impressions you received that were measurable by Active
+ * View.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_cost_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setActiveViewMeasurableCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setActiveViewMeasurableCostMicros($wrappedVar);
+ }
+
+ /**
+ * The number of times your ads are appearing on placements in positions
+ * where they can be seen.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_impressions = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getActiveViewMeasurableImpressions()
+ {
+ return $this->active_view_measurable_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewMeasurableImpressions()
+
+ * The number of times your ads are appearing on placements in positions
+ * where they can be seen.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_impressions = 4;
+ * @return int|string|null
+ */
+ public function getActiveViewMeasurableImpressionsUnwrapped()
+ {
+ $wrapper = $this->getActiveViewMeasurableImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times your ads are appearing on placements in positions
+ * where they can be seen.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_impressions = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setActiveViewMeasurableImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->active_view_measurable_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times your ads are appearing on placements in positions
+ * where they can be seen.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value active_view_measurable_impressions = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setActiveViewMeasurableImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setActiveViewMeasurableImpressions($wrappedVar);
+ }
+
+ /**
+ * The percentage of time when your ad appeared on an Active View enabled site
+ * (measurable impressions) and was viewable (viewable impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_viewability = 97;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getActiveViewViewability()
+ {
+ return $this->active_view_viewability;
+ }
+
+ /**
+ * Returns the unboxed value from getActiveViewViewability()
+
+ * The percentage of time when your ad appeared on an Active View enabled site
+ * (measurable impressions) and was viewable (viewable impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_viewability = 97;
+ * @return float|null
+ */
+ public function getActiveViewViewabilityUnwrapped()
+ {
+ $wrapper = $this->getActiveViewViewability();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percentage of time when your ad appeared on an Active View enabled site
+ * (measurable impressions) and was viewable (viewable impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_viewability = 97;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setActiveViewViewability($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->active_view_viewability = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percentage of time when your ad appeared on an Active View enabled site
+ * (measurable impressions) and was viewable (viewable impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue active_view_viewability = 97;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setActiveViewViewabilityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setActiveViewViewability($wrappedVar);
+ }
+
+ /**
+ * All conversions from interactions (as oppose to view through conversions)
+ * divided by the number of ad interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromInteractionsRate()
+ {
+ return $this->all_conversions_from_interactions_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromInteractionsRate()
+
+ * All conversions from interactions (as oppose to view through conversions)
+ * divided by the number of ad interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65;
+ * @return float|null
+ */
+ public function getAllConversionsFromInteractionsRateUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromInteractionsRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * All conversions from interactions (as oppose to view through conversions)
+ * divided by the number of ad interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromInteractionsRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_interactions_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * All conversions from interactions (as oppose to view through conversions)
+ * divided by the number of ad interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromInteractionsRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromInteractionsRate($wrappedVar);
+ }
+
+ /**
+ * The total value of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value = 66;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsValue()
+ {
+ return $this->all_conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsValue()
+
+ * The total value of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value = 66;
+ * @return float|null
+ */
+ public function getAllConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total value of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value = 66;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The total value of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value = 66;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsValue($wrappedVar);
+ }
+
+ /**
+ * The total number of conversions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions = 7;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversions()
+ {
+ return $this->all_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversions()
+
+ * The total number of conversions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions = 7;
+ * @return float|null
+ */
+ public function getAllConversionsUnwrapped()
+ {
+ $wrapper = $this->getAllConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total number of conversions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions = 7;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The total number of conversions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions = 7;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversions($wrappedVar);
+ }
+
+ /**
+ * The value of all conversions divided by the total cost of ad interactions
+ * (such as clicks for text ads or views for video ads).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value_per_cost = 62;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsValuePerCost()
+ {
+ return $this->all_conversions_value_per_cost;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsValuePerCost()
+
+ * The value of all conversions divided by the total cost of ad interactions
+ * (such as clicks for text ads or views for video ads).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value_per_cost = 62;
+ * @return float|null
+ */
+ public function getAllConversionsValuePerCostUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsValuePerCost();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of all conversions divided by the total cost of ad interactions
+ * (such as clicks for text ads or views for video ads).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value_per_cost = 62;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsValuePerCost($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_value_per_cost = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of all conversions divided by the total cost of ad interactions
+ * (such as clicks for text ads or views for video ads).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_value_per_cost = 62;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsValuePerCostUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsValuePerCost($wrappedVar);
+ }
+
+ /**
+ * The number of times people clicked the "Call" button to call a store during
+ * or after clicking an ad. This number doesn't include whether or not calls
+ * were connected, or the duration of any calls.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_click_to_call = 118;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromClickToCall()
+ {
+ return $this->all_conversions_from_click_to_call;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromClickToCall()
+
+ * The number of times people clicked the "Call" button to call a store during
+ * or after clicking an ad. This number doesn't include whether or not calls
+ * were connected, or the duration of any calls.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_click_to_call = 118;
+ * @return float|null
+ */
+ public function getAllConversionsFromClickToCallUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromClickToCall();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times people clicked the "Call" button to call a store during
+ * or after clicking an ad. This number doesn't include whether or not calls
+ * were connected, or the duration of any calls.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_click_to_call = 118;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromClickToCall($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_click_to_call = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times people clicked the "Call" button to call a store during
+ * or after clicking an ad. This number doesn't include whether or not calls
+ * were connected, or the duration of any calls.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_click_to_call = 118;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromClickToCallUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromClickToCall($wrappedVar);
+ }
+
+ /**
+ * The number of times people clicked a "Get directions" button to navigate to
+ * a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_directions = 119;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromDirections()
+ {
+ return $this->all_conversions_from_directions;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromDirections()
+
+ * The number of times people clicked a "Get directions" button to navigate to
+ * a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_directions = 119;
+ * @return float|null
+ */
+ public function getAllConversionsFromDirectionsUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromDirections();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times people clicked a "Get directions" button to navigate to
+ * a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_directions = 119;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromDirections($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_directions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times people clicked a "Get directions" button to navigate to
+ * a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_directions = 119;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromDirectionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromDirections($wrappedVar);
+ }
+
+ /**
+ * The value of all conversions from interactions divided by the total number
+ * of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromInteractionsValuePerInteraction()
+ {
+ return $this->all_conversions_from_interactions_value_per_interaction;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromInteractionsValuePerInteraction()
+
+ * The value of all conversions from interactions divided by the total number
+ * of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67;
+ * @return float|null
+ */
+ public function getAllConversionsFromInteractionsValuePerInteractionUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromInteractionsValuePerInteraction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of all conversions from interactions divided by the total number
+ * of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromInteractionsValuePerInteraction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_interactions_value_per_interaction = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of all conversions from interactions divided by the total number
+ * of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromInteractionsValuePerInteractionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromInteractionsValuePerInteraction($wrappedVar);
+ }
+
+ /**
+ * The number of times people clicked a link to view a store's menu after
+ * clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_menu = 120;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromMenu()
+ {
+ return $this->all_conversions_from_menu;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromMenu()
+
+ * The number of times people clicked a link to view a store's menu after
+ * clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_menu = 120;
+ * @return float|null
+ */
+ public function getAllConversionsFromMenuUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromMenu();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times people clicked a link to view a store's menu after
+ * clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_menu = 120;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromMenu($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_menu = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times people clicked a link to view a store's menu after
+ * clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_menu = 120;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromMenuUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromMenu($wrappedVar);
+ }
+
+ /**
+ * The number of times people placed an order at a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_order = 121;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromOrder()
+ {
+ return $this->all_conversions_from_order;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromOrder()
+
+ * The number of times people placed an order at a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_order = 121;
+ * @return float|null
+ */
+ public function getAllConversionsFromOrderUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromOrder();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times people placed an order at a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_order = 121;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromOrder($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_order = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times people placed an order at a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_order = 121;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromOrderUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromOrder($wrappedVar);
+ }
+
+ /**
+ * The number of other conversions (for example, posting a review or saving a
+ * location for a store) that occurred after people clicked an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_other_engagement = 122;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromOtherEngagement()
+ {
+ return $this->all_conversions_from_other_engagement;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromOtherEngagement()
+
+ * The number of other conversions (for example, posting a review or saving a
+ * location for a store) that occurred after people clicked an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_other_engagement = 122;
+ * @return float|null
+ */
+ public function getAllConversionsFromOtherEngagementUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromOtherEngagement();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of other conversions (for example, posting a review or saving a
+ * location for a store) that occurred after people clicked an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_other_engagement = 122;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromOtherEngagement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_other_engagement = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of other conversions (for example, posting a review or saving a
+ * location for a store) that occurred after people clicked an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_other_engagement = 122;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromOtherEngagementUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromOtherEngagement($wrappedVar);
+ }
+
+ /**
+ * Estimated number of times people visited a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_visit = 123;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromStoreVisit()
+ {
+ return $this->all_conversions_from_store_visit;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromStoreVisit()
+
+ * Estimated number of times people visited a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_visit = 123;
+ * @return float|null
+ */
+ public function getAllConversionsFromStoreVisitUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromStoreVisit();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Estimated number of times people visited a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_visit = 123;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromStoreVisit($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_store_visit = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Estimated number of times people visited a store after clicking an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_visit = 123;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromStoreVisitUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromStoreVisit($wrappedVar);
+ }
+
+ /**
+ * The number of times that people were taken to a store's URL after clicking
+ * an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_website = 124;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAllConversionsFromStoreWebsite()
+ {
+ return $this->all_conversions_from_store_website;
+ }
+
+ /**
+ * Returns the unboxed value from getAllConversionsFromStoreWebsite()
+
+ * The number of times that people were taken to a store's URL after clicking
+ * an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_website = 124;
+ * @return float|null
+ */
+ public function getAllConversionsFromStoreWebsiteUnwrapped()
+ {
+ $wrapper = $this->getAllConversionsFromStoreWebsite();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times that people were taken to a store's URL after clicking
+ * an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_website = 124;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAllConversionsFromStoreWebsite($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->all_conversions_from_store_website = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times that people were taken to a store's URL after clicking
+ * an ad.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue all_conversions_from_store_website = 124;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAllConversionsFromStoreWebsiteUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAllConversionsFromStoreWebsite($wrappedVar);
+ }
+
+ /**
+ * The average amount you pay per interaction. This amount is the total cost
+ * of your ads divided by the total number of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cost = 8;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAverageCost()
+ {
+ return $this->average_cost;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageCost()
+
+ * The average amount you pay per interaction. This amount is the total cost
+ * of your ads divided by the total number of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cost = 8;
+ * @return float|null
+ */
+ public function getAverageCostUnwrapped()
+ {
+ $wrapper = $this->getAverageCost();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The average amount you pay per interaction. This amount is the total cost
+ * of your ads divided by the total number of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cost = 8;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAverageCost($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_cost = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The average amount you pay per interaction. This amount is the total cost
+ * of your ads divided by the total number of interactions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cost = 8;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAverageCostUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAverageCost($wrappedVar);
+ }
+
+ /**
+ * The total cost of all clicks divided by the total number of clicks
+ * received.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpc = 9;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAverageCpc()
+ {
+ return $this->average_cpc;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageCpc()
+
+ * The total cost of all clicks divided by the total number of clicks
+ * received.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpc = 9;
+ * @return float|null
+ */
+ public function getAverageCpcUnwrapped()
+ {
+ $wrapper = $this->getAverageCpc();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total cost of all clicks divided by the total number of clicks
+ * received.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpc = 9;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAverageCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_cpc = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The total cost of all clicks divided by the total number of clicks
+ * received.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpc = 9;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAverageCpcUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAverageCpc($wrappedVar);
+ }
+
+ /**
+ * The average amount that you've been charged for an ad engagement. This
+ * amount is the total cost of all ad engagements divided by the total number
+ * of ad engagements.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpe = 98;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAverageCpe()
+ {
+ return $this->average_cpe;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageCpe()
+
+ * The average amount that you've been charged for an ad engagement. This
+ * amount is the total cost of all ad engagements divided by the total number
+ * of ad engagements.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpe = 98;
+ * @return float|null
+ */
+ public function getAverageCpeUnwrapped()
+ {
+ $wrapper = $this->getAverageCpe();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The average amount that you've been charged for an ad engagement. This
+ * amount is the total cost of all ad engagements divided by the total number
+ * of ad engagements.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpe = 98;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAverageCpe($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_cpe = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The average amount that you've been charged for an ad engagement. This
+ * amount is the total cost of all ad engagements divided by the total number
+ * of ad engagements.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpe = 98;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAverageCpeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAverageCpe($wrappedVar);
+ }
+
+ /**
+ * Average cost-per-thousand impressions (CPM).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpm = 10;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAverageCpm()
+ {
+ return $this->average_cpm;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageCpm()
+
+ * Average cost-per-thousand impressions (CPM).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpm = 10;
+ * @return float|null
+ */
+ public function getAverageCpmUnwrapped()
+ {
+ $wrapper = $this->getAverageCpm();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average cost-per-thousand impressions (CPM).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpm = 10;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAverageCpm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_cpm = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Average cost-per-thousand impressions (CPM).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpm = 10;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAverageCpmUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAverageCpm($wrappedVar);
+ }
+
+ /**
+ * The average amount you pay each time someone views your ad.
+ * The average CPV is defined by the total cost of all ad views divided by
+ * the number of views.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpv = 11;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAverageCpv()
+ {
+ return $this->average_cpv;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageCpv()
+
+ * The average amount you pay each time someone views your ad.
+ * The average CPV is defined by the total cost of all ad views divided by
+ * the number of views.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpv = 11;
+ * @return float|null
+ */
+ public function getAverageCpvUnwrapped()
+ {
+ $wrapper = $this->getAverageCpv();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The average amount you pay each time someone views your ad.
+ * The average CPV is defined by the total cost of all ad views divided by
+ * the number of views.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpv = 11;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAverageCpv($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_cpv = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The average amount you pay each time someone views your ad.
+ * The average CPV is defined by the total cost of all ad views divided by
+ * the number of views.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_cpv = 11;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAverageCpvUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAverageCpv($wrappedVar);
+ }
+
+ /**
+ * Average number of pages viewed per session.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_page_views = 99;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAveragePageViews()
+ {
+ return $this->average_page_views;
+ }
+
+ /**
+ * Returns the unboxed value from getAveragePageViews()
+
+ * Average number of pages viewed per session.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_page_views = 99;
+ * @return float|null
+ */
+ public function getAveragePageViewsUnwrapped()
+ {
+ $wrapper = $this->getAveragePageViews();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average number of pages viewed per session.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_page_views = 99;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAveragePageViews($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_page_views = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Average number of pages viewed per session.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_page_views = 99;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAveragePageViewsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAveragePageViews($wrappedVar);
+ }
+
+ /**
+ * Total duration of all sessions (in seconds) / number of sessions. Imported
+ * from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_time_on_site = 84;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAverageTimeOnSite()
+ {
+ return $this->average_time_on_site;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageTimeOnSite()
+
+ * Total duration of all sessions (in seconds) / number of sessions. Imported
+ * from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_time_on_site = 84;
+ * @return float|null
+ */
+ public function getAverageTimeOnSiteUnwrapped()
+ {
+ $wrapper = $this->getAverageTimeOnSite();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Total duration of all sessions (in seconds) / number of sessions. Imported
+ * from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_time_on_site = 84;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAverageTimeOnSite($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->average_time_on_site = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Total duration of all sessions (in seconds) / number of sessions. Imported
+ * from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue average_time_on_site = 84;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAverageTimeOnSiteUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAverageTimeOnSite($wrappedVar);
+ }
+
+ /**
+ * An indication of how other advertisers are bidding on similar products.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_average_max_cpc = 14;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBenchmarkAverageMaxCpc()
+ {
+ return $this->benchmark_average_max_cpc;
+ }
+
+ /**
+ * Returns the unboxed value from getBenchmarkAverageMaxCpc()
+
+ * An indication of how other advertisers are bidding on similar products.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_average_max_cpc = 14;
+ * @return float|null
+ */
+ public function getBenchmarkAverageMaxCpcUnwrapped()
+ {
+ $wrapper = $this->getBenchmarkAverageMaxCpc();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * An indication of how other advertisers are bidding on similar products.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_average_max_cpc = 14;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBenchmarkAverageMaxCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->benchmark_average_max_cpc = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * An indication of how other advertisers are bidding on similar products.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_average_max_cpc = 14;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBenchmarkAverageMaxCpcUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBenchmarkAverageMaxCpc($wrappedVar);
+ }
+
+ /**
+ * An indication on how other advertisers' Shopping ads for similar products
+ * are performing based on how often people who see their ad click on it.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_ctr = 77;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBenchmarkCtr()
+ {
+ return $this->benchmark_ctr;
+ }
+
+ /**
+ * Returns the unboxed value from getBenchmarkCtr()
+
+ * An indication on how other advertisers' Shopping ads for similar products
+ * are performing based on how often people who see their ad click on it.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_ctr = 77;
+ * @return float|null
+ */
+ public function getBenchmarkCtrUnwrapped()
+ {
+ $wrapper = $this->getBenchmarkCtr();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * An indication on how other advertisers' Shopping ads for similar products
+ * are performing based on how often people who see their ad click on it.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_ctr = 77;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBenchmarkCtr($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->benchmark_ctr = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * An indication on how other advertisers' Shopping ads for similar products
+ * are performing based on how often people who see their ad click on it.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue benchmark_ctr = 77;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBenchmarkCtrUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBenchmarkCtr($wrappedVar);
+ }
+
+ /**
+ * Percentage of clicks where the user only visited a single page on your
+ * site. Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bounce_rate = 15;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBounceRate()
+ {
+ return $this->bounce_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getBounceRate()
+
+ * Percentage of clicks where the user only visited a single page on your
+ * site. Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bounce_rate = 15;
+ * @return float|null
+ */
+ public function getBounceRateUnwrapped()
+ {
+ $wrapper = $this->getBounceRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage of clicks where the user only visited a single page on your
+ * site. Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bounce_rate = 15;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBounceRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->bounce_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Percentage of clicks where the user only visited a single page on your
+ * site. Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bounce_rate = 15;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBounceRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBounceRate($wrappedVar);
+ }
+
+ /**
+ * The number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 19;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getClicks()
+ {
+ return $this->clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getClicks()
+
+ * The number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 19;
+ * @return int|string|null
+ */
+ public function getClicksUnwrapped()
+ {
+ $wrapper = $this->getClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 19;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 19;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setClicks($wrappedVar);
+ }
+
+ /**
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_clicks = 115;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCombinedClicks()
+ {
+ return $this->combined_clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getCombinedClicks()
+
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_clicks = 115;
+ * @return int|string|null
+ */
+ public function getCombinedClicksUnwrapped()
+ {
+ $wrapper = $this->getCombinedClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_clicks = 115;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCombinedClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->combined_clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_clicks = 115;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCombinedClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCombinedClicks($wrappedVar);
+ }
+
+ /**
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked (combined_clicks) divided by combined_queries. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue combined_clicks_per_query = 116;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCombinedClicksPerQuery()
+ {
+ return $this->combined_clicks_per_query;
+ }
+
+ /**
+ * Returns the unboxed value from getCombinedClicksPerQuery()
+
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked (combined_clicks) divided by combined_queries. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue combined_clicks_per_query = 116;
+ * @return float|null
+ */
+ public function getCombinedClicksPerQueryUnwrapped()
+ {
+ $wrapper = $this->getCombinedClicksPerQuery();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked (combined_clicks) divided by combined_queries. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue combined_clicks_per_query = 116;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCombinedClicksPerQuery($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->combined_clicks_per_query = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times your ad or your site's listing in the unpaid
+ * results was clicked (combined_clicks) divided by combined_queries. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue combined_clicks_per_query = 116;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCombinedClicksPerQueryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCombinedClicksPerQuery($wrappedVar);
+ }
+
+ /**
+ * The number of searches that returned pages from your site in the unpaid
+ * results or showed one of your text ads. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_queries = 117;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCombinedQueries()
+ {
+ return $this->combined_queries;
+ }
+
+ /**
+ * Returns the unboxed value from getCombinedQueries()
+
+ * The number of searches that returned pages from your site in the unpaid
+ * results or showed one of your text ads. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_queries = 117;
+ * @return int|string|null
+ */
+ public function getCombinedQueriesUnwrapped()
+ {
+ $wrapper = $this->getCombinedQueries();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of searches that returned pages from your site in the unpaid
+ * results or showed one of your text ads. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_queries = 117;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCombinedQueries($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->combined_queries = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of searches that returned pages from your site in the unpaid
+ * results or showed one of your text ads. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value combined_queries = 117;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCombinedQueriesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCombinedQueries($wrappedVar);
+ }
+
+ /**
+ * The estimated percent of times that your ad was eligible to show
+ * on the Display Network but didn't because your budget was too low.
+ * Note: Content budget lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_budget_lost_impression_share = 20;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getContentBudgetLostImpressionShare()
+ {
+ return $this->content_budget_lost_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getContentBudgetLostImpressionShare()
+
+ * The estimated percent of times that your ad was eligible to show
+ * on the Display Network but didn't because your budget was too low.
+ * Note: Content budget lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_budget_lost_impression_share = 20;
+ * @return float|null
+ */
+ public function getContentBudgetLostImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getContentBudgetLostImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated percent of times that your ad was eligible to show
+ * on the Display Network but didn't because your budget was too low.
+ * Note: Content budget lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_budget_lost_impression_share = 20;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setContentBudgetLostImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->content_budget_lost_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The estimated percent of times that your ad was eligible to show
+ * on the Display Network but didn't because your budget was too low.
+ * Note: Content budget lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_budget_lost_impression_share = 20;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setContentBudgetLostImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setContentBudgetLostImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The impressions you've received on the Display Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Content impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_impression_share = 21;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getContentImpressionShare()
+ {
+ return $this->content_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getContentImpressionShare()
+
+ * The impressions you've received on the Display Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Content impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_impression_share = 21;
+ * @return float|null
+ */
+ public function getContentImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getContentImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The impressions you've received on the Display Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Content impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_impression_share = 21;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setContentImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->content_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The impressions you've received on the Display Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Content impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_impression_share = 21;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setContentImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setContentImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The last date/time a conversion tag for this conversion action successfully
+ * fired and was seen by Google Ads. This firing event may not have been the
+ * result of an attributable conversion (e.g. because the tag was fired from a
+ * browser that did not previously click an ad from an appropriate
+ * advertiser). The date/time is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_received_request_date_time = 73;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionLastReceivedRequestDateTime()
+ {
+ return $this->conversion_last_received_request_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionLastReceivedRequestDateTime()
+
+ * The last date/time a conversion tag for this conversion action successfully
+ * fired and was seen by Google Ads. This firing event may not have been the
+ * result of an attributable conversion (e.g. because the tag was fired from a
+ * browser that did not previously click an ad from an appropriate
+ * advertiser). The date/time is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_received_request_date_time = 73;
+ * @return string|null
+ */
+ public function getConversionLastReceivedRequestDateTimeUnwrapped()
+ {
+ $wrapper = $this->getConversionLastReceivedRequestDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The last date/time a conversion tag for this conversion action successfully
+ * fired and was seen by Google Ads. This firing event may not have been the
+ * result of an attributable conversion (e.g. because the tag was fired from a
+ * browser that did not previously click an ad from an appropriate
+ * advertiser). The date/time is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_received_request_date_time = 73;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionLastReceivedRequestDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_last_received_request_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The last date/time a conversion tag for this conversion action successfully
+ * fired and was seen by Google Ads. This firing event may not have been the
+ * result of an attributable conversion (e.g. because the tag was fired from a
+ * browser that did not previously click an ad from an appropriate
+ * advertiser). The date/time is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_received_request_date_time = 73;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionLastReceivedRequestDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionLastReceivedRequestDateTime($wrappedVar);
+ }
+
+ /**
+ * The date of the most recent conversion for this conversion action. The date
+ * is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_conversion_date = 74;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionLastConversionDate()
+ {
+ return $this->conversion_last_conversion_date;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionLastConversionDate()
+
+ * The date of the most recent conversion for this conversion action. The date
+ * is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_conversion_date = 74;
+ * @return string|null
+ */
+ public function getConversionLastConversionDateUnwrapped()
+ {
+ $wrapper = $this->getConversionLastConversionDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date of the most recent conversion for this conversion action. The date
+ * is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_conversion_date = 74;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionLastConversionDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_last_conversion_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date of the most recent conversion for this conversion action. The date
+ * is in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_last_conversion_date = 74;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionLastConversionDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionLastConversionDate($wrappedVar);
+ }
+
+ /**
+ * The estimated percentage of impressions on the Display Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Content rank lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_rank_lost_impression_share = 22;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getContentRankLostImpressionShare()
+ {
+ return $this->content_rank_lost_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getContentRankLostImpressionShare()
+
+ * The estimated percentage of impressions on the Display Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Content rank lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_rank_lost_impression_share = 22;
+ * @return float|null
+ */
+ public function getContentRankLostImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getContentRankLostImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated percentage of impressions on the Display Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Content rank lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_rank_lost_impression_share = 22;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setContentRankLostImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->content_rank_lost_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The estimated percentage of impressions on the Display Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Content rank lost impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue content_rank_lost_impression_share = 22;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setContentRankLostImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setContentRankLostImpressionShare($wrappedVar);
+ }
+
+ /**
+ * Conversions from interactions divided by the number of ad interactions
+ * (such as clicks for text ads or views for video ads). This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_rate = 69;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversionsFromInteractionsRate()
+ {
+ return $this->conversions_from_interactions_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionsFromInteractionsRate()
+
+ * Conversions from interactions divided by the number of ad interactions
+ * (such as clicks for text ads or views for video ads). This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_rate = 69;
+ * @return float|null
+ */
+ public function getConversionsFromInteractionsRateUnwrapped()
+ {
+ $wrapper = $this->getConversionsFromInteractionsRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Conversions from interactions divided by the number of ad interactions
+ * (such as clicks for text ads or views for video ads). This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_rate = 69;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversionsFromInteractionsRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversions_from_interactions_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Conversions from interactions divided by the number of ad interactions
+ * (such as clicks for text ads or views for video ads). This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_rate = 69;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionsFromInteractionsRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversionsFromInteractionsRate($wrappedVar);
+ }
+
+ /**
+ * The total value of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value = 70;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversionsValue()
+ {
+ return $this->conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionsValue()
+
+ * The total value of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value = 70;
+ * @return float|null
+ */
+ public function getConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total value of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value = 70;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The total value of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value = 70;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversionsValue($wrappedVar);
+ }
+
+ /**
+ * The value of conversions divided by the cost of ad interactions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value_per_cost = 71;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversionsValuePerCost()
+ {
+ return $this->conversions_value_per_cost;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionsValuePerCost()
+
+ * The value of conversions divided by the cost of ad interactions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value_per_cost = 71;
+ * @return float|null
+ */
+ public function getConversionsValuePerCostUnwrapped()
+ {
+ $wrapper = $this->getConversionsValuePerCost();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of conversions divided by the cost of ad interactions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value_per_cost = 71;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversionsValuePerCost($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversions_value_per_cost = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of conversions divided by the cost of ad interactions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_value_per_cost = 71;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionsValuePerCostUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversionsValuePerCost($wrappedVar);
+ }
+
+ /**
+ * The value of conversions from interactions divided by the number of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversionsFromInteractionsValuePerInteraction()
+ {
+ return $this->conversions_from_interactions_value_per_interaction;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionsFromInteractionsValuePerInteraction()
+
+ * The value of conversions from interactions divided by the number of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72;
+ * @return float|null
+ */
+ public function getConversionsFromInteractionsValuePerInteractionUnwrapped()
+ {
+ $wrapper = $this->getConversionsFromInteractionsValuePerInteraction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of conversions from interactions divided by the number of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversionsFromInteractionsValuePerInteraction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversions_from_interactions_value_per_interaction = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of conversions from interactions divided by the number of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionsFromInteractionsValuePerInteractionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversionsFromInteractionsValuePerInteraction($wrappedVar);
+ }
+
+ /**
+ * The number of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 25;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversions()
+ {
+ return $this->conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getConversions()
+
+ * The number of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 25;
+ * @return float|null
+ */
+ public function getConversionsUnwrapped()
+ {
+ $wrapper = $this->getConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 25;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 25;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversions($wrappedVar);
+ }
+
+ /**
+ * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ * (CPM) costs during this period.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 26;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ * (CPM) costs during this period.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 26;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ * (CPM) costs during this period.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 26;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ * (CPM) costs during this period.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 26;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+ /**
+ * The cost of ad interactions divided by all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_all_conversions = 68;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCostPerAllConversions()
+ {
+ return $this->cost_per_all_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getCostPerAllConversions()
+
+ * The cost of ad interactions divided by all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_all_conversions = 68;
+ * @return float|null
+ */
+ public function getCostPerAllConversionsUnwrapped()
+ {
+ $wrapper = $this->getCostPerAllConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The cost of ad interactions divided by all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_all_conversions = 68;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCostPerAllConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->cost_per_all_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The cost of ad interactions divided by all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_all_conversions = 68;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCostPerAllConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCostPerAllConversions($wrappedVar);
+ }
+
+ /**
+ * The cost of ad interactions divided by conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_conversion = 28;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCostPerConversion()
+ {
+ return $this->cost_per_conversion;
+ }
+
+ /**
+ * Returns the unboxed value from getCostPerConversion()
+
+ * The cost of ad interactions divided by conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_conversion = 28;
+ * @return float|null
+ */
+ public function getCostPerConversionUnwrapped()
+ {
+ $wrapper = $this->getCostPerConversion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The cost of ad interactions divided by conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_conversion = 28;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCostPerConversion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->cost_per_conversion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The cost of ad interactions divided by conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_conversion = 28;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCostPerConversionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCostPerConversion($wrappedVar);
+ }
+
+ /**
+ * The cost of ad interactions divided by current model attributed
+ * conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCostPerCurrentModelAttributedConversion()
+ {
+ return $this->cost_per_current_model_attributed_conversion;
+ }
+
+ /**
+ * Returns the unboxed value from getCostPerCurrentModelAttributedConversion()
+
+ * The cost of ad interactions divided by current model attributed
+ * conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106;
+ * @return float|null
+ */
+ public function getCostPerCurrentModelAttributedConversionUnwrapped()
+ {
+ $wrapper = $this->getCostPerCurrentModelAttributedConversion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The cost of ad interactions divided by current model attributed
+ * conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCostPerCurrentModelAttributedConversion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->cost_per_current_model_attributed_conversion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The cost of ad interactions divided by current model attributed
+ * conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCostPerCurrentModelAttributedConversionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCostPerCurrentModelAttributedConversion($wrappedVar);
+ }
+
+ /**
+ * Conversions from when a customer clicks on a Google Ads ad on one device,
+ * then converts on a different device or browser.
+ * Cross-device conversions are already included in all_conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cross_device_conversions = 29;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCrossDeviceConversions()
+ {
+ return $this->cross_device_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getCrossDeviceConversions()
+
+ * Conversions from when a customer clicks on a Google Ads ad on one device,
+ * then converts on a different device or browser.
+ * Cross-device conversions are already included in all_conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cross_device_conversions = 29;
+ * @return float|null
+ */
+ public function getCrossDeviceConversionsUnwrapped()
+ {
+ $wrapper = $this->getCrossDeviceConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Conversions from when a customer clicks on a Google Ads ad on one device,
+ * then converts on a different device or browser.
+ * Cross-device conversions are already included in all_conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cross_device_conversions = 29;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCrossDeviceConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->cross_device_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Conversions from when a customer clicks on a Google Ads ad on one device,
+ * then converts on a different device or browser.
+ * Cross-device conversions are already included in all_conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue cross_device_conversions = 29;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCrossDeviceConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCrossDeviceConversions($wrappedVar);
+ }
+
+ /**
+ * The number of clicks your ad receives (Clicks) divided by the number
+ * of times your ad is shown (Impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 30;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCtr()
+ {
+ return $this->ctr;
+ }
+
+ /**
+ * Returns the unboxed value from getCtr()
+
+ * The number of clicks your ad receives (Clicks) divided by the number
+ * of times your ad is shown (Impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 30;
+ * @return float|null
+ */
+ public function getCtrUnwrapped()
+ {
+ $wrapper = $this->getCtr();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of clicks your ad receives (Clicks) divided by the number
+ * of times your ad is shown (Impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 30;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCtr($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->ctr = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of clicks your ad receives (Clicks) divided by the number
+ * of times your ad is shown (Impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 30;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCtrUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCtr($wrappedVar);
+ }
+
+ /**
+ * Shows how your historic conversions data would look under the attribution
+ * model you've currently selected. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions = 101;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCurrentModelAttributedConversions()
+ {
+ return $this->current_model_attributed_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrentModelAttributedConversions()
+
+ * Shows how your historic conversions data would look under the attribution
+ * model you've currently selected. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions = 101;
+ * @return float|null
+ */
+ public function getCurrentModelAttributedConversionsUnwrapped()
+ {
+ $wrapper = $this->getCurrentModelAttributedConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Shows how your historic conversions data would look under the attribution
+ * model you've currently selected. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions = 101;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->current_model_attributed_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Shows how your historic conversions data would look under the attribution
+ * model you've currently selected. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions = 101;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCurrentModelAttributedConversions($wrappedVar);
+ }
+
+ /**
+ * Current model attributed conversions from interactions divided by the
+ * number of ad interactions (such as clicks for text ads or views for video
+ * ads). This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCurrentModelAttributedConversionsFromInteractionsRate()
+ {
+ return $this->current_model_attributed_conversions_from_interactions_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrentModelAttributedConversionsFromInteractionsRate()
+
+ * Current model attributed conversions from interactions divided by the
+ * number of ad interactions (such as clicks for text ads or views for video
+ * ads). This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102;
+ * @return float|null
+ */
+ public function getCurrentModelAttributedConversionsFromInteractionsRateUnwrapped()
+ {
+ $wrapper = $this->getCurrentModelAttributedConversionsFromInteractionsRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Current model attributed conversions from interactions divided by the
+ * number of ad interactions (such as clicks for text ads or views for video
+ * ads). This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsFromInteractionsRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->current_model_attributed_conversions_from_interactions_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Current model attributed conversions from interactions divided by the
+ * number of ad interactions (such as clicks for text ads or views for video
+ * ads). This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsFromInteractionsRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCurrentModelAttributedConversionsFromInteractionsRate($wrappedVar);
+ }
+
+ /**
+ * The value of current model attributed conversions from interactions divided
+ * by the number of ad interactions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()
+ {
+ return $this->current_model_attributed_conversions_from_interactions_value_per_interaction;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()
+
+ * The value of current model attributed conversions from interactions divided
+ * by the number of ad interactions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103;
+ * @return float|null
+ */
+ public function getCurrentModelAttributedConversionsFromInteractionsValuePerInteractionUnwrapped()
+ {
+ $wrapper = $this->getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of current model attributed conversions from interactions divided
+ * by the number of ad interactions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsFromInteractionsValuePerInteraction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->current_model_attributed_conversions_from_interactions_value_per_interaction = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of current model attributed conversions from interactions divided
+ * by the number of ad interactions. This only includes conversion actions
+ * which include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsFromInteractionsValuePerInteractionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCurrentModelAttributedConversionsFromInteractionsValuePerInteraction($wrappedVar);
+ }
+
+ /**
+ * The total value of current model attributed conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value = 104;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCurrentModelAttributedConversionsValue()
+ {
+ return $this->current_model_attributed_conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrentModelAttributedConversionsValue()
+
+ * The total value of current model attributed conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value = 104;
+ * @return float|null
+ */
+ public function getCurrentModelAttributedConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getCurrentModelAttributedConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total value of current model attributed conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value = 104;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->current_model_attributed_conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The total value of current model attributed conversions. This only includes
+ * conversion actions which include_in_conversions_metric attribute is set to
+ * true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value = 104;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCurrentModelAttributedConversionsValue($wrappedVar);
+ }
+
+ /**
+ * The value of current model attributed conversions divided by the cost of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCurrentModelAttributedConversionsValuePerCost()
+ {
+ return $this->current_model_attributed_conversions_value_per_cost;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrentModelAttributedConversionsValuePerCost()
+
+ * The value of current model attributed conversions divided by the cost of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105;
+ * @return float|null
+ */
+ public function getCurrentModelAttributedConversionsValuePerCostUnwrapped()
+ {
+ $wrapper = $this->getCurrentModelAttributedConversionsValuePerCost();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of current model attributed conversions divided by the cost of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsValuePerCost($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->current_model_attributed_conversions_value_per_cost = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of current model attributed conversions divided by the cost of ad
+ * interactions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCurrentModelAttributedConversionsValuePerCostUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCurrentModelAttributedConversionsValuePerCost($wrappedVar);
+ }
+
+ /**
+ * How often people engage with your ad after it's shown to them. This is the
+ * number of ad expansions divided by the number of times your ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue engagement_rate = 31;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getEngagementRate()
+ {
+ return $this->engagement_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getEngagementRate()
+
+ * How often people engage with your ad after it's shown to them. This is the
+ * number of ad expansions divided by the number of times your ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue engagement_rate = 31;
+ * @return float|null
+ */
+ public function getEngagementRateUnwrapped()
+ {
+ $wrapper = $this->getEngagementRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * How often people engage with your ad after it's shown to them. This is the
+ * number of ad expansions divided by the number of times your ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue engagement_rate = 31;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setEngagementRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->engagement_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * How often people engage with your ad after it's shown to them. This is the
+ * number of ad expansions divided by the number of times your ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue engagement_rate = 31;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setEngagementRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setEngagementRate($wrappedVar);
+ }
+
+ /**
+ * The number of engagements.
+ * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ * future, other ad types may support engagement metrics.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value engagements = 32;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEngagements()
+ {
+ return $this->engagements;
+ }
+
+ /**
+ * Returns the unboxed value from getEngagements()
+
+ * The number of engagements.
+ * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ * future, other ad types may support engagement metrics.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value engagements = 32;
+ * @return int|string|null
+ */
+ public function getEngagementsUnwrapped()
+ {
+ $wrapper = $this->getEngagements();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of engagements.
+ * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ * future, other ad types may support engagement metrics.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value engagements = 32;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEngagements($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->engagements = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of engagements.
+ * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ * future, other ad types may support engagement metrics.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value engagements = 32;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEngagementsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEngagements($wrappedVar);
+ }
+
+ /**
+ * Average lead value of hotel.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue hotel_average_lead_value_micros = 75;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getHotelAverageLeadValueMicros()
+ {
+ return $this->hotel_average_lead_value_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelAverageLeadValueMicros()
+
+ * Average lead value of hotel.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue hotel_average_lead_value_micros = 75;
+ * @return float|null
+ */
+ public function getHotelAverageLeadValueMicrosUnwrapped()
+ {
+ $wrapper = $this->getHotelAverageLeadValueMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average lead value of hotel.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue hotel_average_lead_value_micros = 75;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setHotelAverageLeadValueMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->hotel_average_lead_value_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Average lead value of hotel.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue hotel_average_lead_value_micros = 75;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setHotelAverageLeadValueMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setHotelAverageLeadValueMicros($wrappedVar);
+ }
+
+ /**
+ * The creative historical quality score.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80;
+ * @return int
+ */
+ public function getHistoricalCreativeQualityScore()
+ {
+ return $this->historical_creative_quality_score;
+ }
+
+ /**
+ * The creative historical quality score.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80;
+ * @param int $var
+ * @return $this
+ */
+ public function setHistoricalCreativeQualityScore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+ $this->historical_creative_quality_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * The quality of historical landing page experience.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81;
+ * @return int
+ */
+ public function getHistoricalLandingPageQualityScore()
+ {
+ return $this->historical_landing_page_quality_score;
+ }
+
+ /**
+ * The quality of historical landing page experience.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81;
+ * @param int $var
+ * @return $this
+ */
+ public function setHistoricalLandingPageQualityScore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+ $this->historical_landing_page_quality_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * The historical quality score.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value historical_quality_score = 82;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getHistoricalQualityScore()
+ {
+ return $this->historical_quality_score;
+ }
+
+ /**
+ * Returns the unboxed value from getHistoricalQualityScore()
+
+ * The historical quality score.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value historical_quality_score = 82;
+ * @return int|string|null
+ */
+ public function getHistoricalQualityScoreUnwrapped()
+ {
+ $wrapper = $this->getHistoricalQualityScore();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The historical quality score.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value historical_quality_score = 82;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setHistoricalQualityScore($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->historical_quality_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The historical quality score.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value historical_quality_score = 82;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setHistoricalQualityScoreUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setHistoricalQualityScore($wrappedVar);
+ }
+
+ /**
+ * The historical search predicted click through rate (CTR).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83;
+ * @return int
+ */
+ public function getHistoricalSearchPredictedCtr()
+ {
+ return $this->historical_search_predicted_ctr;
+ }
+
+ /**
+ * The historical search predicted click through rate (CTR).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83;
+ * @param int $var
+ * @return $this
+ */
+ public function setHistoricalSearchPredictedCtr($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+ $this->historical_search_predicted_ctr = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of times the ad was forwarded to someone else as a message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_forwards = 85;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getGmailForwards()
+ {
+ return $this->gmail_forwards;
+ }
+
+ /**
+ * Returns the unboxed value from getGmailForwards()
+
+ * The number of times the ad was forwarded to someone else as a message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_forwards = 85;
+ * @return int|string|null
+ */
+ public function getGmailForwardsUnwrapped()
+ {
+ $wrapper = $this->getGmailForwards();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times the ad was forwarded to someone else as a message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_forwards = 85;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setGmailForwards($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->gmail_forwards = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times the ad was forwarded to someone else as a message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_forwards = 85;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setGmailForwardsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setGmailForwards($wrappedVar);
+ }
+
+ /**
+ * The number of times someone has saved your Gmail ad to their inbox as a
+ * message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_saves = 86;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getGmailSaves()
+ {
+ return $this->gmail_saves;
+ }
+
+ /**
+ * Returns the unboxed value from getGmailSaves()
+
+ * The number of times someone has saved your Gmail ad to their inbox as a
+ * message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_saves = 86;
+ * @return int|string|null
+ */
+ public function getGmailSavesUnwrapped()
+ {
+ $wrapper = $this->getGmailSaves();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times someone has saved your Gmail ad to their inbox as a
+ * message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_saves = 86;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setGmailSaves($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->gmail_saves = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times someone has saved your Gmail ad to their inbox as a
+ * message.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_saves = 86;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setGmailSavesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setGmailSaves($wrappedVar);
+ }
+
+ /**
+ * The number of clicks to the landing page on the expanded state of Gmail
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_secondary_clicks = 87;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getGmailSecondaryClicks()
+ {
+ return $this->gmail_secondary_clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getGmailSecondaryClicks()
+
+ * The number of clicks to the landing page on the expanded state of Gmail
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_secondary_clicks = 87;
+ * @return int|string|null
+ */
+ public function getGmailSecondaryClicksUnwrapped()
+ {
+ $wrapper = $this->getGmailSecondaryClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of clicks to the landing page on the expanded state of Gmail
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_secondary_clicks = 87;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setGmailSecondaryClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->gmail_secondary_clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of clicks to the landing page on the expanded state of Gmail
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value gmail_secondary_clicks = 87;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setGmailSecondaryClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setGmailSecondaryClicks($wrappedVar);
+ }
+
+ /**
+ * The number of times a store's location-based ad was shown.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions_from_store_reach = 125;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getImpressionsFromStoreReach()
+ {
+ return $this->impressions_from_store_reach;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressionsFromStoreReach()
+
+ * The number of times a store's location-based ad was shown.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions_from_store_reach = 125;
+ * @return int|string|null
+ */
+ public function getImpressionsFromStoreReachUnwrapped()
+ {
+ $wrapper = $this->getImpressionsFromStoreReach();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times a store's location-based ad was shown.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions_from_store_reach = 125;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setImpressionsFromStoreReach($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->impressions_from_store_reach = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times a store's location-based ad was shown.
+ * This metric applies to feed items only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions_from_store_reach = 125;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setImpressionsFromStoreReachUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setImpressionsFromStoreReach($wrappedVar);
+ }
+
+ /**
+ * Count of how often your ad has appeared on a search results page or
+ * website on the Google Network.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 37;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Count of how often your ad has appeared on a search results page or
+ * website on the Google Network.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 37;
+ * @return int|string|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Count of how often your ad has appeared on a search results page or
+ * website on the Google Network.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 37;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Count of how often your ad has appeared on a search results page or
+ * website on the Google Network.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 37;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * How often people interact with your ad after it is shown to them.
+ * This is the number of interactions divided by the number of times your ad
+ * is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue interaction_rate = 38;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getInteractionRate()
+ {
+ return $this->interaction_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getInteractionRate()
+
+ * How often people interact with your ad after it is shown to them.
+ * This is the number of interactions divided by the number of times your ad
+ * is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue interaction_rate = 38;
+ * @return float|null
+ */
+ public function getInteractionRateUnwrapped()
+ {
+ $wrapper = $this->getInteractionRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * How often people interact with your ad after it is shown to them.
+ * This is the number of interactions divided by the number of times your ad
+ * is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue interaction_rate = 38;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setInteractionRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->interaction_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * How often people interact with your ad after it is shown to them.
+ * This is the number of interactions divided by the number of times your ad
+ * is shown.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue interaction_rate = 38;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setInteractionRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setInteractionRate($wrappedVar);
+ }
+
+ /**
+ * The number of interactions.
+ * An interaction is the main user action associated with an ad format-clicks
+ * for text and shopping ads, views for video ads, and so on.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value interactions = 39;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getInteractions()
+ {
+ return $this->interactions;
+ }
+
+ /**
+ * Returns the unboxed value from getInteractions()
+
+ * The number of interactions.
+ * An interaction is the main user action associated with an ad format-clicks
+ * for text and shopping ads, views for video ads, and so on.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value interactions = 39;
+ * @return int|string|null
+ */
+ public function getInteractionsUnwrapped()
+ {
+ $wrapper = $this->getInteractions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of interactions.
+ * An interaction is the main user action associated with an ad format-clicks
+ * for text and shopping ads, views for video ads, and so on.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value interactions = 39;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setInteractions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->interactions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of interactions.
+ * An interaction is the main user action associated with an ad format-clicks
+ * for text and shopping ads, views for video ads, and so on.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value interactions = 39;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setInteractionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setInteractions($wrappedVar);
+ }
+
+ /**
+ * The types of payable and free interactions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getInteractionEventTypes()
+ {
+ return $this->interaction_event_types;
+ }
+
+ /**
+ * The types of payable and free interactions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setInteractionEventTypes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\InteractionEventTypeEnum\InteractionEventType::class);
+ $this->interaction_event_types = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The percentage of clicks filtered out of your total number of clicks
+ * (filtered + non-filtered clicks) during the reporting period.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue invalid_click_rate = 40;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getInvalidClickRate()
+ {
+ return $this->invalid_click_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getInvalidClickRate()
+
+ * The percentage of clicks filtered out of your total number of clicks
+ * (filtered + non-filtered clicks) during the reporting period.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue invalid_click_rate = 40;
+ * @return float|null
+ */
+ public function getInvalidClickRateUnwrapped()
+ {
+ $wrapper = $this->getInvalidClickRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percentage of clicks filtered out of your total number of clicks
+ * (filtered + non-filtered clicks) during the reporting period.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue invalid_click_rate = 40;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setInvalidClickRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->invalid_click_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percentage of clicks filtered out of your total number of clicks
+ * (filtered + non-filtered clicks) during the reporting period.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue invalid_click_rate = 40;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setInvalidClickRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setInvalidClickRate($wrappedVar);
+ }
+
+ /**
+ * Number of clicks Google considers illegitimate and doesn't charge you for.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value invalid_clicks = 41;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getInvalidClicks()
+ {
+ return $this->invalid_clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getInvalidClicks()
+
+ * Number of clicks Google considers illegitimate and doesn't charge you for.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value invalid_clicks = 41;
+ * @return int|string|null
+ */
+ public function getInvalidClicksUnwrapped()
+ {
+ $wrapper = $this->getInvalidClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of clicks Google considers illegitimate and doesn't charge you for.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value invalid_clicks = 41;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setInvalidClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->invalid_clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Number of clicks Google considers illegitimate and doesn't charge you for.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value invalid_clicks = 41;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setInvalidClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setInvalidClicks($wrappedVar);
+ }
+
+ /**
+ * Number of message chats initiated for Click To Message impressions that
+ * were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_chats = 126;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMessageChats()
+ {
+ return $this->message_chats;
+ }
+
+ /**
+ * Returns the unboxed value from getMessageChats()
+
+ * Number of message chats initiated for Click To Message impressions that
+ * were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_chats = 126;
+ * @return int|string|null
+ */
+ public function getMessageChatsUnwrapped()
+ {
+ $wrapper = $this->getMessageChats();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of message chats initiated for Click To Message impressions that
+ * were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_chats = 126;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMessageChats($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->message_chats = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Number of message chats initiated for Click To Message impressions that
+ * were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_chats = 126;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMessageChatsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMessageChats($wrappedVar);
+ }
+
+ /**
+ * Number of Click To Message impressions that were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_impressions = 127;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMessageImpressions()
+ {
+ return $this->message_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getMessageImpressions()
+
+ * Number of Click To Message impressions that were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_impressions = 127;
+ * @return int|string|null
+ */
+ public function getMessageImpressionsUnwrapped()
+ {
+ $wrapper = $this->getMessageImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of Click To Message impressions that were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_impressions = 127;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMessageImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->message_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Number of Click To Message impressions that were message tracking eligible.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value message_impressions = 127;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMessageImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMessageImpressions($wrappedVar);
+ }
+
+ /**
+ * Number of message chats initiated (message_chats) divided by the number
+ * of message impressions (message_impressions).
+ * Rate at which a user initiates a message chat from an ad impression with
+ * a messaging option and message tracking enabled.
+ * Note that this rate can be more than 1.0 for a given message impression.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue message_chat_rate = 128;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getMessageChatRate()
+ {
+ return $this->message_chat_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getMessageChatRate()
+
+ * Number of message chats initiated (message_chats) divided by the number
+ * of message impressions (message_impressions).
+ * Rate at which a user initiates a message chat from an ad impression with
+ * a messaging option and message tracking enabled.
+ * Note that this rate can be more than 1.0 for a given message impression.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue message_chat_rate = 128;
+ * @return float|null
+ */
+ public function getMessageChatRateUnwrapped()
+ {
+ $wrapper = $this->getMessageChatRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of message chats initiated (message_chats) divided by the number
+ * of message impressions (message_impressions).
+ * Rate at which a user initiates a message chat from an ad impression with
+ * a messaging option and message tracking enabled.
+ * Note that this rate can be more than 1.0 for a given message impression.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue message_chat_rate = 128;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setMessageChatRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->message_chat_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number of message chats initiated (message_chats) divided by the number
+ * of message impressions (message_impressions).
+ * Rate at which a user initiates a message chat from an ad impression with
+ * a messaging option and message tracking enabled.
+ * Note that this rate can be more than 1.0 for a given message impression.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue message_chat_rate = 128;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setMessageChatRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setMessageChatRate($wrappedVar);
+ }
+
+ /**
+ * The percentage of mobile clicks that go to a mobile-friendly page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getMobileFriendlyClicksPercentage()
+ {
+ return $this->mobile_friendly_clicks_percentage;
+ }
+
+ /**
+ * Returns the unboxed value from getMobileFriendlyClicksPercentage()
+
+ * The percentage of mobile clicks that go to a mobile-friendly page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109;
+ * @return float|null
+ */
+ public function getMobileFriendlyClicksPercentageUnwrapped()
+ {
+ $wrapper = $this->getMobileFriendlyClicksPercentage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percentage of mobile clicks that go to a mobile-friendly page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setMobileFriendlyClicksPercentage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->mobile_friendly_clicks_percentage = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percentage of mobile clicks that go to a mobile-friendly page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setMobileFriendlyClicksPercentageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setMobileFriendlyClicksPercentage($wrappedVar);
+ }
+
+ /**
+ * The number of times someone clicked your site's listing in the unpaid
+ * results for a particular query. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_clicks = 110;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getOrganicClicks()
+ {
+ return $this->organic_clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getOrganicClicks()
+
+ * The number of times someone clicked your site's listing in the unpaid
+ * results for a particular query. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_clicks = 110;
+ * @return int|string|null
+ */
+ public function getOrganicClicksUnwrapped()
+ {
+ $wrapper = $this->getOrganicClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times someone clicked your site's listing in the unpaid
+ * results for a particular query. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_clicks = 110;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setOrganicClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->organic_clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times someone clicked your site's listing in the unpaid
+ * results for a particular query. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_clicks = 110;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setOrganicClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setOrganicClicks($wrappedVar);
+ }
+
+ /**
+ * The number of times someone clicked your site's listing in the unpaid
+ * results (organic_clicks) divided by the total number of searches that
+ * returned pages from your site (organic_queries). See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_clicks_per_query = 111;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getOrganicClicksPerQuery()
+ {
+ return $this->organic_clicks_per_query;
+ }
+
+ /**
+ * Returns the unboxed value from getOrganicClicksPerQuery()
+
+ * The number of times someone clicked your site's listing in the unpaid
+ * results (organic_clicks) divided by the total number of searches that
+ * returned pages from your site (organic_queries). See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_clicks_per_query = 111;
+ * @return float|null
+ */
+ public function getOrganicClicksPerQueryUnwrapped()
+ {
+ $wrapper = $this->getOrganicClicksPerQuery();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times someone clicked your site's listing in the unpaid
+ * results (organic_clicks) divided by the total number of searches that
+ * returned pages from your site (organic_queries). See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_clicks_per_query = 111;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setOrganicClicksPerQuery($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->organic_clicks_per_query = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times someone clicked your site's listing in the unpaid
+ * results (organic_clicks) divided by the total number of searches that
+ * returned pages from your site (organic_queries). See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_clicks_per_query = 111;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setOrganicClicksPerQueryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setOrganicClicksPerQuery($wrappedVar);
+ }
+
+ /**
+ * The number of listings for your site in the unpaid search results. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_impressions = 112;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getOrganicImpressions()
+ {
+ return $this->organic_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getOrganicImpressions()
+
+ * The number of listings for your site in the unpaid search results. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_impressions = 112;
+ * @return int|string|null
+ */
+ public function getOrganicImpressionsUnwrapped()
+ {
+ $wrapper = $this->getOrganicImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of listings for your site in the unpaid search results. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_impressions = 112;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setOrganicImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->organic_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of listings for your site in the unpaid search results. See the
+ * help page at https://support.google.com/google-ads/answer/3097241 for
+ * details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_impressions = 112;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setOrganicImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setOrganicImpressions($wrappedVar);
+ }
+
+ /**
+ * The number of times a page from your site was listed in the unpaid search
+ * results (organic_impressions) divided by the number of searches returning
+ * your site's listing in the unpaid results (organic_queries). See the help
+ * page at https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_impressions_per_query = 113;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getOrganicImpressionsPerQuery()
+ {
+ return $this->organic_impressions_per_query;
+ }
+
+ /**
+ * Returns the unboxed value from getOrganicImpressionsPerQuery()
+
+ * The number of times a page from your site was listed in the unpaid search
+ * results (organic_impressions) divided by the number of searches returning
+ * your site's listing in the unpaid results (organic_queries). See the help
+ * page at https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_impressions_per_query = 113;
+ * @return float|null
+ */
+ public function getOrganicImpressionsPerQueryUnwrapped()
+ {
+ $wrapper = $this->getOrganicImpressionsPerQuery();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times a page from your site was listed in the unpaid search
+ * results (organic_impressions) divided by the number of searches returning
+ * your site's listing in the unpaid results (organic_queries). See the help
+ * page at https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_impressions_per_query = 113;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setOrganicImpressionsPerQuery($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->organic_impressions_per_query = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of times a page from your site was listed in the unpaid search
+ * results (organic_impressions) divided by the number of searches returning
+ * your site's listing in the unpaid results (organic_queries). See the help
+ * page at https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue organic_impressions_per_query = 113;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setOrganicImpressionsPerQueryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setOrganicImpressionsPerQuery($wrappedVar);
+ }
+
+ /**
+ * The total number of searches that returned your site's listing in the
+ * unpaid results. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_queries = 114;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getOrganicQueries()
+ {
+ return $this->organic_queries;
+ }
+
+ /**
+ * Returns the unboxed value from getOrganicQueries()
+
+ * The total number of searches that returned your site's listing in the
+ * unpaid results. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_queries = 114;
+ * @return int|string|null
+ */
+ public function getOrganicQueriesUnwrapped()
+ {
+ $wrapper = $this->getOrganicQueries();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total number of searches that returned your site's listing in the
+ * unpaid results. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_queries = 114;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setOrganicQueries($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->organic_queries = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The total number of searches that returned your site's listing in the
+ * unpaid results. See the help page at
+ * https://support.google.com/google-ads/answer/3097241 for details.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value organic_queries = 114;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setOrganicQueriesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setOrganicQueries($wrappedVar);
+ }
+
+ /**
+ * Percentage of first-time sessions (from people who had never visited your
+ * site before). Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue percent_new_visitors = 42;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getPercentNewVisitors()
+ {
+ return $this->percent_new_visitors;
+ }
+
+ /**
+ * Returns the unboxed value from getPercentNewVisitors()
+
+ * Percentage of first-time sessions (from people who had never visited your
+ * site before). Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue percent_new_visitors = 42;
+ * @return float|null
+ */
+ public function getPercentNewVisitorsUnwrapped()
+ {
+ $wrapper = $this->getPercentNewVisitors();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage of first-time sessions (from people who had never visited your
+ * site before). Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue percent_new_visitors = 42;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setPercentNewVisitors($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->percent_new_visitors = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Percentage of first-time sessions (from people who had never visited your
+ * site before). Imported from Google Analytics.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue percent_new_visitors = 42;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setPercentNewVisitorsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setPercentNewVisitors($wrappedVar);
+ }
+
+ /**
+ * Number of offline phone calls.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_calls = 43;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPhoneCalls()
+ {
+ return $this->phone_calls;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneCalls()
+
+ * Number of offline phone calls.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_calls = 43;
+ * @return int|string|null
+ */
+ public function getPhoneCallsUnwrapped()
+ {
+ $wrapper = $this->getPhoneCalls();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of offline phone calls.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_calls = 43;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPhoneCalls($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->phone_calls = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Number of offline phone calls.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_calls = 43;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPhoneCallsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPhoneCalls($wrappedVar);
+ }
+
+ /**
+ * Number of offline phone impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_impressions = 44;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPhoneImpressions()
+ {
+ return $this->phone_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneImpressions()
+
+ * Number of offline phone impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_impressions = 44;
+ * @return int|string|null
+ */
+ public function getPhoneImpressionsUnwrapped()
+ {
+ $wrapper = $this->getPhoneImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of offline phone impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_impressions = 44;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPhoneImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->phone_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Number of offline phone impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_impressions = 44;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPhoneImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPhoneImpressions($wrappedVar);
+ }
+
+ /**
+ * Number of phone calls received (phone_calls) divided by the number of
+ * times your phone number is shown (phone_impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue phone_through_rate = 45;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getPhoneThroughRate()
+ {
+ return $this->phone_through_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneThroughRate()
+
+ * Number of phone calls received (phone_calls) divided by the number of
+ * times your phone number is shown (phone_impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue phone_through_rate = 45;
+ * @return float|null
+ */
+ public function getPhoneThroughRateUnwrapped()
+ {
+ $wrapper = $this->getPhoneThroughRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of phone calls received (phone_calls) divided by the number of
+ * times your phone number is shown (phone_impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue phone_through_rate = 45;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setPhoneThroughRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->phone_through_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number of phone calls received (phone_calls) divided by the number of
+ * times your phone number is shown (phone_impressions).
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue phone_through_rate = 45;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setPhoneThroughRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setPhoneThroughRate($wrappedVar);
+ }
+
+ /**
+ * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ * all advertisers on the websites that show your ads. Measures how your ads
+ * perform on Display Network sites compared to other ads on the same sites.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue relative_ctr = 46;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getRelativeCtr()
+ {
+ return $this->relative_ctr;
+ }
+
+ /**
+ * Returns the unboxed value from getRelativeCtr()
+
+ * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ * all advertisers on the websites that show your ads. Measures how your ads
+ * perform on Display Network sites compared to other ads on the same sites.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue relative_ctr = 46;
+ * @return float|null
+ */
+ public function getRelativeCtrUnwrapped()
+ {
+ $wrapper = $this->getRelativeCtr();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ * all advertisers on the websites that show your ads. Measures how your ads
+ * perform on Display Network sites compared to other ads on the same sites.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue relative_ctr = 46;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setRelativeCtr($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->relative_ctr = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ * all advertisers on the websites that show your ads. Measures how your ads
+ * perform on Display Network sites compared to other ads on the same sites.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue relative_ctr = 46;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setRelativeCtrUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setRelativeCtr($wrappedVar);
+ }
+
+ /**
+ * The percentage of the customer's Shopping or Search ad impressions that are
+ * shown in the most prominent Shopping position. See
+ * [this article](https://support.google.com/google-ads/answer/7501826)
+ * for details. Any value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_absolute_top_impression_share = 78;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchAbsoluteTopImpressionShare()
+ {
+ return $this->search_absolute_top_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchAbsoluteTopImpressionShare()
+
+ * The percentage of the customer's Shopping or Search ad impressions that are
+ * shown in the most prominent Shopping position. See
+ * [this article](https://support.google.com/google-ads/answer/7501826)
+ * for details. Any value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_absolute_top_impression_share = 78;
+ * @return float|null
+ */
+ public function getSearchAbsoluteTopImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchAbsoluteTopImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percentage of the customer's Shopping or Search ad impressions that are
+ * shown in the most prominent Shopping position. See
+ * [this article](https://support.google.com/google-ads/answer/7501826)
+ * for details. Any value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_absolute_top_impression_share = 78;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchAbsoluteTopImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_absolute_top_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percentage of the customer's Shopping or Search ad impressions that are
+ * shown in the most prominent Shopping position. See
+ * [this article](https://support.google.com/google-ads/answer/7501826)
+ * for details. Any value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_absolute_top_impression_share = 78;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchAbsoluteTopImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchAbsoluteTopImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost absolute top impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = 88;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchBudgetLostAbsoluteTopImpressionShare()
+ {
+ return $this->search_budget_lost_absolute_top_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchBudgetLostAbsoluteTopImpressionShare()
+
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost absolute top impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = 88;
+ * @return float|null
+ */
+ public function getSearchBudgetLostAbsoluteTopImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchBudgetLostAbsoluteTopImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost absolute top impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = 88;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchBudgetLostAbsoluteTopImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_budget_lost_absolute_top_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost absolute top impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = 88;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchBudgetLostAbsoluteTopImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchBudgetLostAbsoluteTopImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The estimated percent of times that your ad was eligible to show on the
+ * Search Network but didn't because your budget was too low. Note: Search
+ * budget lost impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_impression_share = 47;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchBudgetLostImpressionShare()
+ {
+ return $this->search_budget_lost_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchBudgetLostImpressionShare()
+
+ * The estimated percent of times that your ad was eligible to show on the
+ * Search Network but didn't because your budget was too low. Note: Search
+ * budget lost impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_impression_share = 47;
+ * @return float|null
+ */
+ public function getSearchBudgetLostImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchBudgetLostImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated percent of times that your ad was eligible to show on the
+ * Search Network but didn't because your budget was too low. Note: Search
+ * budget lost impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_impression_share = 47;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchBudgetLostImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_budget_lost_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The estimated percent of times that your ad was eligible to show on the
+ * Search Network but didn't because your budget was too low. Note: Search
+ * budget lost impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_impression_share = 47;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchBudgetLostImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchBudgetLostImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost top impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchBudgetLostTopImpressionShare()
+ {
+ return $this->search_budget_lost_top_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchBudgetLostTopImpressionShare()
+
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost top impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89;
+ * @return float|null
+ */
+ public function getSearchBudgetLostTopImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchBudgetLostTopImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost top impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchBudgetLostTopImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_budget_lost_top_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to a low budget. Note: Search
+ * budget lost top impression share is reported in the range of 0 to 0.9. Any
+ * value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchBudgetLostTopImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchBudgetLostTopImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The number of clicks you've received on the Search Network
+ * divided by the estimated number of clicks you were eligible to receive.
+ * Note: Search click share is reported in the range of 0.1 to 1. Any value
+ * below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_click_share = 48;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchClickShare()
+ {
+ return $this->search_click_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchClickShare()
+
+ * The number of clicks you've received on the Search Network
+ * divided by the estimated number of clicks you were eligible to receive.
+ * Note: Search click share is reported in the range of 0.1 to 1. Any value
+ * below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_click_share = 48;
+ * @return float|null
+ */
+ public function getSearchClickShareUnwrapped()
+ {
+ $wrapper = $this->getSearchClickShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of clicks you've received on the Search Network
+ * divided by the estimated number of clicks you were eligible to receive.
+ * Note: Search click share is reported in the range of 0.1 to 1. Any value
+ * below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_click_share = 48;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchClickShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_click_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of clicks you've received on the Search Network
+ * divided by the estimated number of clicks you were eligible to receive.
+ * Note: Search click share is reported in the range of 0.1 to 1. Any value
+ * below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_click_share = 48;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchClickShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchClickShare($wrappedVar);
+ }
+
+ /**
+ * The impressions you've received divided by the estimated number of
+ * impressions you were eligible to receive on the Search Network for search
+ * terms that matched your keywords exactly (or were close variants of your
+ * keyword), regardless of your keyword match types. Note: Search exact match
+ * impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ * is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_exact_match_impression_share = 49;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchExactMatchImpressionShare()
+ {
+ return $this->search_exact_match_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchExactMatchImpressionShare()
+
+ * The impressions you've received divided by the estimated number of
+ * impressions you were eligible to receive on the Search Network for search
+ * terms that matched your keywords exactly (or were close variants of your
+ * keyword), regardless of your keyword match types. Note: Search exact match
+ * impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ * is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_exact_match_impression_share = 49;
+ * @return float|null
+ */
+ public function getSearchExactMatchImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchExactMatchImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The impressions you've received divided by the estimated number of
+ * impressions you were eligible to receive on the Search Network for search
+ * terms that matched your keywords exactly (or were close variants of your
+ * keyword), regardless of your keyword match types. Note: Search exact match
+ * impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ * is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_exact_match_impression_share = 49;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchExactMatchImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_exact_match_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The impressions you've received divided by the estimated number of
+ * impressions you were eligible to receive on the Search Network for search
+ * terms that matched your keywords exactly (or were close variants of your
+ * keyword), regardless of your keyword match types. Note: Search exact match
+ * impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ * is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_exact_match_impression_share = 49;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchExactMatchImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchExactMatchImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The impressions you've received on the Search Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Search impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_impression_share = 50;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchImpressionShare()
+ {
+ return $this->search_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchImpressionShare()
+
+ * The impressions you've received on the Search Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Search impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_impression_share = 50;
+ * @return float|null
+ */
+ public function getSearchImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The impressions you've received on the Search Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Search impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_impression_share = 50;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The impressions you've received on the Search Network divided
+ * by the estimated number of impressions you were eligible to receive.
+ * Note: Search impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_impression_share = 50;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost absolute top impression share is reported in the
+ * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = 90;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchRankLostAbsoluteTopImpressionShare()
+ {
+ return $this->search_rank_lost_absolute_top_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchRankLostAbsoluteTopImpressionShare()
+
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost absolute top impression share is reported in the
+ * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = 90;
+ * @return float|null
+ */
+ public function getSearchRankLostAbsoluteTopImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchRankLostAbsoluteTopImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost absolute top impression share is reported in the
+ * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = 90;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchRankLostAbsoluteTopImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_rank_lost_absolute_top_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number estimating how often your ad wasn't the very first ad above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost absolute top impression share is reported in the
+ * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = 90;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchRankLostAbsoluteTopImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchRankLostAbsoluteTopImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The estimated percentage of impressions on the Search Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Search rank lost impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_impression_share = 51;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchRankLostImpressionShare()
+ {
+ return $this->search_rank_lost_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchRankLostImpressionShare()
+
+ * The estimated percentage of impressions on the Search Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Search rank lost impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_impression_share = 51;
+ * @return float|null
+ */
+ public function getSearchRankLostImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchRankLostImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated percentage of impressions on the Search Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Search rank lost impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_impression_share = 51;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchRankLostImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_rank_lost_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The estimated percentage of impressions on the Search Network
+ * that your ads didn't receive due to poor Ad Rank.
+ * Note: Search rank lost impression share is reported in the range of 0 to
+ * 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_impression_share = 51;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchRankLostImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchRankLostImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost top impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchRankLostTopImpressionShare()
+ {
+ return $this->search_rank_lost_top_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchRankLostTopImpressionShare()
+
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost top impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91;
+ * @return float|null
+ */
+ public function getSearchRankLostTopImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchRankLostTopImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost top impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchRankLostTopImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_rank_lost_top_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number estimating how often your ad didn't show anywhere above the
+ * organic search results due to poor Ad Rank.
+ * Note: Search rank lost top impression share is reported in the range of 0
+ * to 0.9. Any value above 0.9 is reported as 0.9001.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchRankLostTopImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchRankLostTopImpressionShare($wrappedVar);
+ }
+
+ /**
+ * The impressions you've received in the top location (anywhere above the
+ * organic search results) compared to the estimated number of impressions you
+ * were eligible to receive in the top location.
+ * Note: Search top impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_top_impression_share = 92;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getSearchTopImpressionShare()
+ {
+ return $this->search_top_impression_share;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchTopImpressionShare()
+
+ * The impressions you've received in the top location (anywhere above the
+ * organic search results) compared to the estimated number of impressions you
+ * were eligible to receive in the top location.
+ * Note: Search top impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_top_impression_share = 92;
+ * @return float|null
+ */
+ public function getSearchTopImpressionShareUnwrapped()
+ {
+ $wrapper = $this->getSearchTopImpressionShare();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The impressions you've received in the top location (anywhere above the
+ * organic search results) compared to the estimated number of impressions you
+ * were eligible to receive in the top location.
+ * Note: Search top impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_top_impression_share = 92;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setSearchTopImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->search_top_impression_share = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The impressions you've received in the top location (anywhere above the
+ * organic search results) compared to the estimated number of impressions you
+ * were eligible to receive in the top location.
+ * Note: Search top impression share is reported in the range of 0.1 to 1. Any
+ * value below 0.1 is reported as 0.0999.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue search_top_impression_share = 92;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setSearchTopImpressionShareUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setSearchTopImpressionShare($wrappedVar);
+ }
+
+ /**
+ * A measure of how quickly your page loads after clicks on your mobile ads.
+ * The score is a range from 1 to 10, 10 being the fastest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value speed_score = 107;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getSpeedScore()
+ {
+ return $this->speed_score;
+ }
+
+ /**
+ * Returns the unboxed value from getSpeedScore()
+
+ * A measure of how quickly your page loads after clicks on your mobile ads.
+ * The score is a range from 1 to 10, 10 being the fastest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value speed_score = 107;
+ * @return int|string|null
+ */
+ public function getSpeedScoreUnwrapped()
+ {
+ $wrapper = $this->getSpeedScore();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A measure of how quickly your page loads after clicks on your mobile ads.
+ * The score is a range from 1 to 10, 10 being the fastest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value speed_score = 107;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setSpeedScore($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->speed_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * A measure of how quickly your page loads after clicks on your mobile ads.
+ * The score is a range from 1 to 10, 10 being the fastest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value speed_score = 107;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setSpeedScoreUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setSpeedScore($wrappedVar);
+ }
+
+ /**
+ * The percent of your ad impressions that are shown anywhere above the
+ * organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue top_impression_percentage = 93;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getTopImpressionPercentage()
+ {
+ return $this->top_impression_percentage;
+ }
+
+ /**
+ * Returns the unboxed value from getTopImpressionPercentage()
+
+ * The percent of your ad impressions that are shown anywhere above the
+ * organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue top_impression_percentage = 93;
+ * @return float|null
+ */
+ public function getTopImpressionPercentageUnwrapped()
+ {
+ $wrapper = $this->getTopImpressionPercentage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percent of your ad impressions that are shown anywhere above the
+ * organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue top_impression_percentage = 93;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setTopImpressionPercentage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->top_impression_percentage = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percent of your ad impressions that are shown anywhere above the
+ * organic search results.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue top_impression_percentage = 93;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setTopImpressionPercentageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setTopImpressionPercentage($wrappedVar);
+ }
+
+ /**
+ * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
+ * that reach a valid AMP page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = 108;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getValidAcceleratedMobilePagesClicksPercentage()
+ {
+ return $this->valid_accelerated_mobile_pages_clicks_percentage;
+ }
+
+ /**
+ * Returns the unboxed value from getValidAcceleratedMobilePagesClicksPercentage()
+
+ * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
+ * that reach a valid AMP page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = 108;
+ * @return float|null
+ */
+ public function getValidAcceleratedMobilePagesClicksPercentageUnwrapped()
+ {
+ $wrapper = $this->getValidAcceleratedMobilePagesClicksPercentage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
+ * that reach a valid AMP page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = 108;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setValidAcceleratedMobilePagesClicksPercentage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->valid_accelerated_mobile_pages_clicks_percentage = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
+ * that reach a valid AMP page.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = 108;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setValidAcceleratedMobilePagesClicksPercentageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setValidAcceleratedMobilePagesClicksPercentage($wrappedVar);
+ }
+
+ /**
+ * The value of all conversions divided by the number of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_all_conversions = 52;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getValuePerAllConversions()
+ {
+ return $this->value_per_all_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getValuePerAllConversions()
+
+ * The value of all conversions divided by the number of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_all_conversions = 52;
+ * @return float|null
+ */
+ public function getValuePerAllConversionsUnwrapped()
+ {
+ $wrapper = $this->getValuePerAllConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of all conversions divided by the number of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_all_conversions = 52;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setValuePerAllConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->value_per_all_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of all conversions divided by the number of all conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_all_conversions = 52;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setValuePerAllConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setValuePerAllConversions($wrappedVar);
+ }
+
+ /**
+ * The value of conversions divided by the number of conversions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_conversion = 53;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getValuePerConversion()
+ {
+ return $this->value_per_conversion;
+ }
+
+ /**
+ * Returns the unboxed value from getValuePerConversion()
+
+ * The value of conversions divided by the number of conversions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_conversion = 53;
+ * @return float|null
+ */
+ public function getValuePerConversionUnwrapped()
+ {
+ $wrapper = $this->getValuePerConversion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of conversions divided by the number of conversions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_conversion = 53;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setValuePerConversion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->value_per_conversion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of conversions divided by the number of conversions. This only
+ * includes conversion actions which include_in_conversions_metric attribute
+ * is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_conversion = 53;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setValuePerConversionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setValuePerConversion($wrappedVar);
+ }
+
+ /**
+ * The value of current model attributed conversions divided by the number of
+ * the conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getValuePerCurrentModelAttributedConversion()
+ {
+ return $this->value_per_current_model_attributed_conversion;
+ }
+
+ /**
+ * Returns the unboxed value from getValuePerCurrentModelAttributedConversion()
+
+ * The value of current model attributed conversions divided by the number of
+ * the conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94;
+ * @return float|null
+ */
+ public function getValuePerCurrentModelAttributedConversionUnwrapped()
+ {
+ $wrapper = $this->getValuePerCurrentModelAttributedConversion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of current model attributed conversions divided by the number of
+ * the conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setValuePerCurrentModelAttributedConversion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->value_per_current_model_attributed_conversion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of current model attributed conversions divided by the number of
+ * the conversions. This only includes conversion actions which
+ * include_in_conversions_metric attribute is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setValuePerCurrentModelAttributedConversionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setValuePerCurrentModelAttributedConversion($wrappedVar);
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched all of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_100_rate = 54;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getVideoQuartile100Rate()
+ {
+ return $this->video_quartile_100_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoQuartile100Rate()
+
+ * Percentage of impressions where the viewer watched all of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_100_rate = 54;
+ * @return float|null
+ */
+ public function getVideoQuartile100RateUnwrapped()
+ {
+ $wrapper = $this->getVideoQuartile100Rate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched all of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_100_rate = 54;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setVideoQuartile100Rate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->video_quartile_100_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Percentage of impressions where the viewer watched all of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_100_rate = 54;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setVideoQuartile100RateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setVideoQuartile100Rate($wrappedVar);
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched 25% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_25_rate = 55;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getVideoQuartile25Rate()
+ {
+ return $this->video_quartile_25_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoQuartile25Rate()
+
+ * Percentage of impressions where the viewer watched 25% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_25_rate = 55;
+ * @return float|null
+ */
+ public function getVideoQuartile25RateUnwrapped()
+ {
+ $wrapper = $this->getVideoQuartile25Rate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched 25% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_25_rate = 55;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setVideoQuartile25Rate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->video_quartile_25_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Percentage of impressions where the viewer watched 25% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_25_rate = 55;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setVideoQuartile25RateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setVideoQuartile25Rate($wrappedVar);
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched 50% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_50_rate = 56;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getVideoQuartile50Rate()
+ {
+ return $this->video_quartile_50_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoQuartile50Rate()
+
+ * Percentage of impressions where the viewer watched 50% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_50_rate = 56;
+ * @return float|null
+ */
+ public function getVideoQuartile50RateUnwrapped()
+ {
+ $wrapper = $this->getVideoQuartile50Rate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched 50% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_50_rate = 56;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setVideoQuartile50Rate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->video_quartile_50_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Percentage of impressions where the viewer watched 50% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_50_rate = 56;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setVideoQuartile50RateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setVideoQuartile50Rate($wrappedVar);
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched 75% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_75_rate = 57;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getVideoQuartile75Rate()
+ {
+ return $this->video_quartile_75_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoQuartile75Rate()
+
+ * Percentage of impressions where the viewer watched 75% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_75_rate = 57;
+ * @return float|null
+ */
+ public function getVideoQuartile75RateUnwrapped()
+ {
+ $wrapper = $this->getVideoQuartile75Rate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage of impressions where the viewer watched 75% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_75_rate = 57;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setVideoQuartile75Rate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->video_quartile_75_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Percentage of impressions where the viewer watched 75% of your video.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_quartile_75_rate = 57;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setVideoQuartile75RateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setVideoQuartile75Rate($wrappedVar);
+ }
+
+ /**
+ * The number of views your TrueView video ad receives divided by its number
+ * of impressions, including thumbnail impressions for TrueView in-display
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_view_rate = 58;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getVideoViewRate()
+ {
+ return $this->video_view_rate;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoViewRate()
+
+ * The number of views your TrueView video ad receives divided by its number
+ * of impressions, including thumbnail impressions for TrueView in-display
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_view_rate = 58;
+ * @return float|null
+ */
+ public function getVideoViewRateUnwrapped()
+ {
+ $wrapper = $this->getVideoViewRate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of views your TrueView video ad receives divided by its number
+ * of impressions, including thumbnail impressions for TrueView in-display
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_view_rate = 58;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setVideoViewRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->video_view_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The number of views your TrueView video ad receives divided by its number
+ * of impressions, including thumbnail impressions for TrueView in-display
+ * ads.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_view_rate = 58;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setVideoViewRateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setVideoViewRate($wrappedVar);
+ }
+
+ /**
+ * The number of times your video ads were viewed.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value video_views = 59;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getVideoViews()
+ {
+ return $this->video_views;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoViews()
+
+ * The number of times your video ads were viewed.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value video_views = 59;
+ * @return int|string|null
+ */
+ public function getVideoViewsUnwrapped()
+ {
+ $wrapper = $this->getVideoViews();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of times your video ads were viewed.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value video_views = 59;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setVideoViews($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->video_views = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of times your video ads were viewed.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value video_views = 59;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setVideoViewsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setVideoViews($wrappedVar);
+ }
+
+ /**
+ * The total number of view-through conversions.
+ * These happen when a customer sees an image or rich media ad, then later
+ * completes a conversion on your site without interacting with (e.g.,
+ * clicking on) another ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_conversions = 60;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getViewThroughConversions()
+ {
+ return $this->view_through_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getViewThroughConversions()
+
+ * The total number of view-through conversions.
+ * These happen when a customer sees an image or rich media ad, then later
+ * completes a conversion on your site without interacting with (e.g.,
+ * clicking on) another ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_conversions = 60;
+ * @return int|string|null
+ */
+ public function getViewThroughConversionsUnwrapped()
+ {
+ $wrapper = $this->getViewThroughConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total number of view-through conversions.
+ * These happen when a customer sees an image or rich media ad, then later
+ * completes a conversion on your site without interacting with (e.g.,
+ * clicking on) another ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_conversions = 60;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setViewThroughConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->view_through_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The total number of view-through conversions.
+ * These happen when a customer sees an image or rich media ad, then later
+ * completes a conversion on your site without interacting with (e.g.,
+ * clicking on) another ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_conversions = 60;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setViewThroughConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setViewThroughConversions($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MobileAppCategoryInfo.php b/src/Google/Ads/GoogleAds/V2/Common/MobileAppCategoryInfo.php
new file mode 100644
index 000000000..137ccc729
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MobileAppCategoryInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.MobileAppCategoryInfo
+ */
+final class MobileAppCategoryInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The mobile app category constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_app_category_constant = 1;
+ */
+ private $mobile_app_category_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $mobile_app_category_constant
+ * The mobile app category constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The mobile app category constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_app_category_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMobileAppCategoryConstant()
+ {
+ return $this->mobile_app_category_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getMobileAppCategoryConstant()
+
+ * The mobile app category constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_app_category_constant = 1;
+ * @return string|null
+ */
+ public function getMobileAppCategoryConstantUnwrapped()
+ {
+ $wrapper = $this->getMobileAppCategoryConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The mobile app category constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_app_category_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMobileAppCategoryConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->mobile_app_category_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The mobile app category constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_app_category_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMobileAppCategoryConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMobileAppCategoryConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MobileApplicationInfo.php b/src/Google/Ads/GoogleAds/V2/Common/MobileApplicationInfo.php
new file mode 100644
index 000000000..27bd651d5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MobileApplicationInfo.php
@@ -0,0 +1,237 @@
+google.ads.googleads.v2.common.MobileApplicationInfo
+ */
+final class MobileApplicationInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A string that uniquely identifies a mobile application to Google Ads API.
+ * The format of this string is "{platform}-{platform_native_id}", where
+ * platform is "1" for iOS apps and "2" for Android apps, and where
+ * platform_native_id is the mobile application identifier native to the
+ * corresponding platform.
+ * For iOS, this native identifier is the 9 digit string that appears at the
+ * end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App
+ * Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, this native identifier is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * A well formed app id for Google Ads API would thus be "1-476943146" for iOS
+ * and "2-com.labpixies.colordrips" for Android.
+ * This field is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ */
+ private $app_id = null;
+ /**
+ * Name of this mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $app_id
+ * A string that uniquely identifies a mobile application to Google Ads API.
+ * The format of this string is "{platform}-{platform_native_id}", where
+ * platform is "1" for iOS apps and "2" for Android apps, and where
+ * platform_native_id is the mobile application identifier native to the
+ * corresponding platform.
+ * For iOS, this native identifier is the 9 digit string that appears at the
+ * end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App
+ * Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, this native identifier is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * A well formed app id for Google Ads API would thus be "1-476943146" for iOS
+ * and "2-com.labpixies.colordrips" for Android.
+ * This field is required and must be set in CREATE operations.
+ * @type \Google\Protobuf\StringValue $name
+ * Name of this mobile application.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A string that uniquely identifies a mobile application to Google Ads API.
+ * The format of this string is "{platform}-{platform_native_id}", where
+ * platform is "1" for iOS apps and "2" for Android apps, and where
+ * platform_native_id is the mobile application identifier native to the
+ * corresponding platform.
+ * For iOS, this native identifier is the 9 digit string that appears at the
+ * end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App
+ * Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, this native identifier is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * A well formed app id for Google Ads API would thus be "1-476943146" for iOS
+ * and "2-com.labpixies.colordrips" for Android.
+ * This field is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAppId()
+ {
+ return $this->app_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAppId()
+
+ * A string that uniquely identifies a mobile application to Google Ads API.
+ * The format of this string is "{platform}-{platform_native_id}", where
+ * platform is "1" for iOS apps and "2" for Android apps, and where
+ * platform_native_id is the mobile application identifier native to the
+ * corresponding platform.
+ * For iOS, this native identifier is the 9 digit string that appears at the
+ * end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App
+ * Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, this native identifier is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * A well formed app id for Google Ads API would thus be "1-476943146" for iOS
+ * and "2-com.labpixies.colordrips" for Android.
+ * This field is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @return string|null
+ */
+ public function getAppIdUnwrapped()
+ {
+ $wrapper = $this->getAppId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A string that uniquely identifies a mobile application to Google Ads API.
+ * The format of this string is "{platform}-{platform_native_id}", where
+ * platform is "1" for iOS apps and "2" for Android apps, and where
+ * platform_native_id is the mobile application identifier native to the
+ * corresponding platform.
+ * For iOS, this native identifier is the 9 digit string that appears at the
+ * end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App
+ * Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, this native identifier is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * A well formed app id for Google Ads API would thus be "1-476943146" for iOS
+ * and "2-com.labpixies.colordrips" for Android.
+ * This field is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAppId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->app_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A string that uniquely identifies a mobile application to Google Ads API.
+ * The format of this string is "{platform}-{platform_native_id}", where
+ * platform is "1" for iOS apps and "2" for Android apps, and where
+ * platform_native_id is the mobile application identifier native to the
+ * corresponding platform.
+ * For iOS, this native identifier is the 9 digit string that appears at the
+ * end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App
+ * Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ * For Android, this native identifier is the application's package name
+ * (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ * https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ * A well formed app id for Google Ads API would thus be "1-476943146" for iOS
+ * and "2-com.labpixies.colordrips" for Android.
+ * This field is required and must be set in CREATE operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAppIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAppId($wrappedVar);
+ }
+
+ /**
+ * Name of this mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Name of this mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of this mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of this mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/MobileDeviceInfo.php b/src/Google/Ads/GoogleAds/V2/Common/MobileDeviceInfo.php
new file mode 100644
index 000000000..ddd7ab40a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/MobileDeviceInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.MobileDeviceInfo
+ */
+final class MobileDeviceInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The mobile device constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_device_constant = 1;
+ */
+ private $mobile_device_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $mobile_device_constant
+ * The mobile device constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The mobile device constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_device_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMobileDeviceConstant()
+ {
+ return $this->mobile_device_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getMobileDeviceConstant()
+
+ * The mobile device constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_device_constant = 1;
+ * @return string|null
+ */
+ public function getMobileDeviceConstantUnwrapped()
+ {
+ $wrapper = $this->getMobileDeviceConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The mobile device constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_device_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMobileDeviceConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->mobile_device_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The mobile device constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue mobile_device_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMobileDeviceConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMobileDeviceConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Money.php b/src/Google/Ads/GoogleAds/V2/Common/Money.php
new file mode 100644
index 000000000..1fb7560c6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Money.php
@@ -0,0 +1,159 @@
+google.ads.googleads.v2.common.Money
+ */
+final class Money extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Three-character ISO 4217 currency code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 1;
+ */
+ private $currency_code = null;
+ /**
+ * Amount in micros. One million is equivalent to one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 2;
+ */
+ private $amount_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $currency_code
+ * Three-character ISO 4217 currency code.
+ * @type \Google\Protobuf\Int64Value $amount_micros
+ * Amount in micros. One million is equivalent to one unit.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\FeedCommon::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Three-character ISO 4217 currency code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrencyCode()
+
+ * Three-character ISO 4217 currency code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 1;
+ * @return string|null
+ */
+ public function getCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Three-character ISO 4217 currency code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Three-character ISO 4217 currency code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCurrencyCode($wrappedVar);
+ }
+
+ /**
+ * Amount in micros. One million is equivalent to one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAmountMicros()
+ {
+ return $this->amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getAmountMicros()
+
+ * Amount in micros. One million is equivalent to one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 2;
+ * @return int|string|null
+ */
+ public function getAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Amount in micros. One million is equivalent to one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Amount in micros. One million is equivalent to one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAmountMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Operand.php b/src/Google/Ads/GoogleAds/V2/Common/Operand.php
new file mode 100644
index 000000000..188c48555
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Operand.php
@@ -0,0 +1,157 @@
+google.ads.googleads.v2.common.Operand
+ */
+final class Operand extends \Google\Protobuf\Internal\Message
+{
+ protected $function_argument_operand;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\Operand\ConstantOperand $constant_operand
+ * A constant operand in a matching function.
+ * @type \Google\Ads\GoogleAds\V2\Common\Operand\FeedAttributeOperand $feed_attribute_operand
+ * This operand specifies a feed attribute in feed.
+ * @type \Google\Ads\GoogleAds\V2\Common\Operand\FunctionOperand $function_operand
+ * A function operand in a matching function.
+ * Used to represent nested functions.
+ * @type \Google\Ads\GoogleAds\V2\Common\Operand\RequestContextOperand $request_context_operand
+ * An operand in a function referring to a value in the request context.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\MatchingFunction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A constant operand in a matching function.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.ConstantOperand constant_operand = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\Operand\ConstantOperand
+ */
+ public function getConstantOperand()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * A constant operand in a matching function.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.ConstantOperand constant_operand = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\Operand\ConstantOperand $var
+ * @return $this
+ */
+ public function setConstantOperand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Operand_ConstantOperand::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * This operand specifies a feed attribute in feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.FeedAttributeOperand feed_attribute_operand = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\Operand\FeedAttributeOperand
+ */
+ public function getFeedAttributeOperand()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * This operand specifies a feed attribute in feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.FeedAttributeOperand feed_attribute_operand = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\Operand\FeedAttributeOperand $var
+ * @return $this
+ */
+ public function setFeedAttributeOperand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Operand_FeedAttributeOperand::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * A function operand in a matching function.
+ * Used to represent nested functions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.FunctionOperand function_operand = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\Operand\FunctionOperand
+ */
+ public function getFunctionOperand()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * A function operand in a matching function.
+ * Used to represent nested functions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.FunctionOperand function_operand = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\Operand\FunctionOperand $var
+ * @return $this
+ */
+ public function setFunctionOperand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Operand_FunctionOperand::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * An operand in a function referring to a value in the request context.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.RequestContextOperand request_context_operand = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\Operand\RequestContextOperand
+ */
+ public function getRequestContextOperand()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * An operand in a function referring to a value in the request context.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Operand.RequestContextOperand request_context_operand = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\Operand\RequestContextOperand $var
+ * @return $this
+ */
+ public function setRequestContextOperand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Operand_RequestContextOperand::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getFunctionArgumentOperand()
+ {
+ return $this->whichOneof("function_argument_operand");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Operand/ConstantOperand.php b/src/Google/Ads/GoogleAds/V2/Common/Operand/ConstantOperand.php
new file mode 100644
index 000000000..5a4967ab1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Operand/ConstantOperand.php
@@ -0,0 +1,273 @@
+google.ads.googleads.v2.common.Operand.ConstantOperand
+ */
+final class ConstantOperand extends \Google\Protobuf\Internal\Message
+{
+ protected $constant_operand_value;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $string_value
+ * String value of the operand if it is a string type.
+ * @type \Google\Protobuf\Int64Value $long_value
+ * Int64 value of the operand if it is a int64 type.
+ * @type \Google\Protobuf\BoolValue $boolean_value
+ * Boolean value of the operand if it is a boolean type.
+ * @type \Google\Protobuf\DoubleValue $double_value
+ * Double value of the operand if it is a double type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\MatchingFunction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * String value of the operand if it is a string type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStringValue()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Returns the unboxed value from getStringValue()
+
+ * String value of the operand if it is a string type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 1;
+ * @return string|null
+ */
+ public function getStringValueUnwrapped()
+ {
+ $wrapper = $this->getStringValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String value of the operand if it is a string type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStringValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String value of the operand if it is a string type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStringValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStringValue($wrappedVar);
+ }
+
+ /**
+ * Int64 value of the operand if it is a int64 type.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value long_value = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getLongValue()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Returns the unboxed value from getLongValue()
+
+ * Int64 value of the operand if it is a int64 type.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value long_value = 2;
+ * @return int|string|null
+ */
+ public function getLongValueUnwrapped()
+ {
+ $wrapper = $this->getLongValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Int64 value of the operand if it is a int64 type.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value long_value = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setLongValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Int64 value of the operand if it is a int64 type.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value long_value = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setLongValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setLongValue($wrappedVar);
+ }
+
+ /**
+ * Boolean value of the operand if it is a boolean type.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getBooleanValue()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Returns the unboxed value from getBooleanValue()
+
+ * Boolean value of the operand if it is a boolean type.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @return bool|null
+ */
+ public function getBooleanValueUnwrapped()
+ {
+ $wrapper = $this->getBooleanValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Boolean value of the operand if it is a boolean type.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setBooleanValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Boolean value of the operand if it is a boolean type.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setBooleanValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setBooleanValue($wrappedVar);
+ }
+
+ /**
+ * Double value of the operand if it is a double type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 4;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getDoubleValue()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Returns the unboxed value from getDoubleValue()
+
+ * Double value of the operand if it is a double type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 4;
+ * @return float|null
+ */
+ public function getDoubleValueUnwrapped()
+ {
+ $wrapper = $this->getDoubleValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Double value of the operand if it is a double type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 4;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setDoubleValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Double value of the operand if it is a double type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 4;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setDoubleValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setDoubleValue($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getConstantOperandValue()
+ {
+ return $this->whichOneof("constant_operand_value");
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ConstantOperand::class, \Google\Ads\GoogleAds\V2\Common\Operand_ConstantOperand::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Operand/FeedAttributeOperand.php b/src/Google/Ads/GoogleAds/V2/Common/Operand/FeedAttributeOperand.php
new file mode 100644
index 000000000..b5a9d5d6e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Operand/FeedAttributeOperand.php
@@ -0,0 +1,163 @@
+google.ads.googleads.v2.common.Operand.FeedAttributeOperand
+ */
+final class FeedAttributeOperand extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The associated feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_id = 1;
+ */
+ private $feed_id = null;
+ /**
+ * Id of the referenced feed attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 2;
+ */
+ private $feed_attribute_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $feed_id
+ * The associated feed. Required.
+ * @type \Google\Protobuf\Int64Value $feed_attribute_id
+ * Id of the referenced feed attribute. Required.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\MatchingFunction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The associated feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFeedId()
+ {
+ return $this->feed_id;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedId()
+
+ * The associated feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_id = 1;
+ * @return int|string|null
+ */
+ public function getFeedIdUnwrapped()
+ {
+ $wrapper = $this->getFeedId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The associated feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFeedId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->feed_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The associated feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFeedIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFeedId($wrappedVar);
+ }
+
+ /**
+ * Id of the referenced feed attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFeedAttributeId()
+ {
+ return $this->feed_attribute_id;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedAttributeId()
+
+ * Id of the referenced feed attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 2;
+ * @return int|string|null
+ */
+ public function getFeedAttributeIdUnwrapped()
+ {
+ $wrapper = $this->getFeedAttributeId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the referenced feed attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFeedAttributeId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->feed_attribute_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the referenced feed attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFeedAttributeIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFeedAttributeId($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(FeedAttributeOperand::class, \Google\Ads\GoogleAds\V2\Common\Operand_FeedAttributeOperand::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Operand/FunctionOperand.php b/src/Google/Ads/GoogleAds/V2/Common/Operand/FunctionOperand.php
new file mode 100644
index 000000000..3aa3c2b5b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Operand/FunctionOperand.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.common.Operand.FunctionOperand
+ */
+final class FunctionOperand extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The matching function held in this operand.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 1;
+ */
+ private $matching_function = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\MatchingFunction $matching_function
+ * The matching function held in this operand.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\MatchingFunction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The matching function held in this operand.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\MatchingFunction
+ */
+ public function getMatchingFunction()
+ {
+ return $this->matching_function;
+ }
+
+ /**
+ * The matching function held in this operand.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\MatchingFunction $var
+ * @return $this
+ */
+ public function setMatchingFunction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MatchingFunction::class);
+ $this->matching_function = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(FunctionOperand::class, \Google\Ads\GoogleAds\V2\Common\Operand_FunctionOperand::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Operand/RequestContextOperand.php b/src/Google/Ads/GoogleAds/V2/Common/Operand/RequestContextOperand.php
new file mode 100644
index 000000000..a9ac95ee0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Operand/RequestContextOperand.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.common.Operand.RequestContextOperand
+ */
+final class RequestContextOperand extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of value to be referred in the request context.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1;
+ */
+ private $context_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $context_type
+ * Type of value to be referred in the request context.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\MatchingFunction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of value to be referred in the request context.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1;
+ * @return int
+ */
+ public function getContextType()
+ {
+ return $this->context_type;
+ }
+
+ /**
+ * Type of value to be referred in the request context.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setContextType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MatchingFunctionContextTypeEnum_MatchingFunctionContextType::class);
+ $this->context_type = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(RequestContextOperand::class, \Google\Ads\GoogleAds\V2\Common\Operand_RequestContextOperand::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Operand_ConstantOperand.php b/src/Google/Ads/GoogleAds/V2/Common/Operand_ConstantOperand.php
new file mode 100644
index 000000000..dffaf4f6a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Operand_ConstantOperand.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.common.OperatingSystemVersionInfo
+ */
+final class OperatingSystemVersionInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The operating system version constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_version_constant = 1;
+ */
+ private $operating_system_version_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $operating_system_version_constant
+ * The operating system version constant resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The operating system version constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_version_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getOperatingSystemVersionConstant()
+ {
+ return $this->operating_system_version_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getOperatingSystemVersionConstant()
+
+ * The operating system version constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_version_constant = 1;
+ * @return string|null
+ */
+ public function getOperatingSystemVersionConstantUnwrapped()
+ {
+ $wrapper = $this->getOperatingSystemVersionConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The operating system version constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_version_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setOperatingSystemVersionConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->operating_system_version_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The operating system version constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_version_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setOperatingSystemVersionConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setOperatingSystemVersionConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PageOnePromoted.php b/src/Google/Ads/GoogleAds/V2/Common/PageOnePromoted.php
new file mode 100644
index 000000000..285c7afc1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PageOnePromoted.php
@@ -0,0 +1,436 @@
+google.ads.googleads.v2.common.PageOnePromoted
+ */
+final class PageOnePromoted extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The strategy goal of where impressions are desired to be shown on
+ * search result pages.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal strategy_goal = 1;
+ */
+ private $strategy_goal = 0;
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ */
+ private $cpc_bid_ceiling_micros = null;
+ /**
+ * Bid multiplier to be applied to the relevant bid estimate (depending on
+ * the `strategy_goal`) in determining a keyword's new CPC bid.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 3;
+ */
+ private $bid_modifier = null;
+ /**
+ * Whether the strategy should always follow bid estimate changes, or only
+ * increase.
+ * If false, always sets a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ */
+ private $only_raise_cpc_bids = null;
+ /**
+ * Whether the strategy is allowed to raise bids when the throttling
+ * rate of the budget it is serving out of rises above a threshold.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5;
+ */
+ private $raise_cpc_bid_when_budget_constrained = null;
+ /**
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6;
+ */
+ private $raise_cpc_bid_when_quality_score_is_low = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $strategy_goal
+ * The strategy goal of where impressions are desired to be shown on
+ * search result pages.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * @type \Google\Protobuf\DoubleValue $bid_modifier
+ * Bid multiplier to be applied to the relevant bid estimate (depending on
+ * the `strategy_goal`) in determining a keyword's new CPC bid.
+ * @type \Google\Protobuf\BoolValue $only_raise_cpc_bids
+ * Whether the strategy should always follow bid estimate changes, or only
+ * increase.
+ * If false, always sets a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ * @type \Google\Protobuf\BoolValue $raise_cpc_bid_when_budget_constrained
+ * Whether the strategy is allowed to raise bids when the throttling
+ * rate of the budget it is serving out of rises above a threshold.
+ * @type \Google\Protobuf\BoolValue $raise_cpc_bid_when_quality_score_is_low
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The strategy goal of where impressions are desired to be shown on
+ * search result pages.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal strategy_goal = 1;
+ * @return int
+ */
+ public function getStrategyGoal()
+ {
+ return $this->strategy_goal;
+ }
+
+ /**
+ * The strategy goal of where impressions are desired to be shown on
+ * search result pages.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal strategy_goal = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setStrategyGoal($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal::class);
+ $this->strategy_goal = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+ /**
+ * Bid multiplier to be applied to the relevant bid estimate (depending on
+ * the `strategy_goal`) in determining a keyword's new CPC bid.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 3;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBidModifier()
+ {
+ return $this->bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getBidModifier()
+
+ * Bid multiplier to be applied to the relevant bid estimate (depending on
+ * the `strategy_goal`) in determining a keyword's new CPC bid.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 3;
+ * @return float|null
+ */
+ public function getBidModifierUnwrapped()
+ {
+ $wrapper = $this->getBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bid multiplier to be applied to the relevant bid estimate (depending on
+ * the `strategy_goal`) in determining a keyword's new CPC bid.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 3;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Bid multiplier to be applied to the relevant bid estimate (depending on
+ * the `strategy_goal`) in determining a keyword's new CPC bid.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 3;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBidModifier($wrappedVar);
+ }
+
+ /**
+ * Whether the strategy should always follow bid estimate changes, or only
+ * increase.
+ * If false, always sets a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getOnlyRaiseCpcBids()
+ {
+ return $this->only_raise_cpc_bids;
+ }
+
+ /**
+ * Returns the unboxed value from getOnlyRaiseCpcBids()
+
+ * Whether the strategy should always follow bid estimate changes, or only
+ * increase.
+ * If false, always sets a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @return bool|null
+ */
+ public function getOnlyRaiseCpcBidsUnwrapped()
+ {
+ $wrapper = $this->getOnlyRaiseCpcBids();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the strategy should always follow bid estimate changes, or only
+ * increase.
+ * If false, always sets a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setOnlyRaiseCpcBids($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->only_raise_cpc_bids = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the strategy should always follow bid estimate changes, or only
+ * increase.
+ * If false, always sets a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setOnlyRaiseCpcBidsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setOnlyRaiseCpcBids($wrappedVar);
+ }
+
+ /**
+ * Whether the strategy is allowed to raise bids when the throttling
+ * rate of the budget it is serving out of rises above a threshold.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getRaiseCpcBidWhenBudgetConstrained()
+ {
+ return $this->raise_cpc_bid_when_budget_constrained;
+ }
+
+ /**
+ * Returns the unboxed value from getRaiseCpcBidWhenBudgetConstrained()
+
+ * Whether the strategy is allowed to raise bids when the throttling
+ * rate of the budget it is serving out of rises above a threshold.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5;
+ * @return bool|null
+ */
+ public function getRaiseCpcBidWhenBudgetConstrainedUnwrapped()
+ {
+ $wrapper = $this->getRaiseCpcBidWhenBudgetConstrained();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the strategy is allowed to raise bids when the throttling
+ * rate of the budget it is serving out of rises above a threshold.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setRaiseCpcBidWhenBudgetConstrained($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->raise_cpc_bid_when_budget_constrained = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the strategy is allowed to raise bids when the throttling
+ * rate of the budget it is serving out of rises above a threshold.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setRaiseCpcBidWhenBudgetConstrainedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setRaiseCpcBidWhenBudgetConstrained($wrappedVar);
+ }
+
+ /**
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getRaiseCpcBidWhenQualityScoreIsLow()
+ {
+ return $this->raise_cpc_bid_when_quality_score_is_low;
+ }
+
+ /**
+ * Returns the unboxed value from getRaiseCpcBidWhenQualityScoreIsLow()
+
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6;
+ * @return bool|null
+ */
+ public function getRaiseCpcBidWhenQualityScoreIsLowUnwrapped()
+ {
+ $wrapper = $this->getRaiseCpcBidWhenQualityScoreIsLow();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setRaiseCpcBidWhenQualityScoreIsLow($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->raise_cpc_bid_when_quality_score_is_low = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setRaiseCpcBidWhenQualityScoreIsLowUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setRaiseCpcBidWhenQualityScoreIsLow($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ParentalStatusInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ParentalStatusInfo.php
new file mode 100644
index 000000000..9856381cf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ParentalStatusInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.ParentalStatusInfo
+ */
+final class ParentalStatusInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the parental status.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ParentalStatusTypeEnum_ParentalStatusType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PercentCpc.php b/src/Google/Ads/GoogleAds/V2/Common/PercentCpc.php
new file mode 100644
index 000000000..80f5ec384
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PercentCpc.php
@@ -0,0 +1,196 @@
+google.ads.googleads.v2.common.PercentCpc
+ */
+final class PercentCpc extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Maximum bid limit that can be set by the bid strategy. This is
+ * an optional field entered by the advertiser and specified in local micros.
+ * Note: A zero value is interpreted in the same way as having bid_ceiling
+ * undefined.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 1;
+ */
+ private $cpc_bid_ceiling_micros = null;
+ /**
+ * Adjusts the bid for each auction upward or downward, depending on the
+ * likelihood of a conversion. Individual bids may exceed
+ * cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ * not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 2;
+ */
+ private $enhanced_cpc_enabled = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * Maximum bid limit that can be set by the bid strategy. This is
+ * an optional field entered by the advertiser and specified in local micros.
+ * Note: A zero value is interpreted in the same way as having bid_ceiling
+ * undefined.
+ * @type \Google\Protobuf\BoolValue $enhanced_cpc_enabled
+ * Adjusts the bid for each auction upward or downward, depending on the
+ * likelihood of a conversion. Individual bids may exceed
+ * cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ * not.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy. This is
+ * an optional field entered by the advertiser and specified in local micros.
+ * Note: A zero value is interpreted in the same way as having bid_ceiling
+ * undefined.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * Maximum bid limit that can be set by the bid strategy. This is
+ * an optional field entered by the advertiser and specified in local micros.
+ * Note: A zero value is interpreted in the same way as having bid_ceiling
+ * undefined.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 1;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy. This is
+ * an optional field entered by the advertiser and specified in local micros.
+ * Note: A zero value is interpreted in the same way as having bid_ceiling
+ * undefined.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Maximum bid limit that can be set by the bid strategy. This is
+ * an optional field entered by the advertiser and specified in local micros.
+ * Note: A zero value is interpreted in the same way as having bid_ceiling
+ * undefined.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+ /**
+ * Adjusts the bid for each auction upward or downward, depending on the
+ * likelihood of a conversion. Individual bids may exceed
+ * cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ * not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 2;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getEnhancedCpcEnabled()
+ {
+ return $this->enhanced_cpc_enabled;
+ }
+
+ /**
+ * Returns the unboxed value from getEnhancedCpcEnabled()
+
+ * Adjusts the bid for each auction upward or downward, depending on the
+ * likelihood of a conversion. Individual bids may exceed
+ * cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ * not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 2;
+ * @return bool|null
+ */
+ public function getEnhancedCpcEnabledUnwrapped()
+ {
+ $wrapper = $this->getEnhancedCpcEnabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Adjusts the bid for each auction upward or downward, depending on the
+ * likelihood of a conversion. Individual bids may exceed
+ * cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ * not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 2;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setEnhancedCpcEnabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->enhanced_cpc_enabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Adjusts the bid for each auction upward or downward, depending on the
+ * likelihood of a conversion. Individual bids may exceed
+ * cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ * not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enhanced_cpc_enabled = 2;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setEnhancedCpcEnabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setEnhancedCpcEnabled($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PlacementInfo.php b/src/Google/Ads/GoogleAds/V2/Common/PlacementInfo.php
new file mode 100644
index 000000000..87c93337a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PlacementInfo.php
@@ -0,0 +1,103 @@
+google.ads.googleads.v2.common.PlacementInfo
+ */
+final class PlacementInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * URL of the placement.
+ * For example, "http://www.domain.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ */
+ private $url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $url
+ * URL of the placement.
+ * For example, "http://www.domain.com".
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * URL of the placement.
+ * For example, "http://www.domain.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrl()
+ {
+ return $this->url;
+ }
+
+ /**
+ * Returns the unboxed value from getUrl()
+
+ * URL of the placement.
+ * For example, "http://www.domain.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @return string|null
+ */
+ public function getUrlUnwrapped()
+ {
+ $wrapper = $this->getUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL of the placement.
+ * For example, "http://www.domain.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL of the placement.
+ * For example, "http://www.domain.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint.php
new file mode 100644
index 000000000..cff4c01d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint.php
@@ -0,0 +1,157 @@
+google.ads.googleads.v2.common.PolicyTopicConstraint
+ */
+final class PolicyTopicConstraint extends \Google\Protobuf\Internal\Message
+{
+ protected $value;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList $country_constraint_list
+ * Countries where the resource cannot serve.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\ResellerConstraint $reseller_constraint
+ * Reseller constraint.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList $certificate_missing_in_country_list
+ * Countries where a certificate is required for serving.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList $certificate_domain_mismatch_in_country_list
+ * Countries where the resource's domain is not covered by the
+ * certificates associated with it.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Countries where the resource cannot serve.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList country_constraint_list = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList
+ */
+ public function getCountryConstraintList()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Countries where the resource cannot serve.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList country_constraint_list = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList $var
+ * @return $this
+ */
+ public function setCountryConstraintList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_CountryConstraintList::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Reseller constraint.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.ResellerConstraint reseller_constraint = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\ResellerConstraint
+ */
+ public function getResellerConstraint()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Reseller constraint.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.ResellerConstraint reseller_constraint = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\ResellerConstraint $var
+ * @return $this
+ */
+ public function setResellerConstraint($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_ResellerConstraint::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Countries where a certificate is required for serving.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList certificate_missing_in_country_list = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList
+ */
+ public function getCertificateMissingInCountryList()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Countries where a certificate is required for serving.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList certificate_missing_in_country_list = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList $var
+ * @return $this
+ */
+ public function setCertificateMissingInCountryList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_CountryConstraintList::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Countries where the resource's domain is not covered by the
+ * certificates associated with it.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList certificate_domain_mismatch_in_country_list = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList
+ */
+ public function getCertificateDomainMismatchInCountryList()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Countries where the resource's domain is not covered by the
+ * certificates associated with it.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList certificate_domain_mismatch_in_country_list = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraintList $var
+ * @return $this
+ */
+ public function setCertificateDomainMismatchInCountryList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_CountryConstraintList::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getValue()
+ {
+ return $this->whichOneof("value");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraint.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraint.php
new file mode 100644
index 000000000..b0dac2f88
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraint.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraint
+ */
+final class CountryConstraint extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Geo target constant resource name of the country in which serving is
+ * constrained.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_criterion = 1;
+ */
+ private $country_criterion = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $country_criterion
+ * Geo target constant resource name of the country in which serving is
+ * constrained.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Geo target constant resource name of the country in which serving is
+ * constrained.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_criterion = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCriterion()
+ {
+ return $this->country_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCriterion()
+
+ * Geo target constant resource name of the country in which serving is
+ * constrained.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_criterion = 1;
+ * @return string|null
+ */
+ public function getCountryCriterionUnwrapped()
+ {
+ $wrapper = $this->getCountryCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Geo target constant resource name of the country in which serving is
+ * constrained.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_criterion = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Geo target constant resource name of the country in which serving is
+ * constrained.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_criterion = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCriterion($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CountryConstraint::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_CountryConstraint::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraintList.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraintList.php
new file mode 100644
index 000000000..9984b44c7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/CountryConstraintList.php
@@ -0,0 +1,133 @@
+google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraintList
+ */
+final class CountryConstraintList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Total number of countries targeted by the resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value total_targeted_countries = 1;
+ */
+ private $total_targeted_countries = null;
+ /**
+ * Countries in which serving is restricted.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraint countries = 2;
+ */
+ private $countries;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int32Value $total_targeted_countries
+ * Total number of countries targeted by the resource.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraint[]|\Google\Protobuf\Internal\RepeatedField $countries
+ * Countries in which serving is restricted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Total number of countries targeted by the resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value total_targeted_countries = 1;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getTotalTargetedCountries()
+ {
+ return $this->total_targeted_countries;
+ }
+
+ /**
+ * Returns the unboxed value from getTotalTargetedCountries()
+
+ * Total number of countries targeted by the resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value total_targeted_countries = 1;
+ * @return int|null
+ */
+ public function getTotalTargetedCountriesUnwrapped()
+ {
+ $wrapper = $this->getTotalTargetedCountries();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Total number of countries targeted by the resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value total_targeted_countries = 1;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setTotalTargetedCountries($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->total_targeted_countries = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Total number of countries targeted by the resource.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value total_targeted_countries = 1;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setTotalTargetedCountriesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setTotalTargetedCountries($wrappedVar);
+ }
+
+ /**
+ * Countries in which serving is restricted.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraint countries = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCountries()
+ {
+ return $this->countries;
+ }
+
+ /**
+ * Countries in which serving is restricted.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicConstraint.CountryConstraint countries = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraint[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCountries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint\CountryConstraint::class);
+ $this->countries = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CountryConstraintList::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_CountryConstraintList::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/ResellerConstraint.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/ResellerConstraint.php
new file mode 100644
index 000000000..d65622706
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint/ResellerConstraint.php
@@ -0,0 +1,37 @@
+google.ads.googleads.v2.common.PolicyTopicConstraint.ResellerConstraint
+ */
+final class ResellerConstraint extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ResellerConstraint::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint_ResellerConstraint::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint_CountryConstraint.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint_CountryConstraint.php
new file mode 100644
index 000000000..2663da50c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicConstraint_CountryConstraint.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.common.PolicyTopicEntry
+ */
+final class PolicyTopicEntry extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Policy topic this finding refers to. For example, "ALCOHOL",
+ * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ * policy topics is not fixed for a particular API version and may change
+ * at any time.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic = 1;
+ */
+ private $topic = null;
+ /**
+ * Describes the negative or positive effect this policy will have on serving.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2;
+ */
+ private $type = 0;
+ /**
+ * Additional information that explains policy finding
+ * (e.g. the brand name for a trademark finding).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEvidence evidences = 3;
+ */
+ private $evidences;
+ /**
+ * Indicates how serving of this resource may be affected (e.g. not serving
+ * in a country).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicConstraint constraints = 4;
+ */
+ private $constraints;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $topic
+ * Policy topic this finding refers to. For example, "ALCOHOL",
+ * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ * policy topics is not fixed for a particular API version and may change
+ * at any time.
+ * @type int $type
+ * Describes the negative or positive effect this policy will have on serving.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence[]|\Google\Protobuf\Internal\RepeatedField $evidences
+ * Additional information that explains policy finding
+ * (e.g. the brand name for a trademark finding).
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint[]|\Google\Protobuf\Internal\RepeatedField $constraints
+ * Indicates how serving of this resource may be affected (e.g. not serving
+ * in a country).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Policy topic this finding refers to. For example, "ALCOHOL",
+ * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ * policy topics is not fixed for a particular API version and may change
+ * at any time.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTopic()
+ {
+ return $this->topic;
+ }
+
+ /**
+ * Returns the unboxed value from getTopic()
+
+ * Policy topic this finding refers to. For example, "ALCOHOL",
+ * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ * policy topics is not fixed for a particular API version and may change
+ * at any time.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic = 1;
+ * @return string|null
+ */
+ public function getTopicUnwrapped()
+ {
+ $wrapper = $this->getTopic();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Policy topic this finding refers to. For example, "ALCOHOL",
+ * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ * policy topics is not fixed for a particular API version and may change
+ * at any time.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTopic($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->topic = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Policy topic this finding refers to. For example, "ALCOHOL",
+ * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ * policy topics is not fixed for a particular API version and may change
+ * at any time.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTopicUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTopic($wrappedVar);
+ }
+
+ /**
+ * Describes the negative or positive effect this policy will have on serving.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Describes the negative or positive effect this policy will have on serving.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEntryTypeEnum_PolicyTopicEntryType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Additional information that explains policy finding
+ * (e.g. the brand name for a trademark finding).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEvidence evidences = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getEvidences()
+ {
+ return $this->evidences;
+ }
+
+ /**
+ * Additional information that explains policy finding
+ * (e.g. the brand name for a trademark finding).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEvidence evidences = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setEvidences($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence::class);
+ $this->evidences = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Indicates how serving of this resource may be affected (e.g. not serving
+ * in a country).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicConstraint constraints = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConstraints()
+ {
+ return $this->constraints;
+ }
+
+ /**
+ * Indicates how serving of this resource may be affected (e.g. not serving
+ * in a country).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicConstraint constraints = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConstraints($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicConstraint::class);
+ $this->constraints = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence.php
new file mode 100644
index 000000000..21e99447a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence.php
@@ -0,0 +1,250 @@
+google.ads.googleads.v2.common.PolicyTopicEvidence
+ */
+final class PolicyTopicEvidence extends \Google\Protobuf\Internal\Message
+{
+ protected $value;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\WebsiteList $website_list
+ * List of websites linked with this resource.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\TextList $text_list
+ * List of evidence found in the text of a resource.
+ * @type \Google\Protobuf\StringValue $language_code
+ * The language the resource was detected to be written in.
+ * This is an IETF language tag such as "en-US".
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationTextList $destination_text_list
+ * The text in the destination of the resource that is causing a policy
+ * finding.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationMismatch $destination_mismatch
+ * Mismatch between the destinations of a resource's URLs.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationNotWorking $destination_not_working
+ * Details when the destination is returning an HTTP error code or isn't
+ * functional in all locations for commonly used devices.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of websites linked with this resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.WebsiteList website_list = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\WebsiteList
+ */
+ public function getWebsiteList()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * List of websites linked with this resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.WebsiteList website_list = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\WebsiteList $var
+ * @return $this
+ */
+ public function setWebsiteList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_WebsiteList::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * List of evidence found in the text of a resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.TextList text_list = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\TextList
+ */
+ public function getTextList()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * List of evidence found in the text of a resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.TextList text_list = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\TextList $var
+ * @return $this
+ */
+ public function setTextList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_TextList::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * The language the resource was detected to be written in.
+ * This is an IETF language tag such as "en-US".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * The language the resource was detected to be written in.
+ * This is an IETF language tag such as "en-US".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 5;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language the resource was detected to be written in.
+ * This is an IETF language tag such as "en-US".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language the resource was detected to be written in.
+ * This is an IETF language tag such as "en-US".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+ /**
+ * The text in the destination of the resource that is causing a policy
+ * finding.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationTextList destination_text_list = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationTextList
+ */
+ public function getDestinationTextList()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * The text in the destination of the resource that is causing a policy
+ * finding.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationTextList destination_text_list = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationTextList $var
+ * @return $this
+ */
+ public function setDestinationTextList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_DestinationTextList::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mismatch between the destinations of a resource's URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationMismatch destination_mismatch = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationMismatch
+ */
+ public function getDestinationMismatch()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Mismatch between the destinations of a resource's URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationMismatch destination_mismatch = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationMismatch $var
+ * @return $this
+ */
+ public function setDestinationMismatch($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_DestinationMismatch::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details when the destination is returning an HTTP error code or isn't
+ * functional in all locations for commonly used devices.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationNotWorking destination_not_working = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationNotWorking
+ */
+ public function getDestinationNotWorking()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Details when the destination is returning an HTTP error code or isn't
+ * functional in all locations for commonly used devices.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationNotWorking destination_not_working = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence\DestinationNotWorking $var
+ * @return $this
+ */
+ public function setDestinationNotWorking($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_DestinationNotWorking::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getValue()
+ {
+ return $this->whichOneof("value");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationMismatch.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationMismatch.php
new file mode 100644
index 000000000..e7bdb1c46
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationMismatch.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationMismatch
+ */
+final class DestinationMismatch extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The set of URLs that did not match each other.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1;
+ */
+ private $url_types;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $url_types
+ * The set of URLs that did not match each other.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The set of URLs that did not match each other.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlTypes()
+ {
+ return $this->url_types;
+ }
+
+ /**
+ * The set of URLs that did not match each other.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlTypes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationMismatchUrlTypeEnum\PolicyTopicEvidenceDestinationMismatchUrlType::class);
+ $this->url_types = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DestinationMismatch::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_DestinationMismatch::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationNotWorking.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationNotWorking.php
new file mode 100644
index 000000000..6bec0f13f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationNotWorking.php
@@ -0,0 +1,303 @@
+google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationNotWorking
+ */
+final class DestinationNotWorking extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The full URL that didn't work.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_url = 3;
+ */
+ private $expanded_url = null;
+ /**
+ * The type of device that failed to load the URL.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4;
+ */
+ private $device = 0;
+ /**
+ * The time the URL was last checked.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_checked_date_time = 5;
+ */
+ private $last_checked_date_time = null;
+ protected $reason;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $expanded_url
+ * The full URL that didn't work.
+ * @type int $device
+ * The type of device that failed to load the URL.
+ * @type \Google\Protobuf\StringValue $last_checked_date_time
+ * The time the URL was last checked.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ * @type int $dns_error_type
+ * The type of DNS error.
+ * @type \Google\Protobuf\Int64Value $http_error_code
+ * The HTTP error code.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The full URL that didn't work.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_url = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExpandedUrl()
+ {
+ return $this->expanded_url;
+ }
+
+ /**
+ * Returns the unboxed value from getExpandedUrl()
+
+ * The full URL that didn't work.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_url = 3;
+ * @return string|null
+ */
+ public function getExpandedUrlUnwrapped()
+ {
+ $wrapper = $this->getExpandedUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The full URL that didn't work.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_url = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExpandedUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->expanded_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The full URL that didn't work.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_url = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExpandedUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExpandedUrl($wrappedVar);
+ }
+
+ /**
+ * The type of device that failed to load the URL.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->device;
+ }
+
+ /**
+ * The type of device that failed to load the URL.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationNotWorkingDeviceEnum_PolicyTopicEvidenceDestinationNotWorkingDevice::class);
+ $this->device = $var;
+
+ return $this;
+ }
+
+ /**
+ * The time the URL was last checked.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_checked_date_time = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLastCheckedDateTime()
+ {
+ return $this->last_checked_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getLastCheckedDateTime()
+
+ * The time the URL was last checked.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_checked_date_time = 5;
+ * @return string|null
+ */
+ public function getLastCheckedDateTimeUnwrapped()
+ {
+ $wrapper = $this->getLastCheckedDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The time the URL was last checked.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_checked_date_time = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLastCheckedDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->last_checked_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The time the URL was last checked.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_checked_date_time = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLastCheckedDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLastCheckedDateTime($wrappedVar);
+ }
+
+ /**
+ * The type of DNS error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1;
+ * @return int
+ */
+ public function getDnsErrorType()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * The type of DNS error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setDnsErrorType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum_PolicyTopicEvidenceDestinationNotWorkingDnsErrorType::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * The HTTP error code.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value http_error_code = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getHttpErrorCode()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Returns the unboxed value from getHttpErrorCode()
+
+ * The HTTP error code.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value http_error_code = 2;
+ * @return int|string|null
+ */
+ public function getHttpErrorCodeUnwrapped()
+ {
+ $wrapper = $this->getHttpErrorCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The HTTP error code.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value http_error_code = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setHttpErrorCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The HTTP error code.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value http_error_code = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setHttpErrorCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setHttpErrorCode($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getReason()
+ {
+ return $this->whichOneof("reason");
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DestinationNotWorking::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_DestinationNotWorking::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationTextList.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationTextList.php
new file mode 100644
index 000000000..39f40d3b8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/DestinationTextList.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.common.PolicyTopicEvidence.DestinationTextList
+ */
+final class DestinationTextList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of text found in the resource's destination page.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue destination_texts = 1;
+ */
+ private $destination_texts;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $destination_texts
+ * List of text found in the resource's destination page.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of text found in the resource's destination page.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue destination_texts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDestinationTexts()
+ {
+ return $this->destination_texts;
+ }
+
+ /**
+ * List of text found in the resource's destination page.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue destination_texts = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDestinationTexts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->destination_texts = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DestinationTextList::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_DestinationTextList::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/TextList.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/TextList.php
new file mode 100644
index 000000000..27fc7ba8a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/TextList.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.common.PolicyTopicEvidence.TextList
+ */
+final class TextList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The fragments of text from the resource that caused the policy finding.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue texts = 1;
+ */
+ private $texts;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $texts
+ * The fragments of text from the resource that caused the policy finding.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The fragments of text from the resource that caused the policy finding.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue texts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTexts()
+ {
+ return $this->texts;
+ }
+
+ /**
+ * The fragments of text from the resource that caused the policy finding.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue texts = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTexts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->texts = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TextList::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_TextList::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/WebsiteList.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/WebsiteList.php
new file mode 100644
index 000000000..5343cef97
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence/WebsiteList.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.common.PolicyTopicEvidence.WebsiteList
+ */
+final class WebsiteList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Websites that caused the policy finding.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue websites = 1;
+ */
+ private $websites;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $websites
+ * Websites that caused the policy finding.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Websites that caused the policy finding.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue websites = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWebsites()
+ {
+ return $this->websites;
+ }
+
+ /**
+ * Websites that caused the policy finding.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue websites = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWebsites($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->websites = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(WebsiteList::class, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEvidence_WebsiteList::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_DestinationMismatch.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_DestinationMismatch.php
new file mode 100644
index 000000000..f634ebfb9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyTopicEvidence_DestinationMismatch.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.common.PolicyValidationParameter
+ */
+final class PolicyValidationParameter extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of policy topics that should not cause a PolicyFindingError to
+ * be reported. This field is currently only compatible with Enhanced Text Ad.
+ * It corresponds to the PolicyTopicEntry.topic field.
+ * Resources violating these policies will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue ignorable_policy_topics = 1;
+ */
+ private $ignorable_policy_topics;
+ /**
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyViolationKey exempt_policy_violation_keys = 2;
+ */
+ private $exempt_policy_violation_keys;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $ignorable_policy_topics
+ * The list of policy topics that should not cause a PolicyFindingError to
+ * be reported. This field is currently only compatible with Enhanced Text Ad.
+ * It corresponds to the PolicyTopicEntry.topic field.
+ * Resources violating these policies will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey[]|\Google\Protobuf\Internal\RepeatedField $exempt_policy_violation_keys
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of policy topics that should not cause a PolicyFindingError to
+ * be reported. This field is currently only compatible with Enhanced Text Ad.
+ * It corresponds to the PolicyTopicEntry.topic field.
+ * Resources violating these policies will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue ignorable_policy_topics = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getIgnorablePolicyTopics()
+ {
+ return $this->ignorable_policy_topics;
+ }
+
+ /**
+ * The list of policy topics that should not cause a PolicyFindingError to
+ * be reported. This field is currently only compatible with Enhanced Text Ad.
+ * It corresponds to the PolicyTopicEntry.topic field.
+ * Resources violating these policies will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue ignorable_policy_topics = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setIgnorablePolicyTopics($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->ignorable_policy_topics = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyViolationKey exempt_policy_violation_keys = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getExemptPolicyViolationKeys()
+ {
+ return $this->exempt_policy_violation_keys;
+ }
+
+ /**
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyViolationKey exempt_policy_violation_keys = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setExemptPolicyViolationKeys($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey::class);
+ $this->exempt_policy_violation_keys = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PolicyViolationKey.php b/src/Google/Ads/GoogleAds/V2/Common/PolicyViolationKey.php
new file mode 100644
index 000000000..5711677f1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PolicyViolationKey.php
@@ -0,0 +1,184 @@
+google.ads.googleads.v2.common.PolicyViolationKey
+ */
+final class PolicyViolationKey extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Unique ID of the violated policy.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue policy_name = 1;
+ */
+ private $policy_name = null;
+ /**
+ * The text that violates the policy if specified.
+ * Otherwise, refers to the policy in general
+ * (e.g., when requesting to be exempt from the whole policy).
+ * If not specified for criterion exemptions, the whole policy is implied.
+ * Must be specified for ad exemptions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue violating_text = 2;
+ */
+ private $violating_text = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $policy_name
+ * Unique ID of the violated policy.
+ * @type \Google\Protobuf\StringValue $violating_text
+ * The text that violates the policy if specified.
+ * Otherwise, refers to the policy in general
+ * (e.g., when requesting to be exempt from the whole policy).
+ * If not specified for criterion exemptions, the whole policy is implied.
+ * Must be specified for ad exemptions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Policy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Unique ID of the violated policy.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue policy_name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPolicyName()
+ {
+ return $this->policy_name;
+ }
+
+ /**
+ * Returns the unboxed value from getPolicyName()
+
+ * Unique ID of the violated policy.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue policy_name = 1;
+ * @return string|null
+ */
+ public function getPolicyNameUnwrapped()
+ {
+ $wrapper = $this->getPolicyName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Unique ID of the violated policy.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue policy_name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPolicyName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->policy_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Unique ID of the violated policy.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue policy_name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPolicyNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPolicyName($wrappedVar);
+ }
+
+ /**
+ * The text that violates the policy if specified.
+ * Otherwise, refers to the policy in general
+ * (e.g., when requesting to be exempt from the whole policy).
+ * If not specified for criterion exemptions, the whole policy is implied.
+ * Must be specified for ad exemptions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue violating_text = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getViolatingText()
+ {
+ return $this->violating_text;
+ }
+
+ /**
+ * Returns the unboxed value from getViolatingText()
+
+ * The text that violates the policy if specified.
+ * Otherwise, refers to the policy in general
+ * (e.g., when requesting to be exempt from the whole policy).
+ * If not specified for criterion exemptions, the whole policy is implied.
+ * Must be specified for ad exemptions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue violating_text = 2;
+ * @return string|null
+ */
+ public function getViolatingTextUnwrapped()
+ {
+ $wrapper = $this->getViolatingText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The text that violates the policy if specified.
+ * Otherwise, refers to the policy in general
+ * (e.g., when requesting to be exempt from the whole policy).
+ * If not specified for criterion exemptions, the whole policy is implied.
+ * Must be specified for ad exemptions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue violating_text = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setViolatingText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->violating_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The text that violates the policy if specified.
+ * Otherwise, refers to the policy in general
+ * (e.g., when requesting to be exempt from the whole policy).
+ * If not specified for criterion exemptions, the whole policy is implied.
+ * Must be specified for ad exemptions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue violating_text = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setViolatingTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setViolatingText($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PreferredContentInfo.php b/src/Google/Ads/GoogleAds/V2/Common/PreferredContentInfo.php
new file mode 100644
index 000000000..db9cfbdd7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PreferredContentInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.PreferredContentInfo
+ */
+final class PreferredContentInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of the preferred content.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType type = 2;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of the preferred content.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of the preferred content.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType type = 2;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the preferred content.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PreferredContentTypeEnum_PreferredContentType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PriceFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/PriceFeedItem.php
new file mode 100644
index 000000000..f16f2eb50
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PriceFeedItem.php
@@ -0,0 +1,330 @@
+google.ads.googleads.v2.common.PriceFeedItem
+ */
+final class PriceFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Price extension type of this extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1;
+ */
+ private $type = 0;
+ /**
+ * Price qualifier for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2;
+ */
+ private $price_qualifier = 0;
+ /**
+ * Tracking URL template for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 3;
+ */
+ private $tracking_url_template = null;
+ /**
+ * The code of the language used for this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ */
+ private $language_code = null;
+ /**
+ * The price offerings in this price extension.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PriceOffer price_offerings = 5;
+ */
+ private $price_offerings;
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 6;
+ */
+ private $final_url_suffix = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Price extension type of this extension.
+ * @type int $price_qualifier
+ * Price qualifier for all offers of this price extension.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * Tracking URL template for all offers of this price extension.
+ * @type \Google\Protobuf\StringValue $language_code
+ * The code of the language used for this price extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\PriceOffer[]|\Google\Protobuf\Internal\RepeatedField $price_offerings
+ * The price offerings in this price extension.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Price extension type of this extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Price extension type of this extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PriceExtensionTypeEnum_PriceExtensionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Price qualifier for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2;
+ * @return int
+ */
+ public function getPriceQualifier()
+ {
+ return $this->price_qualifier;
+ }
+
+ /**
+ * Price qualifier for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPriceQualifier($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PriceExtensionPriceQualifierEnum_PriceExtensionPriceQualifier::class);
+ $this->price_qualifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Tracking URL template for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * Tracking URL template for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 3;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Tracking URL template for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Tracking URL template for all offers of this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * The code of the language used for this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * The code of the language used for this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The code of the language used for this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The code of the language used for this price extension.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+ /**
+ * The price offerings in this price extension.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PriceOffer price_offerings = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPriceOfferings()
+ {
+ return $this->price_offerings;
+ }
+
+ /**
+ * The price offerings in this price extension.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PriceOffer price_offerings = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\PriceOffer[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPriceOfferings($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PriceOffer::class);
+ $this->price_offerings = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 6;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PriceOffer.php b/src/Google/Ads/GoogleAds/V2/Common/PriceOffer.php
new file mode 100644
index 000000000..cfbebd6f7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PriceOffer.php
@@ -0,0 +1,295 @@
+google.ads.googleads.v2.common.PriceOffer
+ */
+final class PriceOffer extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Header text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ */
+ private $header = null;
+ /**
+ * Description text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ */
+ private $description = null;
+ /**
+ * Price value of this offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money price = 3;
+ */
+ private $price = null;
+ /**
+ * Price unit for this offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4;
+ */
+ private $unit = 0;
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 5;
+ */
+ private $final_urls;
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 6;
+ */
+ private $final_mobile_urls;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $header
+ * Header text of this offer.
+ * @type \Google\Protobuf\StringValue $description
+ * Description text of this offer.
+ * @type \Google\Ads\GoogleAds\V2\Common\Money $price
+ * Price value of this offer.
+ * @type int $unit
+ * Price unit for this offer.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * A list of possible final URLs after all cross domain redirects.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * A list of possible final mobile URLs after all cross domain redirects.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Header text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeader()
+ {
+ return $this->header;
+ }
+
+ /**
+ * Returns the unboxed value from getHeader()
+
+ * Header text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @return string|null
+ */
+ public function getHeaderUnwrapped()
+ {
+ $wrapper = $this->getHeader();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Header text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeader($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->header = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Header text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeaderUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeader($wrappedVar);
+ }
+
+ /**
+ * Description text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * Description text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Description text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Description text of this offer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * Price value of this offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money price = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\Money
+ */
+ public function getPrice()
+ {
+ return $this->price;
+ }
+
+ /**
+ * Price value of this offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money price = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\Money $var
+ * @return $this
+ */
+ public function setPrice($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Money::class);
+ $this->price = $var;
+
+ return $this;
+ }
+
+ /**
+ * Price unit for this offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4;
+ * @return int
+ */
+ public function getUnit()
+ {
+ return $this->unit;
+ }
+
+ /**
+ * Price unit for this offer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setUnit($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PriceExtensionPriceUnitEnum_PriceExtensionPriceUnit::class);
+ $this->unit = $var;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 5;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 6;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 6;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductBiddingCategoryInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductBiddingCategoryInfo.php
new file mode 100644
index 000000000..ac71d27f1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductBiddingCategoryInfo.php
@@ -0,0 +1,211 @@
+google.ads.googleads.v2.common.ProductBiddingCategoryInfo
+ */
+final class ProductBiddingCategoryInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ */
+ private $id = null;
+ /**
+ * Two-letter upper-case country code of the product bidding category. It must
+ * match the campaign.shopping_setting.sales_country field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ */
+ private $country_code = null;
+ /**
+ * Level of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3;
+ */
+ private $level = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $id
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Two-letter upper-case country code of the product bidding category. It must
+ * match the campaign.shopping_setting.sales_country field.
+ * @type int $level
+ * Level of the product bidding category.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Two-letter upper-case country code of the product bidding category. It must
+ * match the campaign.shopping_setting.sales_country field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Two-letter upper-case country code of the product bidding category. It must
+ * match the campaign.shopping_setting.sales_country field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Two-letter upper-case country code of the product bidding category. It must
+ * match the campaign.shopping_setting.sales_country field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Two-letter upper-case country code of the product bidding category. It must
+ * match the campaign.shopping_setting.sales_country field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Level of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3;
+ * @return int
+ */
+ public function getLevel()
+ {
+ return $this->level;
+ }
+
+ /**
+ * Level of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setLevel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel::class);
+ $this->level = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductChannelExclusivityInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductChannelExclusivityInfo.php
new file mode 100644
index 000000000..774ac4185
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductChannelExclusivityInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.ProductChannelExclusivityInfo
+ */
+final class ProductChannelExclusivityInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Value of the availability.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1;
+ */
+ private $channel_exclusivity = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $channel_exclusivity
+ * Value of the availability.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Value of the availability.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1;
+ * @return int
+ */
+ public function getChannelExclusivity()
+ {
+ return $this->channel_exclusivity;
+ }
+
+ /**
+ * Value of the availability.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setChannelExclusivity($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductChannelExclusivityEnum_ProductChannelExclusivity::class);
+ $this->channel_exclusivity = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductChannelInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductChannelInfo.php
new file mode 100644
index 000000000..f6d9b9bda
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductChannelInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.ProductChannelInfo
+ */
+final class ProductChannelInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Value of the locality.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel channel = 1;
+ */
+ private $channel = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $channel
+ * Value of the locality.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Value of the locality.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel channel = 1;
+ * @return int
+ */
+ public function getChannel()
+ {
+ return $this->channel;
+ }
+
+ /**
+ * Value of the locality.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel channel = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setChannel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductChannelEnum_ProductChannel::class);
+ $this->channel = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductConditionInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductConditionInfo.php
new file mode 100644
index 000000000..0c92f0726
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductConditionInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.ProductConditionInfo
+ */
+final class ProductConditionInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Value of the condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition condition = 1;
+ */
+ private $condition = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $condition
+ * Value of the condition.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Value of the condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition condition = 1;
+ * @return int
+ */
+ public function getCondition()
+ {
+ return $this->condition;
+ }
+
+ /**
+ * Value of the condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition condition = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setCondition($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductConditionEnum_ProductCondition::class);
+ $this->condition = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductImage.php b/src/Google/Ads/GoogleAds/V2/Common/ProductImage.php
new file mode 100644
index 000000000..f7e9862cb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductImage.php
@@ -0,0 +1,205 @@
+google.ads.googleads.v2.common.ProductImage
+ */
+final class ProductImage extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The MediaFile resource name of the product image. Valid image types are
+ * GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
+ * must be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_image = 1;
+ */
+ private $product_image = null;
+ /**
+ * Description of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ */
+ private $description = null;
+ /**
+ * Display-call-to-action of the product image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayCallToAction display_call_to_action = 3;
+ */
+ private $display_call_to_action = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $product_image
+ * The MediaFile resource name of the product image. Valid image types are
+ * GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
+ * must be 1:1 (+-1%).
+ * @type \Google\Protobuf\StringValue $description
+ * Description of the product.
+ * @type \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction $display_call_to_action
+ * Display-call-to-action of the product image.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The MediaFile resource name of the product image. Valid image types are
+ * GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
+ * must be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_image = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductImage()
+ {
+ return $this->product_image;
+ }
+
+ /**
+ * Returns the unboxed value from getProductImage()
+
+ * The MediaFile resource name of the product image. Valid image types are
+ * GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
+ * must be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_image = 1;
+ * @return string|null
+ */
+ public function getProductImageUnwrapped()
+ {
+ $wrapper = $this->getProductImage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the product image. Valid image types are
+ * GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
+ * must be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_image = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_image = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the product image. Valid image types are
+ * GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
+ * must be 1:1 (+-1%).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_image = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductImageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductImage($wrappedVar);
+ }
+
+ /**
+ * Description of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * Description of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Description of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Description of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * Display-call-to-action of the product image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayCallToAction display_call_to_action = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction
+ */
+ public function getDisplayCallToAction()
+ {
+ return $this->display_call_to_action;
+ }
+
+ /**
+ * Display-call-to-action of the product image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayCallToAction display_call_to_action = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction $var
+ * @return $this
+ */
+ public function setDisplayCallToAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DisplayCallToAction::class);
+ $this->display_call_to_action = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductItemIdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductItemIdInfo.php
new file mode 100644
index 000000000..db13a09f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductItemIdInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.ProductItemIdInfo
+ */
+final class ProductItemIdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Value of the id.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $value
+ * Value of the id.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Value of the id.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * Value of the id.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Value of the id.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Value of the id.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductTypeInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductTypeInfo.php
new file mode 100644
index 000000000..11f39492a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductTypeInfo.php
@@ -0,0 +1,130 @@
+google.ads.googleads.v2.common.ProductTypeInfo
+ */
+final class ProductTypeInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Value of the type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ */
+ private $value = null;
+ /**
+ * Level of the type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2;
+ */
+ private $level = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $value
+ * Value of the type.
+ * @type int $level
+ * Level of the type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Value of the type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * Value of the type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Value of the type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Value of the type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+ /**
+ * Level of the type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2;
+ * @return int
+ */
+ public function getLevel()
+ {
+ return $this->level;
+ }
+
+ /**
+ * Level of the type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setLevel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductTypeLevelEnum_ProductTypeLevel::class);
+ $this->level = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProductVideo.php b/src/Google/Ads/GoogleAds/V2/Common/ProductVideo.php
new file mode 100644
index 000000000..818f9cea5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProductVideo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.ProductVideo
+ */
+final class ProductVideo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The MediaFile resource name of a video which must be hosted on YouTube.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_video = 1;
+ */
+ private $product_video = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $product_video
+ * The MediaFile resource name of a video which must be hosted on YouTube.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The MediaFile resource name of a video which must be hosted on YouTube.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_video = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductVideo()
+ {
+ return $this->product_video;
+ }
+
+ /**
+ * Returns the unboxed value from getProductVideo()
+
+ * The MediaFile resource name of a video which must be hosted on YouTube.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_video = 1;
+ * @return string|null
+ */
+ public function getProductVideoUnwrapped()
+ {
+ $wrapper = $this->getProductVideo();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of a video which must be hosted on YouTube.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_video = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_video = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of a video which must be hosted on YouTube.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_video = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductVideoUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductVideo($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/PromotionFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/PromotionFeedItem.php
new file mode 100644
index 000000000..46186dac9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/PromotionFeedItem.php
@@ -0,0 +1,819 @@
+google.ads.googleads.v2.common.PromotionFeedItem
+ */
+final class PromotionFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A freeform description of what the promotion is targeting.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_target = 1;
+ */
+ private $promotion_target = null;
+ /**
+ * Enum that modifies the qualification of the discount.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2;
+ */
+ private $discount_modifier = 0;
+ /**
+ * Start date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_start_date = 7;
+ */
+ private $promotion_start_date = null;
+ /**
+ * End date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_end_date = 8;
+ */
+ private $promotion_end_date = null;
+ /**
+ * The occasion the promotion was intended for.
+ * If an occasion is set, the redemption window will need to fall within
+ * the date range associated with the occasion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9;
+ */
+ private $occasion = 0;
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ * This field is required.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 10;
+ */
+ private $final_urls;
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 11;
+ */
+ private $final_mobile_urls;
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ */
+ private $tracking_url_template = null;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 13;
+ */
+ private $url_custom_parameters;
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 14;
+ */
+ private $final_url_suffix = null;
+ /**
+ * The language of the promotion.
+ * Represented as BCP 47 language tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 15;
+ */
+ private $language_code = null;
+ protected $discount_type;
+ protected $promotion_trigger;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $promotion_target
+ * A freeform description of what the promotion is targeting.
+ * This field is required.
+ * @type int $discount_modifier
+ * Enum that modifies the qualification of the discount.
+ * @type \Google\Protobuf\StringValue $promotion_start_date
+ * Start date of when the promotion is eligible to be redeemed.
+ * @type \Google\Protobuf\StringValue $promotion_end_date
+ * End date of when the promotion is eligible to be redeemed.
+ * @type int $occasion
+ * The occasion the promotion was intended for.
+ * If an occasion is set, the redemption window will need to fall within
+ * the date range associated with the occasion.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * A list of possible final URLs after all cross domain redirects.
+ * This field is required.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * A list of possible final mobile URLs after all cross domain redirects.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * URL template for constructing a tracking URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * 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.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ * @type \Google\Protobuf\StringValue $language_code
+ * The language of the promotion.
+ * Represented as BCP 47 language tag.
+ * @type \Google\Protobuf\Int64Value $percent_off
+ * Percentage off discount in the promotion in micros.
+ * One million is equivalent to one percent.
+ * Either this or money_off_amount is required.
+ * @type \Google\Ads\GoogleAds\V2\Common\Money $money_amount_off
+ * Money amount off for discount in the promotion.
+ * Either this or percent_off is required.
+ * @type \Google\Protobuf\StringValue $promotion_code
+ * A code the user should use in order to be eligible for the promotion.
+ * @type \Google\Ads\GoogleAds\V2\Common\Money $orders_over_amount
+ * The amount the total order needs to be for the user to be eligible for
+ * the promotion.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A freeform description of what the promotion is targeting.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_target = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPromotionTarget()
+ {
+ return $this->promotion_target;
+ }
+
+ /**
+ * Returns the unboxed value from getPromotionTarget()
+
+ * A freeform description of what the promotion is targeting.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_target = 1;
+ * @return string|null
+ */
+ public function getPromotionTargetUnwrapped()
+ {
+ $wrapper = $this->getPromotionTarget();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A freeform description of what the promotion is targeting.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_target = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPromotionTarget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->promotion_target = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A freeform description of what the promotion is targeting.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_target = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPromotionTargetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPromotionTarget($wrappedVar);
+ }
+
+ /**
+ * Enum that modifies the qualification of the discount.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2;
+ * @return int
+ */
+ public function getDiscountModifier()
+ {
+ return $this->discount_modifier;
+ }
+
+ /**
+ * Enum that modifies the qualification of the discount.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setDiscountModifier($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PromotionExtensionDiscountModifierEnum_PromotionExtensionDiscountModifier::class);
+ $this->discount_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Start date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_start_date = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPromotionStartDate()
+ {
+ return $this->promotion_start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getPromotionStartDate()
+
+ * Start date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_start_date = 7;
+ * @return string|null
+ */
+ public function getPromotionStartDateUnwrapped()
+ {
+ $wrapper = $this->getPromotionStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Start date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_start_date = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPromotionStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->promotion_start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Start date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_start_date = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPromotionStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPromotionStartDate($wrappedVar);
+ }
+
+ /**
+ * End date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_end_date = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPromotionEndDate()
+ {
+ return $this->promotion_end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getPromotionEndDate()
+
+ * End date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_end_date = 8;
+ * @return string|null
+ */
+ public function getPromotionEndDateUnwrapped()
+ {
+ $wrapper = $this->getPromotionEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * End date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_end_date = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPromotionEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->promotion_end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * End date of when the promotion is eligible to be redeemed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_end_date = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPromotionEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPromotionEndDate($wrappedVar);
+ }
+
+ /**
+ * The occasion the promotion was intended for.
+ * If an occasion is set, the redemption window will need to fall within
+ * the date range associated with the occasion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9;
+ * @return int
+ */
+ public function getOccasion()
+ {
+ return $this->occasion;
+ }
+
+ /**
+ * The occasion the promotion was intended for.
+ * If an occasion is set, the redemption window will need to fall within
+ * the date range associated with the occasion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setOccasion($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PromotionExtensionOccasionEnum_PromotionExtensionOccasion::class);
+ $this->occasion = $var;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ * This field is required.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 10;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ * This field is required.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 10;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 11;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 11;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 13;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 13;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 14;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 14;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 14;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for appending params to landing page URLs served with parallel
+ * tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 14;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+ /**
+ * The language of the promotion.
+ * Represented as BCP 47 language tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 15;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * The language of the promotion.
+ * Represented as BCP 47 language tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 15;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language of the promotion.
+ * Represented as BCP 47 language tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 15;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language of the promotion.
+ * Represented as BCP 47 language tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 15;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+ /**
+ * Percentage off discount in the promotion in micros.
+ * One million is equivalent to one percent.
+ * Either this or money_off_amount is required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_off = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPercentOff()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Returns the unboxed value from getPercentOff()
+
+ * Percentage off discount in the promotion in micros.
+ * One million is equivalent to one percent.
+ * Either this or money_off_amount is required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_off = 3;
+ * @return int|string|null
+ */
+ public function getPercentOffUnwrapped()
+ {
+ $wrapper = $this->getPercentOff();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Percentage off discount in the promotion in micros.
+ * One million is equivalent to one percent.
+ * Either this or money_off_amount is required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_off = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPercentOff($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Percentage off discount in the promotion in micros.
+ * One million is equivalent to one percent.
+ * Either this or money_off_amount is required.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_off = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPercentOffUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPercentOff($wrappedVar);
+ }
+
+ /**
+ * Money amount off for discount in the promotion.
+ * Either this or percent_off is required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money money_amount_off = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\Money
+ */
+ public function getMoneyAmountOff()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Money amount off for discount in the promotion.
+ * Either this or percent_off is required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money money_amount_off = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\Money $var
+ * @return $this
+ */
+ public function setMoneyAmountOff($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Money::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * A code the user should use in order to be eligible for the promotion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_code = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPromotionCode()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Returns the unboxed value from getPromotionCode()
+
+ * A code the user should use in order to be eligible for the promotion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_code = 5;
+ * @return string|null
+ */
+ public function getPromotionCodeUnwrapped()
+ {
+ $wrapper = $this->getPromotionCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A code the user should use in order to be eligible for the promotion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_code = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPromotionCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A code the user should use in order to be eligible for the promotion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promotion_code = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPromotionCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPromotionCode($wrappedVar);
+ }
+
+ /**
+ * The amount the total order needs to be for the user to be eligible for
+ * the promotion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money orders_over_amount = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\Money
+ */
+ public function getOrdersOverAmount()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * The amount the total order needs to be for the user to be eligible for
+ * the promotion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money orders_over_amount = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\Money $var
+ * @return $this
+ */
+ public function setOrdersOverAmount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Money::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getDiscountType()
+ {
+ return $this->whichOneof("discount_type");
+ }
+
+ /**
+ * @return string
+ */
+ public function getPromotionTrigger()
+ {
+ return $this->whichOneof("promotion_trigger");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ProximityInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ProximityInfo.php
new file mode 100644
index 000000000..26ba66d7f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ProximityInfo.php
@@ -0,0 +1,204 @@
+google.ads.googleads.v2.common.ProximityInfo
+ */
+final class ProximityInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Latitude and longitude.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GeoPointInfo geo_point = 1;
+ */
+ private $geo_point = null;
+ /**
+ * The radius of the proximity.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue radius = 2;
+ */
+ private $radius = null;
+ /**
+ * The unit of measurement of the radius. Default is KILOMETERS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3;
+ */
+ private $radius_units = 0;
+ /**
+ * Full address.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AddressInfo address = 4;
+ */
+ private $address = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\GeoPointInfo $geo_point
+ * Latitude and longitude.
+ * @type \Google\Protobuf\DoubleValue $radius
+ * The radius of the proximity.
+ * @type int $radius_units
+ * The unit of measurement of the radius. Default is KILOMETERS.
+ * @type \Google\Ads\GoogleAds\V2\Common\AddressInfo $address
+ * Full address.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Latitude and longitude.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GeoPointInfo geo_point = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\GeoPointInfo
+ */
+ public function getGeoPoint()
+ {
+ return $this->geo_point;
+ }
+
+ /**
+ * Latitude and longitude.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GeoPointInfo geo_point = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\GeoPointInfo $var
+ * @return $this
+ */
+ public function setGeoPoint($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\GeoPointInfo::class);
+ $this->geo_point = $var;
+
+ return $this;
+ }
+
+ /**
+ * The radius of the proximity.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue radius = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getRadius()
+ {
+ return $this->radius;
+ }
+
+ /**
+ * Returns the unboxed value from getRadius()
+
+ * The radius of the proximity.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue radius = 2;
+ * @return float|null
+ */
+ public function getRadiusUnwrapped()
+ {
+ $wrapper = $this->getRadius();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The radius of the proximity.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue radius = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setRadius($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->radius = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The radius of the proximity.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue radius = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setRadiusUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setRadius($wrappedVar);
+ }
+
+ /**
+ * The unit of measurement of the radius. Default is KILOMETERS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3;
+ * @return int
+ */
+ public function getRadiusUnits()
+ {
+ return $this->radius_units;
+ }
+
+ /**
+ * The unit of measurement of the radius. Default is KILOMETERS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setRadiusUnits($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProximityRadiusUnitsEnum_ProximityRadiusUnits::class);
+ $this->radius_units = $var;
+
+ return $this;
+ }
+
+ /**
+ * Full address.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AddressInfo address = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\AddressInfo
+ */
+ public function getAddress()
+ {
+ return $this->address;
+ }
+
+ /**
+ * Full address.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AddressInfo address = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\AddressInfo $var
+ * @return $this
+ */
+ public function setAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AddressInfo::class);
+ $this->address = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php b/src/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php
new file mode 100644
index 000000000..34f1bdc1a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/RealTimeBiddingSetting.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.RealTimeBiddingSetting
+ */
+final class RealTimeBiddingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Whether the campaign is opted in to real-time bidding.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ */
+ private $opt_in = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BoolValue $opt_in
+ * Whether the campaign is opted in to real-time bidding.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\RealTimeBiddingSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Whether the campaign is opted in to real-time bidding.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getOptIn()
+ {
+ return $this->opt_in;
+ }
+
+ /**
+ * Returns the unboxed value from getOptIn()
+
+ * Whether the campaign is opted in to real-time bidding.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @return bool|null
+ */
+ public function getOptInUnwrapped()
+ {
+ $wrapper = $this->getOptIn();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the campaign is opted in to real-time bidding.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setOptIn($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->opt_in = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the campaign is opted in to real-time bidding.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue opt_in = 1;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setOptInUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setOptIn($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ResponsiveDisplayAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ResponsiveDisplayAdInfo.php
new file mode 100644
index 000000000..22a6482b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ResponsiveDisplayAdInfo.php
@@ -0,0 +1,882 @@
+google.ads.googleads.v2.common.ResponsiveDisplayAdInfo
+ */
+final class ResponsiveDisplayAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
+ * be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
+ * square_marketing_images the maximum is 15.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset marketing_images = 1;
+ */
+ private $marketing_images;
+ /**
+ * Square marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
+ * be 1:1 (+-1%). At least one square marketing_image is required. Combined
+ * with marketing_images the maximum is 15.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset square_marketing_images = 2;
+ */
+ private $square_marketing_images;
+ /**
+ * Logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
+ * be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset logo_images = 3;
+ */
+ private $logo_images;
+ /**
+ * Square logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
+ * be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset square_logo_images = 4;
+ */
+ private $square_logo_images;
+ /**
+ * Short format headlines for the ad. The maximum length is 30 characters.
+ * At least 1 and max 5 headlines can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 5;
+ */
+ private $headlines;
+ /**
+ * A required long format headline. The maximum length is 90 characters.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdTextAsset long_headline = 6;
+ */
+ private $long_headline = null;
+ /**
+ * Descriptive texts for the ad. The maximum length is 90 characters. At
+ * least 1 and max 5 headlines can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 7;
+ */
+ private $descriptions;
+ /**
+ * Optional YouTube vidoes for the ad. A maximum of 5 videos can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset youtube_videos = 8;
+ */
+ private $youtube_videos;
+ /**
+ * The advertiser/brand name. Maximum display width is 25.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 9;
+ */
+ private $business_name = null;
+ /**
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 10;
+ */
+ private $main_color = null;
+ /**
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 11;
+ */
+ private $accent_color = null;
+ /**
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 12;
+ */
+ private $allow_flexible_color = null;
+ /**
+ * The call-to-action text for the ad. Maximum display width is 30.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 13;
+ */
+ private $call_to_action_text = null;
+ /**
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ */
+ private $price_prefix = null;
+ /**
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ */
+ private $promo_text = null;
+ /**
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16;
+ */
+ private $format_setting = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $marketing_images
+ * Marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
+ * be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
+ * square_marketing_images the maximum is 15.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $square_marketing_images
+ * Square marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
+ * be 1:1 (+-1%). At least one square marketing_image is required. Combined
+ * with marketing_images the maximum is 15.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $logo_images
+ * Logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
+ * be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $square_logo_images
+ * Square logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
+ * be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $headlines
+ * Short format headlines for the ad. The maximum length is 30 characters.
+ * At least 1 and max 5 headlines can be specified.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset $long_headline
+ * A required long format headline. The maximum length is 90 characters.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $descriptions
+ * Descriptive texts for the ad. The maximum length is 90 characters. At
+ * least 1 and max 5 headlines can be specified.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdVideoAsset[]|\Google\Protobuf\Internal\RepeatedField $youtube_videos
+ * Optional YouTube vidoes for the ad. A maximum of 5 videos can be specified.
+ * @type \Google\Protobuf\StringValue $business_name
+ * The advertiser/brand name. Maximum display width is 25.
+ * @type \Google\Protobuf\StringValue $main_color
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ * @type \Google\Protobuf\StringValue $accent_color
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ * @type \Google\Protobuf\BoolValue $allow_flexible_color
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ * @type \Google\Protobuf\StringValue $call_to_action_text
+ * The call-to-action text for the ad. Maximum display width is 30.
+ * @type \Google\Protobuf\StringValue $price_prefix
+ * Prefix before price. E.g. 'as low as'.
+ * @type \Google\Protobuf\StringValue $promo_text
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ * @type int $format_setting
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
+ * be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
+ * square_marketing_images the maximum is 15.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset marketing_images = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMarketingImages()
+ {
+ return $this->marketing_images;
+ }
+
+ /**
+ * Marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
+ * be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
+ * square_marketing_images the maximum is 15.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset marketing_images = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMarketingImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdImageAsset::class);
+ $this->marketing_images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Square marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
+ * be 1:1 (+-1%). At least one square marketing_image is required. Combined
+ * with marketing_images the maximum is 15.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset square_marketing_images = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getSquareMarketingImages()
+ {
+ return $this->square_marketing_images;
+ }
+
+ /**
+ * Square marketing images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
+ * be 1:1 (+-1%). At least one square marketing_image is required. Combined
+ * with marketing_images the maximum is 15.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset square_marketing_images = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setSquareMarketingImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdImageAsset::class);
+ $this->square_marketing_images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
+ * be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset logo_images = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLogoImages()
+ {
+ return $this->logo_images;
+ }
+
+ /**
+ * Logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
+ * be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset logo_images = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLogoImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdImageAsset::class);
+ $this->logo_images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Square logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
+ * be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset square_logo_images = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getSquareLogoImages()
+ {
+ return $this->square_logo_images;
+ }
+
+ /**
+ * Square logo images to be used in the ad. Valid image types are GIF,
+ * JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
+ * be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdImageAsset square_logo_images = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdImageAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setSquareLogoImages($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdImageAsset::class);
+ $this->square_logo_images = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Short format headlines for the ad. The maximum length is 30 characters.
+ * At least 1 and max 5 headlines can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getHeadlines()
+ {
+ return $this->headlines;
+ }
+
+ /**
+ * Short format headlines for the ad. The maximum length is 30 characters.
+ * At least 1 and max 5 headlines can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setHeadlines($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->headlines = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A required long format headline. The maximum length is 90 characters.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdTextAsset long_headline = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\AdTextAsset
+ */
+ public function getLongHeadline()
+ {
+ return $this->long_headline;
+ }
+
+ /**
+ * A required long format headline. The maximum length is 90 characters.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdTextAsset long_headline = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset $var
+ * @return $this
+ */
+ public function setLongHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->long_headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Descriptive texts for the ad. The maximum length is 90 characters. At
+ * least 1 and max 5 headlines can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDescriptions()
+ {
+ return $this->descriptions;
+ }
+
+ /**
+ * Descriptive texts for the ad. The maximum length is 90 characters. At
+ * least 1 and max 5 headlines can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDescriptions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->descriptions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Optional YouTube vidoes for the ad. A maximum of 5 videos can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset youtube_videos = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getYoutubeVideos()
+ {
+ return $this->youtube_videos;
+ }
+
+ /**
+ * Optional YouTube vidoes for the ad. A maximum of 5 videos can be specified.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdVideoAsset youtube_videos = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdVideoAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setYoutubeVideos($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdVideoAsset::class);
+ $this->youtube_videos = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The advertiser/brand name. Maximum display width is 25.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * The advertiser/brand name. Maximum display width is 25.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 9;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The advertiser/brand name. Maximum display width is 25.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The advertiser/brand name. Maximum display width is 25.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMainColor()
+ {
+ return $this->main_color;
+ }
+
+ /**
+ * Returns the unboxed value from getMainColor()
+
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 10;
+ * @return string|null
+ */
+ public function getMainColorUnwrapped()
+ {
+ $wrapper = $this->getMainColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMainColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->main_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue main_color = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMainColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMainColor($wrappedVar);
+ }
+
+ /**
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAccentColor()
+ {
+ return $this->accent_color;
+ }
+
+ /**
+ * Returns the unboxed value from getAccentColor()
+
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 11;
+ * @return string|null
+ */
+ public function getAccentColorUnwrapped()
+ {
+ $wrapper = $this->getAccentColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAccentColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->accent_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ * If one of main_color and accent_color is set, the other is required as
+ * well.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue accent_color = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAccentColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAccentColor($wrappedVar);
+ }
+
+ /**
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 12;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getAllowFlexibleColor()
+ {
+ return $this->allow_flexible_color;
+ }
+
+ /**
+ * Returns the unboxed value from getAllowFlexibleColor()
+
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 12;
+ * @return bool|null
+ */
+ public function getAllowFlexibleColorUnwrapped()
+ {
+ $wrapper = $this->getAllowFlexibleColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 12;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setAllowFlexibleColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->allow_flexible_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Advertiser's consent to allow flexible color. When true, the ad may be
+ * served with different color if necessary. When false, the ad will be served
+ * with the specified colors or a neutral color.
+ * The default value is true.
+ * Must be true if main_color and accent_color are not set.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue allow_flexible_color = 12;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setAllowFlexibleColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setAllowFlexibleColor($wrappedVar);
+ }
+
+ /**
+ * The call-to-action text for the ad. Maximum display width is 30.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallToActionText()
+ {
+ return $this->call_to_action_text;
+ }
+
+ /**
+ * Returns the unboxed value from getCallToActionText()
+
+ * The call-to-action text for the ad. Maximum display width is 30.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 13;
+ * @return string|null
+ */
+ public function getCallToActionTextUnwrapped()
+ {
+ $wrapper = $this->getCallToActionText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The call-to-action text for the ad. Maximum display width is 30.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallToActionText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->call_to_action_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The call-to-action text for the ad. Maximum display width is 30.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_to_action_text = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallToActionTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallToActionText($wrappedVar);
+ }
+
+ /**
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPricePrefix()
+ {
+ return $this->price_prefix;
+ }
+
+ /**
+ * Returns the unboxed value from getPricePrefix()
+
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @return string|null
+ */
+ public function getPricePrefixUnwrapped()
+ {
+ $wrapper = $this->getPricePrefix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPricePrefix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->price_prefix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Prefix before price. E.g. 'as low as'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue price_prefix = 14;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPricePrefixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPricePrefix($wrappedVar);
+ }
+
+ /**
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPromoText()
+ {
+ return $this->promo_text;
+ }
+
+ /**
+ * Returns the unboxed value from getPromoText()
+
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @return string|null
+ */
+ public function getPromoTextUnwrapped()
+ {
+ $wrapper = $this->getPromoText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPromoText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->promo_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Promotion text used for dyanmic formats of responsive ads. For example
+ * 'Free two-day shipping'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue promo_text = 15;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPromoTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPromoText($wrappedVar);
+ }
+
+ /**
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16;
+ * @return int
+ */
+ public function getFormatSetting()
+ {
+ return $this->format_setting;
+ }
+
+ /**
+ * Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16;
+ * @param int $var
+ * @return $this
+ */
+ public function setFormatSetting($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DisplayAdFormatSettingEnum_DisplayAdFormatSetting::class);
+ $this->format_setting = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ResponsiveSearchAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ResponsiveSearchAdInfo.php
new file mode 100644
index 000000000..ccaff00b8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ResponsiveSearchAdInfo.php
@@ -0,0 +1,249 @@
+google.ads.googleads.v2.common.ResponsiveSearchAdInfo
+ */
+final class ResponsiveSearchAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 1;
+ */
+ private $headlines;
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 2;
+ */
+ private $descriptions;
+ /**
+ * First part of text that may appear appended to the url displayed in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 3;
+ */
+ private $path1 = null;
+ /**
+ * Second part of text that may appear appended to the url displayed in the
+ * ad. This field can only be set when path1 is also set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 4;
+ */
+ private $path2 = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $headlines
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $descriptions
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ * @type \Google\Protobuf\StringValue $path1
+ * First part of text that may appear appended to the url displayed in the ad.
+ * @type \Google\Protobuf\StringValue $path2
+ * Second part of text that may appear appended to the url displayed in the
+ * ad. This field can only be set when path1 is also set.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getHeadlines()
+ {
+ return $this->headlines;
+ }
+
+ /**
+ * List of text assets for headlines. When the ad serves the headlines will
+ * be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset headlines = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setHeadlines($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->headlines = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDescriptions()
+ {
+ return $this->descriptions;
+ }
+
+ /**
+ * List of text assets for descriptions. When the ad serves the descriptions
+ * will be selected from this list.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdTextAsset descriptions = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdTextAsset[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDescriptions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdTextAsset::class);
+ $this->descriptions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * First part of text that may appear appended to the url displayed in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPath1()
+ {
+ return $this->path1;
+ }
+
+ /**
+ * Returns the unboxed value from getPath1()
+
+ * First part of text that may appear appended to the url displayed in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 3;
+ * @return string|null
+ */
+ public function getPath1Unwrapped()
+ {
+ $wrapper = $this->getPath1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * First part of text that may appear appended to the url displayed in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPath1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->path1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * First part of text that may appear appended to the url displayed in the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path1 = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPath1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPath1($wrappedVar);
+ }
+
+ /**
+ * Second part of text that may appear appended to the url displayed in the
+ * ad. This field can only be set when path1 is also set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPath2()
+ {
+ return $this->path2;
+ }
+
+ /**
+ * Returns the unboxed value from getPath2()
+
+ * Second part of text that may appear appended to the url displayed in the
+ * ad. This field can only be set when path1 is also set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 4;
+ * @return string|null
+ */
+ public function getPath2Unwrapped()
+ {
+ $wrapper = $this->getPath2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Second part of text that may appear appended to the url displayed in the
+ * ad. This field can only be set when path1 is also set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPath2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->path2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Second part of text that may appear appended to the url displayed in the
+ * ad. This field can only be set when path1 is also set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue path2 = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPath2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPath2($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/RuleBasedUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/RuleBasedUserListInfo.php
new file mode 100644
index 000000000..64fcd8371
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/RuleBasedUserListInfo.php
@@ -0,0 +1,209 @@
+google.ads.googleads.v2.common.RuleBasedUserListInfo
+ */
+final class RuleBasedUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The status of pre-population. The field is default to NONE if not set which
+ * means the previous users will not be considered. If set to REQUESTED, past
+ * site visitors or app users who match the list definition will be included
+ * in the list (works on the Display Network only). This will only
+ * add past users from within the last 30 days, depending on the
+ * list's membership duration and the date when the remarketing tag is added.
+ * The status will be updated to FINISHED once request is processed, or FAILED
+ * if the request fails.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1;
+ */
+ private $prepopulation_status = 0;
+ protected $rule_based_user_list;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $prepopulation_status
+ * The status of pre-population. The field is default to NONE if not set which
+ * means the previous users will not be considered. If set to REQUESTED, past
+ * site visitors or app users who match the list definition will be included
+ * in the list (works on the Display Network only). This will only
+ * add past users from within the last 30 days, depending on the
+ * list's membership duration and the date when the remarketing tag is added.
+ * The status will be updated to FINISHED once request is processed, or FAILED
+ * if the request fails.
+ * @type \Google\Ads\GoogleAds\V2\Common\CombinedRuleUserListInfo $combined_rule_user_list
+ * User lists defined by combining two rules.
+ * There are two operators: AND, where the left and right operands have to
+ * be true; AND_NOT where left operand is true but right operand is false.
+ * @type \Google\Ads\GoogleAds\V2\Common\DateSpecificRuleUserListInfo $date_specific_rule_user_list
+ * Visitors of a page during specific dates. The visiting periods are
+ * defined as follows:
+ * Between start_date (inclusive) and end_date (inclusive);
+ * Before end_date (exclusive) with start_date = 2000-01-01;
+ * After start_date (exclusive) with end_date = 2037-12-30.
+ * @type \Google\Ads\GoogleAds\V2\Common\ExpressionRuleUserListInfo $expression_rule_user_list
+ * Visitors of a page. The page visit is defined by one boolean rule
+ * expression.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The status of pre-population. The field is default to NONE if not set which
+ * means the previous users will not be considered. If set to REQUESTED, past
+ * site visitors or app users who match the list definition will be included
+ * in the list (works on the Display Network only). This will only
+ * add past users from within the last 30 days, depending on the
+ * list's membership duration and the date when the remarketing tag is added.
+ * The status will be updated to FINISHED once request is processed, or FAILED
+ * if the request fails.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1;
+ * @return int
+ */
+ public function getPrepopulationStatus()
+ {
+ return $this->prepopulation_status;
+ }
+
+ /**
+ * The status of pre-population. The field is default to NONE if not set which
+ * means the previous users will not be considered. If set to REQUESTED, past
+ * site visitors or app users who match the list definition will be included
+ * in the list (works on the Display Network only). This will only
+ * add past users from within the last 30 days, depending on the
+ * list's membership duration and the date when the remarketing tag is added.
+ * The status will be updated to FINISHED once request is processed, or FAILED
+ * if the request fails.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setPrepopulationStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListPrepopulationStatusEnum_UserListPrepopulationStatus::class);
+ $this->prepopulation_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * User lists defined by combining two rules.
+ * There are two operators: AND, where the left and right operands have to
+ * be true; AND_NOT where left operand is true but right operand is false.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CombinedRuleUserListInfo combined_rule_user_list = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\CombinedRuleUserListInfo
+ */
+ public function getCombinedRuleUserList()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * User lists defined by combining two rules.
+ * There are two operators: AND, where the left and right operands have to
+ * be true; AND_NOT where left operand is true but right operand is false.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CombinedRuleUserListInfo combined_rule_user_list = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\CombinedRuleUserListInfo $var
+ * @return $this
+ */
+ public function setCombinedRuleUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CombinedRuleUserListInfo::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Visitors of a page during specific dates. The visiting periods are
+ * defined as follows:
+ * Between start_date (inclusive) and end_date (inclusive);
+ * Before end_date (exclusive) with start_date = 2000-01-01;
+ * After start_date (exclusive) with end_date = 2037-12-30.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DateSpecificRuleUserListInfo date_specific_rule_user_list = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\DateSpecificRuleUserListInfo
+ */
+ public function getDateSpecificRuleUserList()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Visitors of a page during specific dates. The visiting periods are
+ * defined as follows:
+ * Between start_date (inclusive) and end_date (inclusive);
+ * Before end_date (exclusive) with start_date = 2000-01-01;
+ * After start_date (exclusive) with end_date = 2037-12-30.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DateSpecificRuleUserListInfo date_specific_rule_user_list = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\DateSpecificRuleUserListInfo $var
+ * @return $this
+ */
+ public function setDateSpecificRuleUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DateSpecificRuleUserListInfo::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Visitors of a page. The page visit is defined by one boolean rule
+ * expression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExpressionRuleUserListInfo expression_rule_user_list = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\ExpressionRuleUserListInfo
+ */
+ public function getExpressionRuleUserList()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Visitors of a page. The page visit is defined by one boolean rule
+ * expression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExpressionRuleUserListInfo expression_rule_user_list = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\ExpressionRuleUserListInfo $var
+ * @return $this
+ */
+ public function setExpressionRuleUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ExpressionRuleUserListInfo::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getRuleBasedUserList()
+ {
+ return $this->whichOneof("rule_based_user_list");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Segments.php b/src/Google/Ads/GoogleAds/V2/Common/Segments.php
new file mode 100644
index 000000000..3aa081584
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Segments.php
@@ -0,0 +1,4361 @@
+google.ads.googleads.v2.common.Segments
+ */
+final class Segments extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Ad network type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3;
+ */
+ private $ad_network_type = 0;
+ /**
+ * Click type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ClickTypeEnum.ClickType click_type = 26;
+ */
+ private $click_type = 0;
+ /**
+ * Resource name of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 52;
+ */
+ private $conversion_action = null;
+ /**
+ * Conversion action category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_category = 53;
+ */
+ private $conversion_action_category = 0;
+ /**
+ * Conversion action name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action_name = 54;
+ */
+ private $conversion_action_name = null;
+ /**
+ * This segments your conversion columns by the original conversion and
+ * conversion value vs. the delta if conversions were adjusted. False row has
+ * the data as originally stated; While true row has the delta between data
+ * now and the data as originally stated. Summing the two together results
+ * post-adjustment data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue conversion_adjustment = 27;
+ */
+ private $conversion_adjustment = null;
+ /**
+ * Conversion attribution event type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAttributionEventTypeEnum.ConversionAttributionEventType conversion_attribution_event_type = 2;
+ */
+ private $conversion_attribution_event_type = 0;
+ /**
+ * An enum value representing the number of days between the impression and
+ * the conversion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionLagBucketEnum.ConversionLagBucket conversion_lag_bucket = 50;
+ */
+ private $conversion_lag_bucket = 0;
+ /**
+ * An enum value representing the number of days between the impression and
+ * the conversion or between the impression and adjustments to the conversion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51;
+ */
+ private $conversion_or_adjustment_lag_bucket = 0;
+ /**
+ * Date to which metrics apply.
+ * yyyy-MM-dd format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue date = 4;
+ */
+ private $date = null;
+ /**
+ * Day of the week, e.g., MONDAY.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+ */
+ private $day_of_week = 0;
+ /**
+ * Device to which metrics apply.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device device = 1;
+ */
+ private $device = 0;
+ /**
+ * External conversion source.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExternalConversionSourceEnum.ExternalConversionSource external_conversion_source = 55;
+ */
+ private $external_conversion_source = 0;
+ /**
+ * Resource name of the geo target constant that represents an airport.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_airport = 65;
+ */
+ private $geo_target_airport = null;
+ /**
+ * Resource name of the geo target constant that represents a canton.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_canton = 76;
+ */
+ private $geo_target_canton = null;
+ /**
+ * Resource name of the geo target constant that represents a city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_city = 62;
+ */
+ private $geo_target_city = null;
+ /**
+ * Resource name of the geo target constant that represents a country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_country = 77;
+ */
+ private $geo_target_country = null;
+ /**
+ * Resource name of the geo target constant that represents a county.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_county = 68;
+ */
+ private $geo_target_county = null;
+ /**
+ * Resource name of the geo target constant that represents a district.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_district = 69;
+ */
+ private $geo_target_district = null;
+ /**
+ * Resource name of the geo target constant that represents a metro.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_metro = 63;
+ */
+ private $geo_target_metro = null;
+ /**
+ * Resource name of the geo target constant that represents the most
+ * specific location.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_most_specific_location = 72;
+ */
+ private $geo_target_most_specific_location = null;
+ /**
+ * Resource name of the geo target constant that represents a postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_postal_code = 71;
+ */
+ private $geo_target_postal_code = null;
+ /**
+ * Resource name of the geo target constant that represents a province.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_province = 75;
+ */
+ private $geo_target_province = null;
+ /**
+ * Resource name of the geo target constant that represents a region.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_region = 64;
+ */
+ private $geo_target_region = null;
+ /**
+ * Resource name of the geo target constant that represents a state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_state = 67;
+ */
+ private $geo_target_state = null;
+ /**
+ * Hotel booking window in days.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_booking_window_days = 6;
+ */
+ private $hotel_booking_window_days = null;
+ /**
+ * Hotel center ID.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 7;
+ */
+ private $hotel_center_id = null;
+ /**
+ * Hotel check-in date. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_check_in_date = 8;
+ */
+ private $hotel_check_in_date = null;
+ /**
+ * Hotel check-in day of week.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek hotel_check_in_day_of_week = 9;
+ */
+ private $hotel_check_in_day_of_week = 0;
+ /**
+ * Hotel city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_city = 10;
+ */
+ private $hotel_city = null;
+ /**
+ * Hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_class = 11;
+ */
+ private $hotel_class = null;
+ /**
+ * Hotel country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_country = 12;
+ */
+ private $hotel_country = null;
+ /**
+ * Hotel date selection type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType hotel_date_selection_type = 13;
+ */
+ private $hotel_date_selection_type = 0;
+ /**
+ * Hotel length of stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_length_of_stay = 14;
+ */
+ private $hotel_length_of_stay = null;
+ /**
+ * Hotel rate rule ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_rate_rule_id = 73;
+ */
+ private $hotel_rate_rule_id = null;
+ /**
+ * Hotel rate type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74;
+ */
+ private $hotel_rate_type = 0;
+ /**
+ * Hotel state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_state = 15;
+ */
+ private $hotel_state = null;
+ /**
+ * Hour of day as a number between 0 and 23, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hour = 16;
+ */
+ private $hour = null;
+ /**
+ * Only used with feed item metrics.
+ * Indicates whether the interaction metrics occurred on the feed item itself
+ * or a different extension or ad unit.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue interaction_on_this_extension = 49;
+ */
+ private $interaction_on_this_extension = null;
+ /**
+ * Keyword criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Keyword keyword = 61;
+ */
+ private $keyword = null;
+ /**
+ * Month as represented by the date of the first day of a month. Formatted as
+ * yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue month = 17;
+ */
+ private $month = null;
+ /**
+ * Month of the year, e.g., January.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18;
+ */
+ private $month_of_year = 0;
+ /**
+ * Partner hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue partner_hotel_id = 19;
+ */
+ private $partner_hotel_id = null;
+ /**
+ * Placeholder type. This is only used with feed item metrics.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20;
+ */
+ private $placeholder_type = 0;
+ /**
+ * Aggregator ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_aggregator_id = 28;
+ */
+ private $product_aggregator_id = null;
+ /**
+ * Bidding category (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level1 = 56;
+ */
+ private $product_bidding_category_level1 = null;
+ /**
+ * Bidding category (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level2 = 57;
+ */
+ private $product_bidding_category_level2 = null;
+ /**
+ * Bidding category (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level3 = 58;
+ */
+ private $product_bidding_category_level3 = null;
+ /**
+ * Bidding category (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level4 = 59;
+ */
+ private $product_bidding_category_level4 = null;
+ /**
+ * Bidding category (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level5 = 60;
+ */
+ private $product_bidding_category_level5 = null;
+ /**
+ * Brand of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_brand = 29;
+ */
+ private $product_brand = null;
+ /**
+ * Channel of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel product_channel = 30;
+ */
+ private $product_channel = 0;
+ /**
+ * Channel exclusivity of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31;
+ */
+ private $product_channel_exclusivity = 0;
+ /**
+ * Condition of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition product_condition = 32;
+ */
+ private $product_condition = 0;
+ /**
+ * Resource name of the geo target constant for the country of sale of the
+ * product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_country = 33;
+ */
+ private $product_country = null;
+ /**
+ * Custom attribute 0 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute0 = 34;
+ */
+ private $product_custom_attribute0 = null;
+ /**
+ * Custom attribute 1 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute1 = 35;
+ */
+ private $product_custom_attribute1 = null;
+ /**
+ * Custom attribute 2 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute2 = 36;
+ */
+ private $product_custom_attribute2 = null;
+ /**
+ * Custom attribute 3 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute3 = 37;
+ */
+ private $product_custom_attribute3 = null;
+ /**
+ * Custom attribute 4 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute4 = 38;
+ */
+ private $product_custom_attribute4 = null;
+ /**
+ * Item ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_item_id = 39;
+ */
+ private $product_item_id = null;
+ /**
+ * Resource name of the language constant for the language of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_language = 40;
+ */
+ private $product_language = null;
+ /**
+ * Merchant ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_merchant_id = 41;
+ */
+ private $product_merchant_id = null;
+ /**
+ * Store ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_store_id = 42;
+ */
+ private $product_store_id = null;
+ /**
+ * Title of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_title = 43;
+ */
+ private $product_title = null;
+ /**
+ * Type (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l1 = 44;
+ */
+ private $product_type_l1 = null;
+ /**
+ * Type (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l2 = 45;
+ */
+ private $product_type_l2 = null;
+ /**
+ * Type (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l3 = 46;
+ */
+ private $product_type_l3 = null;
+ /**
+ * Type (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l4 = 47;
+ */
+ private $product_type_l4 = null;
+ /**
+ * Type (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l5 = 48;
+ */
+ private $product_type_l5 = null;
+ /**
+ * Quarter as represented by the date of the first day of a quarter.
+ * Uses the calendar year for quarters, e.g., the second quarter of 2018
+ * starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue quarter = 21;
+ */
+ private $quarter = null;
+ /**
+ * Type of the search engine results page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70;
+ */
+ private $search_engine_results_page_type = 0;
+ /**
+ * Match type of the keyword that triggered the ad, including variants.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22;
+ */
+ private $search_term_match_type = 0;
+ /**
+ * Position of the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SlotEnum.Slot slot = 23;
+ */
+ private $slot = 0;
+ /**
+ * Resource name of the ad group criterion that represents webpage criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue webpage = 66;
+ */
+ private $webpage = null;
+ /**
+ * Week as defined as Monday through Sunday, and represented by the date of
+ * Monday. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue week = 24;
+ */
+ private $week = null;
+ /**
+ * Year, formatted as yyyy.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value year = 25;
+ */
+ private $year = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $ad_network_type
+ * Ad network type.
+ * @type int $click_type
+ * Click type.
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action.
+ * @type int $conversion_action_category
+ * Conversion action category.
+ * @type \Google\Protobuf\StringValue $conversion_action_name
+ * Conversion action name.
+ * @type \Google\Protobuf\BoolValue $conversion_adjustment
+ * This segments your conversion columns by the original conversion and
+ * conversion value vs. the delta if conversions were adjusted. False row has
+ * the data as originally stated; While true row has the delta between data
+ * now and the data as originally stated. Summing the two together results
+ * post-adjustment data.
+ * @type int $conversion_attribution_event_type
+ * Conversion attribution event type.
+ * @type int $conversion_lag_bucket
+ * An enum value representing the number of days between the impression and
+ * the conversion.
+ * @type int $conversion_or_adjustment_lag_bucket
+ * An enum value representing the number of days between the impression and
+ * the conversion or between the impression and adjustments to the conversion.
+ * @type \Google\Protobuf\StringValue $date
+ * Date to which metrics apply.
+ * yyyy-MM-dd format, e.g., 2018-04-17.
+ * @type int $day_of_week
+ * Day of the week, e.g., MONDAY.
+ * @type int $device
+ * Device to which metrics apply.
+ * @type int $external_conversion_source
+ * External conversion source.
+ * @type \Google\Protobuf\StringValue $geo_target_airport
+ * Resource name of the geo target constant that represents an airport.
+ * @type \Google\Protobuf\StringValue $geo_target_canton
+ * Resource name of the geo target constant that represents a canton.
+ * @type \Google\Protobuf\StringValue $geo_target_city
+ * Resource name of the geo target constant that represents a city.
+ * @type \Google\Protobuf\StringValue $geo_target_country
+ * Resource name of the geo target constant that represents a country.
+ * @type \Google\Protobuf\StringValue $geo_target_county
+ * Resource name of the geo target constant that represents a county.
+ * @type \Google\Protobuf\StringValue $geo_target_district
+ * Resource name of the geo target constant that represents a district.
+ * @type \Google\Protobuf\StringValue $geo_target_metro
+ * Resource name of the geo target constant that represents a metro.
+ * @type \Google\Protobuf\StringValue $geo_target_most_specific_location
+ * Resource name of the geo target constant that represents the most
+ * specific location.
+ * @type \Google\Protobuf\StringValue $geo_target_postal_code
+ * Resource name of the geo target constant that represents a postal code.
+ * @type \Google\Protobuf\StringValue $geo_target_province
+ * Resource name of the geo target constant that represents a province.
+ * @type \Google\Protobuf\StringValue $geo_target_region
+ * Resource name of the geo target constant that represents a region.
+ * @type \Google\Protobuf\StringValue $geo_target_state
+ * Resource name of the geo target constant that represents a state.
+ * @type \Google\Protobuf\Int64Value $hotel_booking_window_days
+ * Hotel booking window in days.
+ * @type \Google\Protobuf\Int64Value $hotel_center_id
+ * Hotel center ID.
+ * @type \Google\Protobuf\StringValue $hotel_check_in_date
+ * Hotel check-in date. Formatted as yyyy-MM-dd.
+ * @type int $hotel_check_in_day_of_week
+ * Hotel check-in day of week.
+ * @type \Google\Protobuf\StringValue $hotel_city
+ * Hotel city.
+ * @type \Google\Protobuf\Int32Value $hotel_class
+ * Hotel class.
+ * @type \Google\Protobuf\StringValue $hotel_country
+ * Hotel country.
+ * @type int $hotel_date_selection_type
+ * Hotel date selection type.
+ * @type \Google\Protobuf\Int32Value $hotel_length_of_stay
+ * Hotel length of stay.
+ * @type \Google\Protobuf\StringValue $hotel_rate_rule_id
+ * Hotel rate rule ID.
+ * @type int $hotel_rate_type
+ * Hotel rate type.
+ * @type \Google\Protobuf\StringValue $hotel_state
+ * Hotel state.
+ * @type \Google\Protobuf\Int32Value $hour
+ * Hour of day as a number between 0 and 23, inclusive.
+ * @type \Google\Protobuf\BoolValue $interaction_on_this_extension
+ * Only used with feed item metrics.
+ * Indicates whether the interaction metrics occurred on the feed item itself
+ * or a different extension or ad unit.
+ * @type \Google\Ads\GoogleAds\V2\Common\Keyword $keyword
+ * Keyword criterion.
+ * @type \Google\Protobuf\StringValue $month
+ * Month as represented by the date of the first day of a month. Formatted as
+ * yyyy-MM-dd.
+ * @type int $month_of_year
+ * Month of the year, e.g., January.
+ * @type \Google\Protobuf\StringValue $partner_hotel_id
+ * Partner hotel ID.
+ * @type int $placeholder_type
+ * Placeholder type. This is only used with feed item metrics.
+ * @type \Google\Protobuf\UInt64Value $product_aggregator_id
+ * Aggregator ID of the product.
+ * @type \Google\Protobuf\StringValue $product_bidding_category_level1
+ * Bidding category (level 1) of the product.
+ * @type \Google\Protobuf\StringValue $product_bidding_category_level2
+ * Bidding category (level 2) of the product.
+ * @type \Google\Protobuf\StringValue $product_bidding_category_level3
+ * Bidding category (level 3) of the product.
+ * @type \Google\Protobuf\StringValue $product_bidding_category_level4
+ * Bidding category (level 4) of the product.
+ * @type \Google\Protobuf\StringValue $product_bidding_category_level5
+ * Bidding category (level 5) of the product.
+ * @type \Google\Protobuf\StringValue $product_brand
+ * Brand of the product.
+ * @type int $product_channel
+ * Channel of the product.
+ * @type int $product_channel_exclusivity
+ * Channel exclusivity of the product.
+ * @type int $product_condition
+ * Condition of the product.
+ * @type \Google\Protobuf\StringValue $product_country
+ * Resource name of the geo target constant for the country of sale of the
+ * product.
+ * @type \Google\Protobuf\StringValue $product_custom_attribute0
+ * Custom attribute 0 of the product.
+ * @type \Google\Protobuf\StringValue $product_custom_attribute1
+ * Custom attribute 1 of the product.
+ * @type \Google\Protobuf\StringValue $product_custom_attribute2
+ * Custom attribute 2 of the product.
+ * @type \Google\Protobuf\StringValue $product_custom_attribute3
+ * Custom attribute 3 of the product.
+ * @type \Google\Protobuf\StringValue $product_custom_attribute4
+ * Custom attribute 4 of the product.
+ * @type \Google\Protobuf\StringValue $product_item_id
+ * Item ID of the product.
+ * @type \Google\Protobuf\StringValue $product_language
+ * Resource name of the language constant for the language of the product.
+ * @type \Google\Protobuf\UInt64Value $product_merchant_id
+ * Merchant ID of the product.
+ * @type \Google\Protobuf\StringValue $product_store_id
+ * Store ID of the product.
+ * @type \Google\Protobuf\StringValue $product_title
+ * Title of the product.
+ * @type \Google\Protobuf\StringValue $product_type_l1
+ * Type (level 1) of the product.
+ * @type \Google\Protobuf\StringValue $product_type_l2
+ * Type (level 2) of the product.
+ * @type \Google\Protobuf\StringValue $product_type_l3
+ * Type (level 3) of the product.
+ * @type \Google\Protobuf\StringValue $product_type_l4
+ * Type (level 4) of the product.
+ * @type \Google\Protobuf\StringValue $product_type_l5
+ * Type (level 5) of the product.
+ * @type \Google\Protobuf\StringValue $quarter
+ * Quarter as represented by the date of the first day of a quarter.
+ * Uses the calendar year for quarters, e.g., the second quarter of 2018
+ * starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ * @type int $search_engine_results_page_type
+ * Type of the search engine results page.
+ * @type int $search_term_match_type
+ * Match type of the keyword that triggered the ad, including variants.
+ * @type int $slot
+ * Position of the ad.
+ * @type \Google\Protobuf\StringValue $webpage
+ * Resource name of the ad group criterion that represents webpage criterion.
+ * @type \Google\Protobuf\StringValue $week
+ * Week as defined as Monday through Sunday, and represented by the date of
+ * Monday. Formatted as yyyy-MM-dd.
+ * @type \Google\Protobuf\Int32Value $year
+ * Year, formatted as yyyy.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Segments::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Ad network type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3;
+ * @return int
+ */
+ public function getAdNetworkType()
+ {
+ return $this->ad_network_type;
+ }
+
+ /**
+ * Ad network type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdNetworkType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdNetworkTypeEnum_AdNetworkType::class);
+ $this->ad_network_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Click type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ClickTypeEnum.ClickType click_type = 26;
+ * @return int
+ */
+ public function getClickType()
+ {
+ return $this->click_type;
+ }
+
+ /**
+ * Click type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ClickTypeEnum.ClickType click_type = 26;
+ * @param int $var
+ * @return $this
+ */
+ public function setClickType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ClickTypeEnum_ClickType::class);
+ $this->click_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Resource name of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 52;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 52;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 52;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 52;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * Conversion action category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_category = 53;
+ * @return int
+ */
+ public function getConversionActionCategory()
+ {
+ return $this->conversion_action_category;
+ }
+
+ /**
+ * Conversion action category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_category = 53;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionActionCategory($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionActionCategoryEnum_ConversionActionCategory::class);
+ $this->conversion_action_category = $var;
+
+ return $this;
+ }
+
+ /**
+ * Conversion action name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action_name = 54;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionActionName()
+ {
+ return $this->conversion_action_name;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionActionName()
+
+ * Conversion action name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action_name = 54;
+ * @return string|null
+ */
+ public function getConversionActionNameUnwrapped()
+ {
+ $wrapper = $this->getConversionActionName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Conversion action name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action_name = 54;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionActionName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Conversion action name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action_name = 54;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionActionName($wrappedVar);
+ }
+
+ /**
+ * This segments your conversion columns by the original conversion and
+ * conversion value vs. the delta if conversions were adjusted. False row has
+ * the data as originally stated; While true row has the delta between data
+ * now and the data as originally stated. Summing the two together results
+ * post-adjustment data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue conversion_adjustment = 27;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getConversionAdjustment()
+ {
+ return $this->conversion_adjustment;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAdjustment()
+
+ * This segments your conversion columns by the original conversion and
+ * conversion value vs. the delta if conversions were adjusted. False row has
+ * the data as originally stated; While true row has the delta between data
+ * now and the data as originally stated. Summing the two together results
+ * post-adjustment data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue conversion_adjustment = 27;
+ * @return bool|null
+ */
+ public function getConversionAdjustmentUnwrapped()
+ {
+ $wrapper = $this->getConversionAdjustment();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * This segments your conversion columns by the original conversion and
+ * conversion value vs. the delta if conversions were adjusted. False row has
+ * the data as originally stated; While true row has the delta between data
+ * now and the data as originally stated. Summing the two together results
+ * post-adjustment data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue conversion_adjustment = 27;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setConversionAdjustment($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->conversion_adjustment = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * This segments your conversion columns by the original conversion and
+ * conversion value vs. the delta if conversions were adjusted. False row has
+ * the data as originally stated; While true row has the delta between data
+ * now and the data as originally stated. Summing the two together results
+ * post-adjustment data.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue conversion_adjustment = 27;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setConversionAdjustmentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setConversionAdjustment($wrappedVar);
+ }
+
+ /**
+ * Conversion attribution event type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAttributionEventTypeEnum.ConversionAttributionEventType conversion_attribution_event_type = 2;
+ * @return int
+ */
+ public function getConversionAttributionEventType()
+ {
+ return $this->conversion_attribution_event_type;
+ }
+
+ /**
+ * Conversion attribution event type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAttributionEventTypeEnum.ConversionAttributionEventType conversion_attribution_event_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionAttributionEventType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionAttributionEventTypeEnum_ConversionAttributionEventType::class);
+ $this->conversion_attribution_event_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * An enum value representing the number of days between the impression and
+ * the conversion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionLagBucketEnum.ConversionLagBucket conversion_lag_bucket = 50;
+ * @return int
+ */
+ public function getConversionLagBucket()
+ {
+ return $this->conversion_lag_bucket;
+ }
+
+ /**
+ * An enum value representing the number of days between the impression and
+ * the conversion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionLagBucketEnum.ConversionLagBucket conversion_lag_bucket = 50;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionLagBucket($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionLagBucketEnum_ConversionLagBucket::class);
+ $this->conversion_lag_bucket = $var;
+
+ return $this;
+ }
+
+ /**
+ * An enum value representing the number of days between the impression and
+ * the conversion or between the impression and adjustments to the conversion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51;
+ * @return int
+ */
+ public function getConversionOrAdjustmentLagBucket()
+ {
+ return $this->conversion_or_adjustment_lag_bucket;
+ }
+
+ /**
+ * An enum value representing the number of days between the impression and
+ * the conversion or between the impression and adjustments to the conversion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionOrAdjustmentLagBucket($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionOrAdjustmentLagBucketEnum_ConversionOrAdjustmentLagBucket::class);
+ $this->conversion_or_adjustment_lag_bucket = $var;
+
+ return $this;
+ }
+
+ /**
+ * Date to which metrics apply.
+ * yyyy-MM-dd format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue date = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDate()
+ {
+ return $this->date;
+ }
+
+ /**
+ * Returns the unboxed value from getDate()
+
+ * Date to which metrics apply.
+ * yyyy-MM-dd format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue date = 4;
+ * @return string|null
+ */
+ public function getDateUnwrapped()
+ {
+ $wrapper = $this->getDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Date to which metrics apply.
+ * yyyy-MM-dd format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue date = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Date to which metrics apply.
+ * yyyy-MM-dd format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue date = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDate($wrappedVar);
+ }
+
+ /**
+ * Day of the week, e.g., MONDAY.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+ * @return int
+ */
+ public function getDayOfWeek()
+ {
+ return $this->day_of_week;
+ }
+
+ /**
+ * Day of the week, e.g., MONDAY.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setDayOfWeek($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum_DayOfWeek::class);
+ $this->day_of_week = $var;
+
+ return $this;
+ }
+
+ /**
+ * Device to which metrics apply.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device device = 1;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->device;
+ }
+
+ /**
+ * Device to which metrics apply.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device device = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DeviceEnum_Device::class);
+ $this->device = $var;
+
+ return $this;
+ }
+
+ /**
+ * External conversion source.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExternalConversionSourceEnum.ExternalConversionSource external_conversion_source = 55;
+ * @return int
+ */
+ public function getExternalConversionSource()
+ {
+ return $this->external_conversion_source;
+ }
+
+ /**
+ * External conversion source.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExternalConversionSourceEnum.ExternalConversionSource external_conversion_source = 55;
+ * @param int $var
+ * @return $this
+ */
+ public function setExternalConversionSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExternalConversionSourceEnum_ExternalConversionSource::class);
+ $this->external_conversion_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Resource name of the geo target constant that represents an airport.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_airport = 65;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetAirport()
+ {
+ return $this->geo_target_airport;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetAirport()
+
+ * Resource name of the geo target constant that represents an airport.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_airport = 65;
+ * @return string|null
+ */
+ public function getGeoTargetAirportUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetAirport();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents an airport.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_airport = 65;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetAirport($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_airport = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents an airport.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_airport = 65;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetAirportUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetAirport($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a canton.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_canton = 76;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetCanton()
+ {
+ return $this->geo_target_canton;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetCanton()
+
+ * Resource name of the geo target constant that represents a canton.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_canton = 76;
+ * @return string|null
+ */
+ public function getGeoTargetCantonUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetCanton();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a canton.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_canton = 76;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetCanton($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_canton = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a canton.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_canton = 76;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetCantonUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetCanton($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_city = 62;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetCity()
+ {
+ return $this->geo_target_city;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetCity()
+
+ * Resource name of the geo target constant that represents a city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_city = 62;
+ * @return string|null
+ */
+ public function getGeoTargetCityUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetCity();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_city = 62;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetCity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_city = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_city = 62;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetCityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetCity($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_country = 77;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetCountry()
+ {
+ return $this->geo_target_country;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetCountry()
+
+ * Resource name of the geo target constant that represents a country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_country = 77;
+ * @return string|null
+ */
+ public function getGeoTargetCountryUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetCountry();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_country = 77;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetCountry($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_country = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_country = 77;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetCountryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetCountry($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a county.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_county = 68;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetCounty()
+ {
+ return $this->geo_target_county;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetCounty()
+
+ * Resource name of the geo target constant that represents a county.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_county = 68;
+ * @return string|null
+ */
+ public function getGeoTargetCountyUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetCounty();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a county.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_county = 68;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetCounty($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_county = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a county.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_county = 68;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetCountyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetCounty($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a district.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_district = 69;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetDistrict()
+ {
+ return $this->geo_target_district;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetDistrict()
+
+ * Resource name of the geo target constant that represents a district.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_district = 69;
+ * @return string|null
+ */
+ public function getGeoTargetDistrictUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetDistrict();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a district.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_district = 69;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetDistrict($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_district = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a district.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_district = 69;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetDistrictUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetDistrict($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a metro.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_metro = 63;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetMetro()
+ {
+ return $this->geo_target_metro;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetMetro()
+
+ * Resource name of the geo target constant that represents a metro.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_metro = 63;
+ * @return string|null
+ */
+ public function getGeoTargetMetroUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetMetro();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a metro.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_metro = 63;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetMetro($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_metro = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a metro.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_metro = 63;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetMetroUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetMetro($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents the most
+ * specific location.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_most_specific_location = 72;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetMostSpecificLocation()
+ {
+ return $this->geo_target_most_specific_location;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetMostSpecificLocation()
+
+ * Resource name of the geo target constant that represents the most
+ * specific location.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_most_specific_location = 72;
+ * @return string|null
+ */
+ public function getGeoTargetMostSpecificLocationUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetMostSpecificLocation();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents the most
+ * specific location.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_most_specific_location = 72;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetMostSpecificLocation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_most_specific_location = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents the most
+ * specific location.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_most_specific_location = 72;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetMostSpecificLocationUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetMostSpecificLocation($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_postal_code = 71;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetPostalCode()
+ {
+ return $this->geo_target_postal_code;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetPostalCode()
+
+ * Resource name of the geo target constant that represents a postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_postal_code = 71;
+ * @return string|null
+ */
+ public function getGeoTargetPostalCodeUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetPostalCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_postal_code = 71;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetPostalCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_postal_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a postal code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_postal_code = 71;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetPostalCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetPostalCode($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a province.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_province = 75;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetProvince()
+ {
+ return $this->geo_target_province;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetProvince()
+
+ * Resource name of the geo target constant that represents a province.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_province = 75;
+ * @return string|null
+ */
+ public function getGeoTargetProvinceUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetProvince();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a province.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_province = 75;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetProvince($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_province = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a province.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_province = 75;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetProvinceUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetProvince($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a region.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_region = 64;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetRegion()
+ {
+ return $this->geo_target_region;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetRegion()
+
+ * Resource name of the geo target constant that represents a region.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_region = 64;
+ * @return string|null
+ */
+ public function getGeoTargetRegionUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetRegion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a region.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_region = 64;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetRegion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_region = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a region.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_region = 64;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetRegionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetRegion($wrappedVar);
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_state = 67;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetState()
+ {
+ return $this->geo_target_state;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetState()
+
+ * Resource name of the geo target constant that represents a state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_state = 67;
+ * @return string|null
+ */
+ public function getGeoTargetStateUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetState();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant that represents a state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_state = 67;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetState($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant that represents a state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_state = 67;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetStateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetState($wrappedVar);
+ }
+
+ /**
+ * Hotel booking window in days.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_booking_window_days = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getHotelBookingWindowDays()
+ {
+ return $this->hotel_booking_window_days;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelBookingWindowDays()
+
+ * Hotel booking window in days.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_booking_window_days = 6;
+ * @return int|string|null
+ */
+ public function getHotelBookingWindowDaysUnwrapped()
+ {
+ $wrapper = $this->getHotelBookingWindowDays();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel booking window in days.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_booking_window_days = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setHotelBookingWindowDays($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->hotel_booking_window_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Hotel booking window in days.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_booking_window_days = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setHotelBookingWindowDaysUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setHotelBookingWindowDays($wrappedVar);
+ }
+
+ /**
+ * Hotel center ID.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getHotelCenterId()
+ {
+ return $this->hotel_center_id;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelCenterId()
+
+ * Hotel center ID.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 7;
+ * @return int|string|null
+ */
+ public function getHotelCenterIdUnwrapped()
+ {
+ $wrapper = $this->getHotelCenterId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel center ID.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setHotelCenterId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->hotel_center_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Hotel center ID.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setHotelCenterIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setHotelCenterId($wrappedVar);
+ }
+
+ /**
+ * Hotel check-in date. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_check_in_date = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHotelCheckInDate()
+ {
+ return $this->hotel_check_in_date;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelCheckInDate()
+
+ * Hotel check-in date. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_check_in_date = 8;
+ * @return string|null
+ */
+ public function getHotelCheckInDateUnwrapped()
+ {
+ $wrapper = $this->getHotelCheckInDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel check-in date. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_check_in_date = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHotelCheckInDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->hotel_check_in_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Hotel check-in date. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_check_in_date = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHotelCheckInDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHotelCheckInDate($wrappedVar);
+ }
+
+ /**
+ * Hotel check-in day of week.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek hotel_check_in_day_of_week = 9;
+ * @return int
+ */
+ public function getHotelCheckInDayOfWeek()
+ {
+ return $this->hotel_check_in_day_of_week;
+ }
+
+ /**
+ * Hotel check-in day of week.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek hotel_check_in_day_of_week = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setHotelCheckInDayOfWeek($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum_DayOfWeek::class);
+ $this->hotel_check_in_day_of_week = $var;
+
+ return $this;
+ }
+
+ /**
+ * Hotel city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_city = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHotelCity()
+ {
+ return $this->hotel_city;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelCity()
+
+ * Hotel city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_city = 10;
+ * @return string|null
+ */
+ public function getHotelCityUnwrapped()
+ {
+ $wrapper = $this->getHotelCity();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_city = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHotelCity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->hotel_city = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Hotel city.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_city = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHotelCityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHotelCity($wrappedVar);
+ }
+
+ /**
+ * Hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_class = 11;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getHotelClass()
+ {
+ return $this->hotel_class;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelClass()
+
+ * Hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_class = 11;
+ * @return int|null
+ */
+ public function getHotelClassUnwrapped()
+ {
+ $wrapper = $this->getHotelClass();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_class = 11;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setHotelClass($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->hotel_class = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Hotel class.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_class = 11;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setHotelClassUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setHotelClass($wrappedVar);
+ }
+
+ /**
+ * Hotel country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_country = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHotelCountry()
+ {
+ return $this->hotel_country;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelCountry()
+
+ * Hotel country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_country = 12;
+ * @return string|null
+ */
+ public function getHotelCountryUnwrapped()
+ {
+ $wrapper = $this->getHotelCountry();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_country = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHotelCountry($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->hotel_country = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Hotel country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_country = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHotelCountryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHotelCountry($wrappedVar);
+ }
+
+ /**
+ * Hotel date selection type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType hotel_date_selection_type = 13;
+ * @return int
+ */
+ public function getHotelDateSelectionType()
+ {
+ return $this->hotel_date_selection_type;
+ }
+
+ /**
+ * Hotel date selection type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType hotel_date_selection_type = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setHotelDateSelectionType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\HotelDateSelectionTypeEnum_HotelDateSelectionType::class);
+ $this->hotel_date_selection_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Hotel length of stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_length_of_stay = 14;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getHotelLengthOfStay()
+ {
+ return $this->hotel_length_of_stay;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelLengthOfStay()
+
+ * Hotel length of stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_length_of_stay = 14;
+ * @return int|null
+ */
+ public function getHotelLengthOfStayUnwrapped()
+ {
+ $wrapper = $this->getHotelLengthOfStay();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel length of stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_length_of_stay = 14;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setHotelLengthOfStay($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->hotel_length_of_stay = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Hotel length of stay.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hotel_length_of_stay = 14;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setHotelLengthOfStayUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setHotelLengthOfStay($wrappedVar);
+ }
+
+ /**
+ * Hotel rate rule ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_rate_rule_id = 73;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHotelRateRuleId()
+ {
+ return $this->hotel_rate_rule_id;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelRateRuleId()
+
+ * Hotel rate rule ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_rate_rule_id = 73;
+ * @return string|null
+ */
+ public function getHotelRateRuleIdUnwrapped()
+ {
+ $wrapper = $this->getHotelRateRuleId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel rate rule ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_rate_rule_id = 73;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHotelRateRuleId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->hotel_rate_rule_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Hotel rate rule ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_rate_rule_id = 73;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHotelRateRuleIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHotelRateRuleId($wrappedVar);
+ }
+
+ /**
+ * Hotel rate type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74;
+ * @return int
+ */
+ public function getHotelRateType()
+ {
+ return $this->hotel_rate_type;
+ }
+
+ /**
+ * Hotel rate type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74;
+ * @param int $var
+ * @return $this
+ */
+ public function setHotelRateType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\HotelRateTypeEnum_HotelRateType::class);
+ $this->hotel_rate_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Hotel state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_state = 15;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHotelState()
+ {
+ return $this->hotel_state;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelState()
+
+ * Hotel state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_state = 15;
+ * @return string|null
+ */
+ public function getHotelStateUnwrapped()
+ {
+ $wrapper = $this->getHotelState();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hotel state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_state = 15;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHotelState($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->hotel_state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Hotel state.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue hotel_state = 15;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHotelStateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHotelState($wrappedVar);
+ }
+
+ /**
+ * Hour of day as a number between 0 and 23, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hour = 16;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getHour()
+ {
+ return $this->hour;
+ }
+
+ /**
+ * Returns the unboxed value from getHour()
+
+ * Hour of day as a number between 0 and 23, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hour = 16;
+ * @return int|null
+ */
+ public function getHourUnwrapped()
+ {
+ $wrapper = $this->getHour();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Hour of day as a number between 0 and 23, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hour = 16;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setHour($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->hour = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Hour of day as a number between 0 and 23, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value hour = 16;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setHourUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setHour($wrappedVar);
+ }
+
+ /**
+ * Only used with feed item metrics.
+ * Indicates whether the interaction metrics occurred on the feed item itself
+ * or a different extension or ad unit.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue interaction_on_this_extension = 49;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getInteractionOnThisExtension()
+ {
+ return $this->interaction_on_this_extension;
+ }
+
+ /**
+ * Returns the unboxed value from getInteractionOnThisExtension()
+
+ * Only used with feed item metrics.
+ * Indicates whether the interaction metrics occurred on the feed item itself
+ * or a different extension or ad unit.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue interaction_on_this_extension = 49;
+ * @return bool|null
+ */
+ public function getInteractionOnThisExtensionUnwrapped()
+ {
+ $wrapper = $this->getInteractionOnThisExtension();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Only used with feed item metrics.
+ * Indicates whether the interaction metrics occurred on the feed item itself
+ * or a different extension or ad unit.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue interaction_on_this_extension = 49;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setInteractionOnThisExtension($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->interaction_on_this_extension = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Only used with feed item metrics.
+ * Indicates whether the interaction metrics occurred on the feed item itself
+ * or a different extension or ad unit.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue interaction_on_this_extension = 49;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setInteractionOnThisExtensionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setInteractionOnThisExtension($wrappedVar);
+ }
+
+ /**
+ * Keyword criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Keyword keyword = 61;
+ * @return \Google\Ads\GoogleAds\V2\Common\Keyword
+ */
+ public function getKeyword()
+ {
+ return $this->keyword;
+ }
+
+ /**
+ * Keyword criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Keyword keyword = 61;
+ * @param \Google\Ads\GoogleAds\V2\Common\Keyword $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Keyword::class);
+ $this->keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * Month as represented by the date of the first day of a month. Formatted as
+ * yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue month = 17;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMonth()
+ {
+ return $this->month;
+ }
+
+ /**
+ * Returns the unboxed value from getMonth()
+
+ * Month as represented by the date of the first day of a month. Formatted as
+ * yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue month = 17;
+ * @return string|null
+ */
+ public function getMonthUnwrapped()
+ {
+ $wrapper = $this->getMonth();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Month as represented by the date of the first day of a month. Formatted as
+ * yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue month = 17;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMonth($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->month = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Month as represented by the date of the first day of a month. Formatted as
+ * yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue month = 17;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMonthUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMonth($wrappedVar);
+ }
+
+ /**
+ * Month of the year, e.g., January.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18;
+ * @return int
+ */
+ public function getMonthOfYear()
+ {
+ return $this->month_of_year;
+ }
+
+ /**
+ * Month of the year, e.g., January.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18;
+ * @param int $var
+ * @return $this
+ */
+ public function setMonthOfYear($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MonthOfYearEnum_MonthOfYear::class);
+ $this->month_of_year = $var;
+
+ return $this;
+ }
+
+ /**
+ * Partner hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue partner_hotel_id = 19;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPartnerHotelId()
+ {
+ return $this->partner_hotel_id;
+ }
+
+ /**
+ * Returns the unboxed value from getPartnerHotelId()
+
+ * Partner hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue partner_hotel_id = 19;
+ * @return string|null
+ */
+ public function getPartnerHotelIdUnwrapped()
+ {
+ $wrapper = $this->getPartnerHotelId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Partner hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue partner_hotel_id = 19;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPartnerHotelId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->partner_hotel_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Partner hotel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue partner_hotel_id = 19;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPartnerHotelIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPartnerHotelId($wrappedVar);
+ }
+
+ /**
+ * Placeholder type. This is only used with feed item metrics.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20;
+ * @return int
+ */
+ public function getPlaceholderType()
+ {
+ return $this->placeholder_type;
+ }
+
+ /**
+ * Placeholder type. This is only used with feed item metrics.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20;
+ * @param int $var
+ * @return $this
+ */
+ public function setPlaceholderType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum_PlaceholderType::class);
+ $this->placeholder_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Aggregator ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_aggregator_id = 28;
+ * @return \Google\Protobuf\UInt64Value
+ */
+ public function getProductAggregatorId()
+ {
+ return $this->product_aggregator_id;
+ }
+
+ /**
+ * Returns the unboxed value from getProductAggregatorId()
+
+ * Aggregator ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_aggregator_id = 28;
+ * @return int|string|null
+ */
+ public function getProductAggregatorIdUnwrapped()
+ {
+ $wrapper = $this->getProductAggregatorId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Aggregator ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_aggregator_id = 28;
+ * @param \Google\Protobuf\UInt64Value $var
+ * @return $this
+ */
+ public function setProductAggregatorId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\UInt64Value::class);
+ $this->product_aggregator_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\UInt64Value object.
+
+ * Aggregator ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_aggregator_id = 28;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setProductAggregatorIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\UInt64Value(['value' => $var]);
+ return $this->setProductAggregatorId($wrappedVar);
+ }
+
+ /**
+ * Bidding category (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level1 = 56;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBiddingCategoryLevel1()
+ {
+ return $this->product_bidding_category_level1;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBiddingCategoryLevel1()
+
+ * Bidding category (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level1 = 56;
+ * @return string|null
+ */
+ public function getProductBiddingCategoryLevel1Unwrapped()
+ {
+ $wrapper = $this->getProductBiddingCategoryLevel1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bidding category (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level1 = 56;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_bidding_category_level1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Bidding category (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level1 = 56;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBiddingCategoryLevel1($wrappedVar);
+ }
+
+ /**
+ * Bidding category (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level2 = 57;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBiddingCategoryLevel2()
+ {
+ return $this->product_bidding_category_level2;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBiddingCategoryLevel2()
+
+ * Bidding category (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level2 = 57;
+ * @return string|null
+ */
+ public function getProductBiddingCategoryLevel2Unwrapped()
+ {
+ $wrapper = $this->getProductBiddingCategoryLevel2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bidding category (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level2 = 57;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_bidding_category_level2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Bidding category (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level2 = 57;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBiddingCategoryLevel2($wrappedVar);
+ }
+
+ /**
+ * Bidding category (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level3 = 58;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBiddingCategoryLevel3()
+ {
+ return $this->product_bidding_category_level3;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBiddingCategoryLevel3()
+
+ * Bidding category (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level3 = 58;
+ * @return string|null
+ */
+ public function getProductBiddingCategoryLevel3Unwrapped()
+ {
+ $wrapper = $this->getProductBiddingCategoryLevel3();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bidding category (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level3 = 58;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel3($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_bidding_category_level3 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Bidding category (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level3 = 58;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel3Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBiddingCategoryLevel3($wrappedVar);
+ }
+
+ /**
+ * Bidding category (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level4 = 59;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBiddingCategoryLevel4()
+ {
+ return $this->product_bidding_category_level4;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBiddingCategoryLevel4()
+
+ * Bidding category (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level4 = 59;
+ * @return string|null
+ */
+ public function getProductBiddingCategoryLevel4Unwrapped()
+ {
+ $wrapper = $this->getProductBiddingCategoryLevel4();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bidding category (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level4 = 59;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel4($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_bidding_category_level4 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Bidding category (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level4 = 59;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel4Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBiddingCategoryLevel4($wrappedVar);
+ }
+
+ /**
+ * Bidding category (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level5 = 60;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBiddingCategoryLevel5()
+ {
+ return $this->product_bidding_category_level5;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBiddingCategoryLevel5()
+
+ * Bidding category (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level5 = 60;
+ * @return string|null
+ */
+ public function getProductBiddingCategoryLevel5Unwrapped()
+ {
+ $wrapper = $this->getProductBiddingCategoryLevel5();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bidding category (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level5 = 60;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel5($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_bidding_category_level5 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Bidding category (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_level5 = 60;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryLevel5Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBiddingCategoryLevel5($wrappedVar);
+ }
+
+ /**
+ * Brand of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_brand = 29;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBrand()
+ {
+ return $this->product_brand;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBrand()
+
+ * Brand of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_brand = 29;
+ * @return string|null
+ */
+ public function getProductBrandUnwrapped()
+ {
+ $wrapper = $this->getProductBrand();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Brand of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_brand = 29;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBrand($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_brand = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Brand of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_brand = 29;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBrandUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBrand($wrappedVar);
+ }
+
+ /**
+ * Channel of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel product_channel = 30;
+ * @return int
+ */
+ public function getProductChannel()
+ {
+ return $this->product_channel;
+ }
+
+ /**
+ * Channel of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel product_channel = 30;
+ * @param int $var
+ * @return $this
+ */
+ public function setProductChannel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductChannelEnum_ProductChannel::class);
+ $this->product_channel = $var;
+
+ return $this;
+ }
+
+ /**
+ * Channel exclusivity of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31;
+ * @return int
+ */
+ public function getProductChannelExclusivity()
+ {
+ return $this->product_channel_exclusivity;
+ }
+
+ /**
+ * Channel exclusivity of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31;
+ * @param int $var
+ * @return $this
+ */
+ public function setProductChannelExclusivity($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductChannelExclusivityEnum_ProductChannelExclusivity::class);
+ $this->product_channel_exclusivity = $var;
+
+ return $this;
+ }
+
+ /**
+ * Condition of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition product_condition = 32;
+ * @return int
+ */
+ public function getProductCondition()
+ {
+ return $this->product_condition;
+ }
+
+ /**
+ * Condition of the product.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition product_condition = 32;
+ * @param int $var
+ * @return $this
+ */
+ public function setProductCondition($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductConditionEnum_ProductCondition::class);
+ $this->product_condition = $var;
+
+ return $this;
+ }
+
+ /**
+ * Resource name of the geo target constant for the country of sale of the
+ * product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_country = 33;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductCountry()
+ {
+ return $this->product_country;
+ }
+
+ /**
+ * Returns the unboxed value from getProductCountry()
+
+ * Resource name of the geo target constant for the country of sale of the
+ * product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_country = 33;
+ * @return string|null
+ */
+ public function getProductCountryUnwrapped()
+ {
+ $wrapper = $this->getProductCountry();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the geo target constant for the country of sale of the
+ * product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_country = 33;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductCountry($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_country = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the geo target constant for the country of sale of the
+ * product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_country = 33;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductCountryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductCountry($wrappedVar);
+ }
+
+ /**
+ * Custom attribute 0 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute0 = 34;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductCustomAttribute0()
+ {
+ return $this->product_custom_attribute0;
+ }
+
+ /**
+ * Returns the unboxed value from getProductCustomAttribute0()
+
+ * Custom attribute 0 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute0 = 34;
+ * @return string|null
+ */
+ public function getProductCustomAttribute0Unwrapped()
+ {
+ $wrapper = $this->getProductCustomAttribute0();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Custom attribute 0 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute0 = 34;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductCustomAttribute0($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_custom_attribute0 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Custom attribute 0 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute0 = 34;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductCustomAttribute0Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductCustomAttribute0($wrappedVar);
+ }
+
+ /**
+ * Custom attribute 1 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute1 = 35;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductCustomAttribute1()
+ {
+ return $this->product_custom_attribute1;
+ }
+
+ /**
+ * Returns the unboxed value from getProductCustomAttribute1()
+
+ * Custom attribute 1 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute1 = 35;
+ * @return string|null
+ */
+ public function getProductCustomAttribute1Unwrapped()
+ {
+ $wrapper = $this->getProductCustomAttribute1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Custom attribute 1 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute1 = 35;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductCustomAttribute1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_custom_attribute1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Custom attribute 1 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute1 = 35;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductCustomAttribute1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductCustomAttribute1($wrappedVar);
+ }
+
+ /**
+ * Custom attribute 2 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute2 = 36;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductCustomAttribute2()
+ {
+ return $this->product_custom_attribute2;
+ }
+
+ /**
+ * Returns the unboxed value from getProductCustomAttribute2()
+
+ * Custom attribute 2 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute2 = 36;
+ * @return string|null
+ */
+ public function getProductCustomAttribute2Unwrapped()
+ {
+ $wrapper = $this->getProductCustomAttribute2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Custom attribute 2 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute2 = 36;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductCustomAttribute2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_custom_attribute2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Custom attribute 2 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute2 = 36;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductCustomAttribute2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductCustomAttribute2($wrappedVar);
+ }
+
+ /**
+ * Custom attribute 3 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute3 = 37;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductCustomAttribute3()
+ {
+ return $this->product_custom_attribute3;
+ }
+
+ /**
+ * Returns the unboxed value from getProductCustomAttribute3()
+
+ * Custom attribute 3 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute3 = 37;
+ * @return string|null
+ */
+ public function getProductCustomAttribute3Unwrapped()
+ {
+ $wrapper = $this->getProductCustomAttribute3();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Custom attribute 3 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute3 = 37;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductCustomAttribute3($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_custom_attribute3 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Custom attribute 3 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute3 = 37;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductCustomAttribute3Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductCustomAttribute3($wrappedVar);
+ }
+
+ /**
+ * Custom attribute 4 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute4 = 38;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductCustomAttribute4()
+ {
+ return $this->product_custom_attribute4;
+ }
+
+ /**
+ * Returns the unboxed value from getProductCustomAttribute4()
+
+ * Custom attribute 4 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute4 = 38;
+ * @return string|null
+ */
+ public function getProductCustomAttribute4Unwrapped()
+ {
+ $wrapper = $this->getProductCustomAttribute4();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Custom attribute 4 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute4 = 38;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductCustomAttribute4($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_custom_attribute4 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Custom attribute 4 of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_custom_attribute4 = 38;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductCustomAttribute4Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductCustomAttribute4($wrappedVar);
+ }
+
+ /**
+ * Item ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_item_id = 39;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductItemId()
+ {
+ return $this->product_item_id;
+ }
+
+ /**
+ * Returns the unboxed value from getProductItemId()
+
+ * Item ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_item_id = 39;
+ * @return string|null
+ */
+ public function getProductItemIdUnwrapped()
+ {
+ $wrapper = $this->getProductItemId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Item ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_item_id = 39;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductItemId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_item_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Item ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_item_id = 39;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductItemIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductItemId($wrappedVar);
+ }
+
+ /**
+ * Resource name of the language constant for the language of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_language = 40;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductLanguage()
+ {
+ return $this->product_language;
+ }
+
+ /**
+ * Returns the unboxed value from getProductLanguage()
+
+ * Resource name of the language constant for the language of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_language = 40;
+ * @return string|null
+ */
+ public function getProductLanguageUnwrapped()
+ {
+ $wrapper = $this->getProductLanguage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the language constant for the language of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_language = 40;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductLanguage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_language = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the language constant for the language of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_language = 40;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductLanguageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductLanguage($wrappedVar);
+ }
+
+ /**
+ * Merchant ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_merchant_id = 41;
+ * @return \Google\Protobuf\UInt64Value
+ */
+ public function getProductMerchantId()
+ {
+ return $this->product_merchant_id;
+ }
+
+ /**
+ * Returns the unboxed value from getProductMerchantId()
+
+ * Merchant ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_merchant_id = 41;
+ * @return int|string|null
+ */
+ public function getProductMerchantIdUnwrapped()
+ {
+ $wrapper = $this->getProductMerchantId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Merchant ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_merchant_id = 41;
+ * @param \Google\Protobuf\UInt64Value $var
+ * @return $this
+ */
+ public function setProductMerchantId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\UInt64Value::class);
+ $this->product_merchant_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\UInt64Value object.
+
+ * Merchant ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.UInt64Value product_merchant_id = 41;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setProductMerchantIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\UInt64Value(['value' => $var]);
+ return $this->setProductMerchantId($wrappedVar);
+ }
+
+ /**
+ * Store ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_store_id = 42;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductStoreId()
+ {
+ return $this->product_store_id;
+ }
+
+ /**
+ * Returns the unboxed value from getProductStoreId()
+
+ * Store ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_store_id = 42;
+ * @return string|null
+ */
+ public function getProductStoreIdUnwrapped()
+ {
+ $wrapper = $this->getProductStoreId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Store ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_store_id = 42;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductStoreId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_store_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Store ID of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_store_id = 42;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductStoreIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductStoreId($wrappedVar);
+ }
+
+ /**
+ * Title of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_title = 43;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductTitle()
+ {
+ return $this->product_title;
+ }
+
+ /**
+ * Returns the unboxed value from getProductTitle()
+
+ * Title of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_title = 43;
+ * @return string|null
+ */
+ public function getProductTitleUnwrapped()
+ {
+ $wrapper = $this->getProductTitle();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Title of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_title = 43;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductTitle($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_title = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Title of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_title = 43;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductTitleUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductTitle($wrappedVar);
+ }
+
+ /**
+ * Type (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l1 = 44;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductTypeL1()
+ {
+ return $this->product_type_l1;
+ }
+
+ /**
+ * Returns the unboxed value from getProductTypeL1()
+
+ * Type (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l1 = 44;
+ * @return string|null
+ */
+ public function getProductTypeL1Unwrapped()
+ {
+ $wrapper = $this->getProductTypeL1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Type (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l1 = 44;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductTypeL1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_type_l1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Type (level 1) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l1 = 44;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductTypeL1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductTypeL1($wrappedVar);
+ }
+
+ /**
+ * Type (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l2 = 45;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductTypeL2()
+ {
+ return $this->product_type_l2;
+ }
+
+ /**
+ * Returns the unboxed value from getProductTypeL2()
+
+ * Type (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l2 = 45;
+ * @return string|null
+ */
+ public function getProductTypeL2Unwrapped()
+ {
+ $wrapper = $this->getProductTypeL2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Type (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l2 = 45;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductTypeL2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_type_l2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Type (level 2) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l2 = 45;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductTypeL2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductTypeL2($wrappedVar);
+ }
+
+ /**
+ * Type (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l3 = 46;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductTypeL3()
+ {
+ return $this->product_type_l3;
+ }
+
+ /**
+ * Returns the unboxed value from getProductTypeL3()
+
+ * Type (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l3 = 46;
+ * @return string|null
+ */
+ public function getProductTypeL3Unwrapped()
+ {
+ $wrapper = $this->getProductTypeL3();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Type (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l3 = 46;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductTypeL3($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_type_l3 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Type (level 3) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l3 = 46;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductTypeL3Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductTypeL3($wrappedVar);
+ }
+
+ /**
+ * Type (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l4 = 47;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductTypeL4()
+ {
+ return $this->product_type_l4;
+ }
+
+ /**
+ * Returns the unboxed value from getProductTypeL4()
+
+ * Type (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l4 = 47;
+ * @return string|null
+ */
+ public function getProductTypeL4Unwrapped()
+ {
+ $wrapper = $this->getProductTypeL4();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Type (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l4 = 47;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductTypeL4($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_type_l4 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Type (level 4) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l4 = 47;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductTypeL4Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductTypeL4($wrappedVar);
+ }
+
+ /**
+ * Type (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l5 = 48;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductTypeL5()
+ {
+ return $this->product_type_l5;
+ }
+
+ /**
+ * Returns the unboxed value from getProductTypeL5()
+
+ * Type (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l5 = 48;
+ * @return string|null
+ */
+ public function getProductTypeL5Unwrapped()
+ {
+ $wrapper = $this->getProductTypeL5();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Type (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l5 = 48;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductTypeL5($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_type_l5 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Type (level 5) of the product.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_type_l5 = 48;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductTypeL5Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductTypeL5($wrappedVar);
+ }
+
+ /**
+ * Quarter as represented by the date of the first day of a quarter.
+ * Uses the calendar year for quarters, e.g., the second quarter of 2018
+ * starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue quarter = 21;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getQuarter()
+ {
+ return $this->quarter;
+ }
+
+ /**
+ * Returns the unboxed value from getQuarter()
+
+ * Quarter as represented by the date of the first day of a quarter.
+ * Uses the calendar year for quarters, e.g., the second quarter of 2018
+ * starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue quarter = 21;
+ * @return string|null
+ */
+ public function getQuarterUnwrapped()
+ {
+ $wrapper = $this->getQuarter();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Quarter as represented by the date of the first day of a quarter.
+ * Uses the calendar year for quarters, e.g., the second quarter of 2018
+ * starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue quarter = 21;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setQuarter($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->quarter = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Quarter as represented by the date of the first day of a quarter.
+ * Uses the calendar year for quarters, e.g., the second quarter of 2018
+ * starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue quarter = 21;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setQuarterUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setQuarter($wrappedVar);
+ }
+
+ /**
+ * Type of the search engine results page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70;
+ * @return int
+ */
+ public function getSearchEngineResultsPageType()
+ {
+ return $this->search_engine_results_page_type;
+ }
+
+ /**
+ * Type of the search engine results page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70;
+ * @param int $var
+ * @return $this
+ */
+ public function setSearchEngineResultsPageType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SearchEngineResultsPageTypeEnum_SearchEngineResultsPageType::class);
+ $this->search_engine_results_page_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Match type of the keyword that triggered the ad, including variants.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22;
+ * @return int
+ */
+ public function getSearchTermMatchType()
+ {
+ return $this->search_term_match_type;
+ }
+
+ /**
+ * Match type of the keyword that triggered the ad, including variants.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22;
+ * @param int $var
+ * @return $this
+ */
+ public function setSearchTermMatchType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SearchTermMatchTypeEnum_SearchTermMatchType::class);
+ $this->search_term_match_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Position of the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SlotEnum.Slot slot = 23;
+ * @return int
+ */
+ public function getSlot()
+ {
+ return $this->slot;
+ }
+
+ /**
+ * Position of the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SlotEnum.Slot slot = 23;
+ * @param int $var
+ * @return $this
+ */
+ public function setSlot($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SlotEnum_Slot::class);
+ $this->slot = $var;
+
+ return $this;
+ }
+
+ /**
+ * Resource name of the ad group criterion that represents webpage criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue webpage = 66;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getWebpage()
+ {
+ return $this->webpage;
+ }
+
+ /**
+ * Returns the unboxed value from getWebpage()
+
+ * Resource name of the ad group criterion that represents webpage criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue webpage = 66;
+ * @return string|null
+ */
+ public function getWebpageUnwrapped()
+ {
+ $wrapper = $this->getWebpage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the ad group criterion that represents webpage criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue webpage = 66;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setWebpage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->webpage = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the ad group criterion that represents webpage criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue webpage = 66;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setWebpageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setWebpage($wrappedVar);
+ }
+
+ /**
+ * Week as defined as Monday through Sunday, and represented by the date of
+ * Monday. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue week = 24;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getWeek()
+ {
+ return $this->week;
+ }
+
+ /**
+ * Returns the unboxed value from getWeek()
+
+ * Week as defined as Monday through Sunday, and represented by the date of
+ * Monday. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue week = 24;
+ * @return string|null
+ */
+ public function getWeekUnwrapped()
+ {
+ $wrapper = $this->getWeek();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Week as defined as Monday through Sunday, and represented by the date of
+ * Monday. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue week = 24;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setWeek($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->week = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Week as defined as Monday through Sunday, and represented by the date of
+ * Monday. Formatted as yyyy-MM-dd.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue week = 24;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setWeekUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setWeek($wrappedVar);
+ }
+
+ /**
+ * Year, formatted as yyyy.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value year = 25;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getYear()
+ {
+ return $this->year;
+ }
+
+ /**
+ * Returns the unboxed value from getYear()
+
+ * Year, formatted as yyyy.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value year = 25;
+ * @return int|null
+ */
+ public function getYearUnwrapped()
+ {
+ $wrapper = $this->getYear();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Year, formatted as yyyy.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value year = 25;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setYear($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->year = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Year, formatted as yyyy.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value year = 25;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setYearUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setYear($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ShoppingComparisonListingAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ShoppingComparisonListingAdInfo.php
new file mode 100644
index 000000000..cfc60647f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ShoppingComparisonListingAdInfo.php
@@ -0,0 +1,102 @@
+google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo
+ */
+final class ShoppingComparisonListingAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Headline of the ad. This field is required. Allowed length is between 25
+ * and 45 characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ */
+ private $headline = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $headline
+ * Headline of the ad. This field is required. Allowed length is between 25
+ * and 45 characters.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Headline of the ad. This field is required. Allowed length is between 25
+ * and 45 characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline()
+ {
+ return $this->headline;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline()
+
+ * Headline of the ad. This field is required. Allowed length is between 25
+ * and 45 characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return string|null
+ */
+ public function getHeadlineUnwrapped()
+ {
+ $wrapper = $this->getHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Headline of the ad. This field is required. Allowed length is between 25
+ * and 45 characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Headline of the ad. This field is required. Allowed length is between 25
+ * and 45 characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ShoppingProductAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ShoppingProductAdInfo.php
new file mode 100644
index 000000000..7d5a379a1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ShoppingProductAdInfo.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.common.ShoppingProductAdInfo
+ */
+final class ShoppingProductAdInfo extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/ShoppingSmartAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/ShoppingSmartAdInfo.php
new file mode 100644
index 000000000..bb2dd3517
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/ShoppingSmartAdInfo.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.common.ShoppingSmartAdInfo
+ */
+final class ShoppingSmartAdInfo extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/SimilarUserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/SimilarUserListInfo.php
new file mode 100644
index 000000000..4e4f4277a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/SimilarUserListInfo.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.SimilarUserListInfo
+ */
+final class SimilarUserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Seed UserList from which this list is derived.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue seed_user_list = 1;
+ */
+ private $seed_user_list = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $seed_user_list
+ * Seed UserList from which this list is derived.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Seed UserList from which this list is derived.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue seed_user_list = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSeedUserList()
+ {
+ return $this->seed_user_list;
+ }
+
+ /**
+ * Returns the unboxed value from getSeedUserList()
+
+ * Seed UserList from which this list is derived.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue seed_user_list = 1;
+ * @return string|null
+ */
+ public function getSeedUserListUnwrapped()
+ {
+ $wrapper = $this->getSeedUserList();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Seed UserList from which this list is derived.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue seed_user_list = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSeedUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->seed_user_list = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Seed UserList from which this list is derived.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue seed_user_list = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSeedUserListUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSeedUserList($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/SitelinkFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/SitelinkFeedItem.php
new file mode 100644
index 000000000..489779fa3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/SitelinkFeedItem.php
@@ -0,0 +1,490 @@
+google.ads.googleads.v2.common.SitelinkFeedItem
+ */
+final class SitelinkFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * URL display text for the sitelink.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ */
+ private $link_text = null;
+ /**
+ * First line of the description for the sitelink.
+ * If this value is set, line2 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line1 = 2;
+ */
+ private $line1 = null;
+ /**
+ * Second line of the description for the sitelink.
+ * If this value is set, line1 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line2 = 3;
+ */
+ private $line2 = null;
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 4;
+ */
+ private $final_urls;
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 5;
+ */
+ private $final_mobile_urls;
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ */
+ private $tracking_url_template = null;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 7;
+ */
+ private $url_custom_parameters;
+ /**
+ * Final URL suffix to be appended to landing page URLs served with
+ * parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ */
+ private $final_url_suffix = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $link_text
+ * URL display text for the sitelink.
+ * The length of this string should be between 1 and 25, inclusive.
+ * @type \Google\Protobuf\StringValue $line1
+ * First line of the description for the sitelink.
+ * If this value is set, line2 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ * @type \Google\Protobuf\StringValue $line2
+ * Second line of the description for the sitelink.
+ * If this value is set, line1 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * A list of possible final URLs after all cross domain redirects.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * A list of possible final mobile URLs after all cross domain redirects.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * URL template for constructing a tracking URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * 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.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * Final URL suffix to be appended to landing page URLs served with
+ * parallel tracking.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * URL display text for the sitelink.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLinkText()
+ {
+ return $this->link_text;
+ }
+
+ /**
+ * Returns the unboxed value from getLinkText()
+
+ * URL display text for the sitelink.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @return string|null
+ */
+ public function getLinkTextUnwrapped()
+ {
+ $wrapper = $this->getLinkText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL display text for the sitelink.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLinkText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->link_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL display text for the sitelink.
+ * The length of this string should be between 1 and 25, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue link_text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLinkTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLinkText($wrappedVar);
+ }
+
+ /**
+ * First line of the description for the sitelink.
+ * If this value is set, line2 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line1 = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLine1()
+ {
+ return $this->line1;
+ }
+
+ /**
+ * Returns the unboxed value from getLine1()
+
+ * First line of the description for the sitelink.
+ * If this value is set, line2 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line1 = 2;
+ * @return string|null
+ */
+ public function getLine1Unwrapped()
+ {
+ $wrapper = $this->getLine1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * First line of the description for the sitelink.
+ * If this value is set, line2 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line1 = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLine1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->line1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * First line of the description for the sitelink.
+ * If this value is set, line2 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line1 = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLine1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLine1($wrappedVar);
+ }
+
+ /**
+ * Second line of the description for the sitelink.
+ * If this value is set, line1 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line2 = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLine2()
+ {
+ return $this->line2;
+ }
+
+ /**
+ * Returns the unboxed value from getLine2()
+
+ * Second line of the description for the sitelink.
+ * If this value is set, line1 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line2 = 3;
+ * @return string|null
+ */
+ public function getLine2Unwrapped()
+ {
+ $wrapper = $this->getLine2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Second line of the description for the sitelink.
+ * If this value is set, line1 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line2 = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLine2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->line2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Second line of the description for the sitelink.
+ * If this value is set, line1 must also be set.
+ * The length of this string should be between 0 and 35, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue line2 = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLine2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLine2($wrappedVar);
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * A list of possible final URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 4;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * A list of possible final mobile URLs after all cross domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 5;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Final URL suffix to be appended to landing page URLs served with
+ * parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * Final URL suffix to be appended to landing page URLs served with
+ * parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Final URL suffix to be appended to landing page URLs served with
+ * parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Final URL suffix to be appended to landing page URLs served with
+ * parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/StructuredSnippetFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/StructuredSnippetFeedItem.php
new file mode 100644
index 000000000..92235deb4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/StructuredSnippetFeedItem.php
@@ -0,0 +1,140 @@
+google.ads.googleads.v2.common.StructuredSnippetFeedItem
+ */
+final class StructuredSnippetFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The header of the snippet.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ */
+ private $header = null;
+ /**
+ * The values in the snippet.
+ * The maximum size of this collection is 10.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue values = 2;
+ */
+ private $values;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $header
+ * The header of the snippet.
+ * This string must not be empty.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $values
+ * The values in the snippet.
+ * The maximum size of this collection is 10.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The header of the snippet.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeader()
+ {
+ return $this->header;
+ }
+
+ /**
+ * Returns the unboxed value from getHeader()
+
+ * The header of the snippet.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @return string|null
+ */
+ public function getHeaderUnwrapped()
+ {
+ $wrapper = $this->getHeader();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The header of the snippet.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeader($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->header = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The header of the snippet.
+ * This string must not be empty.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue header = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeaderUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeader($wrappedVar);
+ }
+
+ /**
+ * The values in the snippet.
+ * The maximum size of this collection is 10.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue values = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getValues()
+ {
+ return $this->values;
+ }
+
+ /**
+ * The values in the snippet.
+ * The maximum size of this collection is 10.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue values = 2;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->values = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TagSnippet.php b/src/Google/Ads/GoogleAds/V2/Common/TagSnippet.php
new file mode 100644
index 000000000..20c034861
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TagSnippet.php
@@ -0,0 +1,243 @@
+google.ads.googleads.v2.common.TagSnippet
+ */
+final class TagSnippet extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The type of the generated tag snippets for tracking conversions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1;
+ */
+ private $type = 0;
+ /**
+ * The format of the web page where the tracking tag and snippet will be
+ * installed, e.g. HTML.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2;
+ */
+ private $page_format = 0;
+ /**
+ * The site tag that adds visitors to your basic remarketing lists and sets
+ * new cookies on your domain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue global_site_tag = 3;
+ */
+ private $global_site_tag = null;
+ /**
+ * The event snippet that works with the site tag to track actions that
+ * should be counted as conversions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue event_snippet = 4;
+ */
+ private $event_snippet = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * The type of the generated tag snippets for tracking conversions.
+ * @type int $page_format
+ * The format of the web page where the tracking tag and snippet will be
+ * installed, e.g. HTML.
+ * @type \Google\Protobuf\StringValue $global_site_tag
+ * The site tag that adds visitors to your basic remarketing lists and sets
+ * new cookies on your domain.
+ * @type \Google\Protobuf\StringValue $event_snippet
+ * The event snippet that works with the site tag to track actions that
+ * should be counted as conversions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\TagSnippet::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The type of the generated tag snippets for tracking conversions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the generated tag snippets for tracking conversions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TrackingCodeTypeEnum_TrackingCodeType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The format of the web page where the tracking tag and snippet will be
+ * installed, e.g. HTML.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2;
+ * @return int
+ */
+ public function getPageFormat()
+ {
+ return $this->page_format;
+ }
+
+ /**
+ * The format of the web page where the tracking tag and snippet will be
+ * installed, e.g. HTML.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageFormat($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TrackingCodePageFormatEnum_TrackingCodePageFormat::class);
+ $this->page_format = $var;
+
+ return $this;
+ }
+
+ /**
+ * The site tag that adds visitors to your basic remarketing lists and sets
+ * new cookies on your domain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue global_site_tag = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGlobalSiteTag()
+ {
+ return $this->global_site_tag;
+ }
+
+ /**
+ * Returns the unboxed value from getGlobalSiteTag()
+
+ * The site tag that adds visitors to your basic remarketing lists and sets
+ * new cookies on your domain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue global_site_tag = 3;
+ * @return string|null
+ */
+ public function getGlobalSiteTagUnwrapped()
+ {
+ $wrapper = $this->getGlobalSiteTag();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The site tag that adds visitors to your basic remarketing lists and sets
+ * new cookies on your domain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue global_site_tag = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGlobalSiteTag($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->global_site_tag = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The site tag that adds visitors to your basic remarketing lists and sets
+ * new cookies on your domain.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue global_site_tag = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGlobalSiteTagUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGlobalSiteTag($wrappedVar);
+ }
+
+ /**
+ * The event snippet that works with the site tag to track actions that
+ * should be counted as conversions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue event_snippet = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEventSnippet()
+ {
+ return $this->event_snippet;
+ }
+
+ /**
+ * Returns the unboxed value from getEventSnippet()
+
+ * The event snippet that works with the site tag to track actions that
+ * should be counted as conversions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue event_snippet = 4;
+ * @return string|null
+ */
+ public function getEventSnippetUnwrapped()
+ {
+ $wrapper = $this->getEventSnippet();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The event snippet that works with the site tag to track actions that
+ * should be counted as conversions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue event_snippet = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEventSnippet($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->event_snippet = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The event snippet that works with the site tag to track actions that
+ * should be counted as conversions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue event_snippet = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEventSnippetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEventSnippet($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetCpa.php b/src/Google/Ads/GoogleAds/V2/Common/TargetCpa.php
new file mode 100644
index 000000000..764388a8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetCpa.php
@@ -0,0 +1,247 @@
+google.ads.googleads.v2.common.TargetCpa
+ */
+final class TargetCpa extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Average CPA target.
+ * This target should be greater than or equal to minimum billable unit based
+ * on the currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ */
+ private $target_cpa_micros = null;
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ */
+ private $cpc_bid_ceiling_micros = null;
+ /**
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ */
+ private $cpc_bid_floor_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $target_cpa_micros
+ * Average CPA target.
+ * This target should be greater than or equal to minimum billable unit based
+ * on the currency for the account.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_floor_micros
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Average CPA target.
+ * This target should be greater than or equal to minimum billable unit based
+ * on the currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetCpaMicros()
+ {
+ return $this->target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetCpaMicros()
+
+ * Average CPA target.
+ * This target should be greater than or equal to minimum billable unit based
+ * on the currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @return int|string|null
+ */
+ public function getTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average CPA target.
+ * This target should be greater than or equal to minimum billable unit based
+ * on the currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Average CPA target.
+ * This target should be greater than or equal to minimum billable unit based
+ * on the currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetCpaMicros($wrappedVar);
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+ /**
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidFloorMicros()
+ {
+ return $this->cpc_bid_floor_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidFloorMicros()
+
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @return int|string|null
+ */
+ public function getCpcBidFloorMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidFloorMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidFloorMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_floor_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidFloorMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidFloorMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPoint.php b/src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPoint.php
new file mode 100644
index 000000000..2acd6583a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPoint.php
@@ -0,0 +1,480 @@
+google.ads.googleads.v2.common.TargetCpaSimulationPoint
+ */
+final class TargetCpaSimulationPoint extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The simulated target CPA upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ */
+ private $target_cpa_micros = null;
+ /**
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ */
+ private $biddable_conversions = null;
+ /**
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ */
+ private $biddable_conversions_value = null;
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ */
+ private $clicks = null;
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ */
+ private $cost_micros = null;
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ */
+ private $impressions = null;
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ */
+ private $top_slot_impressions = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $target_cpa_micros
+ * The simulated target CPA upon which projected metrics are based.
+ * @type \Google\Protobuf\DoubleValue $biddable_conversions
+ * Projected number of biddable conversions.
+ * @type \Google\Protobuf\DoubleValue $biddable_conversions_value
+ * Projected total value of biddable conversions.
+ * @type \Google\Protobuf\Int64Value $clicks
+ * Projected number of clicks.
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * Projected cost in micros.
+ * @type \Google\Protobuf\Int64Value $impressions
+ * Projected number of impressions.
+ * @type \Google\Protobuf\Int64Value $top_slot_impressions
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The simulated target CPA upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetCpaMicros()
+ {
+ return $this->target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetCpaMicros()
+
+ * The simulated target CPA upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @return int|string|null
+ */
+ public function getTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The simulated target CPA upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The simulated target CPA upon which projected metrics are based.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetCpaMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBiddableConversions()
+ {
+ return $this->biddable_conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getBiddableConversions()
+
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @return float|null
+ */
+ public function getBiddableConversionsUnwrapped()
+ {
+ $wrapper = $this->getBiddableConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBiddableConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->biddable_conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected number of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBiddableConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBiddableConversions($wrappedVar);
+ }
+
+ /**
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBiddableConversionsValue()
+ {
+ return $this->biddable_conversions_value;
+ }
+
+ /**
+ * Returns the unboxed value from getBiddableConversionsValue()
+
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @return float|null
+ */
+ public function getBiddableConversionsValueUnwrapped()
+ {
+ $wrapper = $this->getBiddableConversionsValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBiddableConversionsValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->biddable_conversions_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Projected total value of biddable conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue biddable_conversions_value = 3;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBiddableConversionsValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBiddableConversionsValue($wrappedVar);
+ }
+
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getClicks()
+ {
+ return $this->clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getClicks()
+
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @return int|string|null
+ */
+ public function getClicksUnwrapped()
+ {
+ $wrapper = $this->getClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of clicks.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value clicks = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setClicks($wrappedVar);
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected cost in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @return int|string|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of impressions.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value impressions = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTopSlotImpressions()
+ {
+ return $this->top_slot_impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getTopSlotImpressions()
+
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @return int|string|null
+ */
+ public function getTopSlotImpressionsUnwrapped()
+ {
+ $wrapper = $this->getTopSlotImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTopSlotImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->top_slot_impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Projected number of top slot impressions.
+ * Only search advertising channel type supports this field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_slot_impressions = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTopSlotImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTopSlotImpressions($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPointList.php b/src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPointList.php
new file mode 100644
index 000000000..5851457db
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetCpaSimulationPointList.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.TargetCpaSimulationPointList
+ */
+final class TargetCpaSimulationPointList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Projected metrics for a series of target CPA amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TargetCpaSimulationPoint points = 1;
+ */
+ private $points;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $points
+ * Projected metrics for a series of target CPA amounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Simulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Projected metrics for a series of target CPA amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TargetCpaSimulationPoint points = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPoints()
+ {
+ return $this->points;
+ }
+
+ /**
+ * Projected metrics for a series of target CPA amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TargetCpaSimulationPoint points = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPoint[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPoints($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPoint::class);
+ $this->points = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetCpm.php b/src/Google/Ads/GoogleAds/V2/Common/TargetCpm.php
new file mode 100644
index 000000000..3ee06149d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetCpm.php
@@ -0,0 +1,34 @@
+google.ads.googleads.v2.common.TargetCpm
+ */
+final class TargetCpm extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetImpressionShare.php b/src/Google/Ads/GoogleAds/V2/Common/TargetImpressionShare.php
new file mode 100644
index 000000000..5a9d2ebba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetImpressionShare.php
@@ -0,0 +1,214 @@
+google.ads.googleads.v2.common.TargetImpressionShare
+ */
+final class TargetImpressionShare extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The targeted location on the search results page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1;
+ */
+ private $location = 0;
+ /**
+ * The desired fraction of ads to be shown in the targeted location in micros.
+ * E.g. 1% equals 10,000.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value location_fraction_micros = 2;
+ */
+ private $location_fraction_micros = null;
+ /**
+ * The highest CPC bid the automated bidding system is permitted to specify.
+ * This is a required field entered by the advertiser that sets the ceiling
+ * and specified in local micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ */
+ private $cpc_bid_ceiling_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $location
+ * The targeted location on the search results page.
+ * @type \Google\Protobuf\Int64Value $location_fraction_micros
+ * The desired fraction of ads to be shown in the targeted location in micros.
+ * E.g. 1% equals 10,000.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * The highest CPC bid the automated bidding system is permitted to specify.
+ * This is a required field entered by the advertiser that sets the ceiling
+ * and specified in local micros.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The targeted location on the search results page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1;
+ * @return int
+ */
+ public function getLocation()
+ {
+ return $this->location;
+ }
+
+ /**
+ * The targeted location on the search results page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setLocation($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TargetImpressionShareLocationEnum_TargetImpressionShareLocation::class);
+ $this->location = $var;
+
+ return $this;
+ }
+
+ /**
+ * The desired fraction of ads to be shown in the targeted location in micros.
+ * E.g. 1% equals 10,000.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value location_fraction_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getLocationFractionMicros()
+ {
+ return $this->location_fraction_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getLocationFractionMicros()
+
+ * The desired fraction of ads to be shown in the targeted location in micros.
+ * E.g. 1% equals 10,000.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value location_fraction_micros = 2;
+ * @return int|string|null
+ */
+ public function getLocationFractionMicrosUnwrapped()
+ {
+ $wrapper = $this->getLocationFractionMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The desired fraction of ads to be shown in the targeted location in micros.
+ * E.g. 1% equals 10,000.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value location_fraction_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setLocationFractionMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->location_fraction_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The desired fraction of ads to be shown in the targeted location in micros.
+ * E.g. 1% equals 10,000.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value location_fraction_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setLocationFractionMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setLocationFractionMicros($wrappedVar);
+ }
+
+ /**
+ * The highest CPC bid the automated bidding system is permitted to specify.
+ * This is a required field entered by the advertiser that sets the ceiling
+ * and specified in local micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * The highest CPC bid the automated bidding system is permitted to specify.
+ * This is a required field entered by the advertiser that sets the ceiling
+ * and specified in local micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The highest CPC bid the automated bidding system is permitted to specify.
+ * This is a required field entered by the advertiser that sets the ceiling
+ * and specified in local micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The highest CPC bid the automated bidding system is permitted to specify.
+ * This is a required field entered by the advertiser that sets the ceiling
+ * and specified in local micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetOutrankShare.php b/src/Google/Ads/GoogleAds/V2/Common/TargetOutrankShare.php
new file mode 100644
index 000000000..e8c75d15e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetOutrankShare.php
@@ -0,0 +1,416 @@
+google.ads.googleads.v2.common.TargetOutrankShare
+ */
+final class TargetOutrankShare extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The target fraction of auctions where the advertiser should outrank the
+ * competitor.
+ * The advertiser outranks the competitor in an auction if either the
+ * advertiser appears above the competitor in the search results, or appears
+ * in the search results when the competitor does not.
+ * Value must be between 1 and 1000000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value target_outrank_share_micros = 1;
+ */
+ private $target_outrank_share_micros = null;
+ /**
+ * Competitor's visible domain URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue competitor_domain = 2;
+ */
+ private $competitor_domain = null;
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ */
+ private $cpc_bid_ceiling_micros = null;
+ /**
+ * Whether the strategy should always follow bid estimate changes,
+ * or only increase.
+ * If false, always set a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ */
+ private $only_raise_cpc_bids = null;
+ /**
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5;
+ */
+ private $raise_cpc_bid_when_quality_score_is_low = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int32Value $target_outrank_share_micros
+ * The target fraction of auctions where the advertiser should outrank the
+ * competitor.
+ * The advertiser outranks the competitor in an auction if either the
+ * advertiser appears above the competitor in the search results, or appears
+ * in the search results when the competitor does not.
+ * Value must be between 1 and 1000000, inclusive.
+ * @type \Google\Protobuf\StringValue $competitor_domain
+ * Competitor's visible domain URL.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * @type \Google\Protobuf\BoolValue $only_raise_cpc_bids
+ * Whether the strategy should always follow bid estimate changes,
+ * or only increase.
+ * If false, always set a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ * @type \Google\Protobuf\BoolValue $raise_cpc_bid_when_quality_score_is_low
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The target fraction of auctions where the advertiser should outrank the
+ * competitor.
+ * The advertiser outranks the competitor in an auction if either the
+ * advertiser appears above the competitor in the search results, or appears
+ * in the search results when the competitor does not.
+ * Value must be between 1 and 1000000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value target_outrank_share_micros = 1;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getTargetOutrankShareMicros()
+ {
+ return $this->target_outrank_share_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetOutrankShareMicros()
+
+ * The target fraction of auctions where the advertiser should outrank the
+ * competitor.
+ * The advertiser outranks the competitor in an auction if either the
+ * advertiser appears above the competitor in the search results, or appears
+ * in the search results when the competitor does not.
+ * Value must be between 1 and 1000000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value target_outrank_share_micros = 1;
+ * @return int|null
+ */
+ public function getTargetOutrankShareMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetOutrankShareMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The target fraction of auctions where the advertiser should outrank the
+ * competitor.
+ * The advertiser outranks the competitor in an auction if either the
+ * advertiser appears above the competitor in the search results, or appears
+ * in the search results when the competitor does not.
+ * Value must be between 1 and 1000000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value target_outrank_share_micros = 1;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setTargetOutrankShareMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->target_outrank_share_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * The target fraction of auctions where the advertiser should outrank the
+ * competitor.
+ * The advertiser outranks the competitor in an auction if either the
+ * advertiser appears above the competitor in the search results, or appears
+ * in the search results when the competitor does not.
+ * Value must be between 1 and 1000000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value target_outrank_share_micros = 1;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setTargetOutrankShareMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setTargetOutrankShareMicros($wrappedVar);
+ }
+
+ /**
+ * Competitor's visible domain URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue competitor_domain = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCompetitorDomain()
+ {
+ return $this->competitor_domain;
+ }
+
+ /**
+ * Returns the unboxed value from getCompetitorDomain()
+
+ * Competitor's visible domain URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue competitor_domain = 2;
+ * @return string|null
+ */
+ public function getCompetitorDomainUnwrapped()
+ {
+ $wrapper = $this->getCompetitorDomain();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Competitor's visible domain URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue competitor_domain = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCompetitorDomain($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->competitor_domain = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Competitor's visible domain URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue competitor_domain = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCompetitorDomainUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCompetitorDomain($wrappedVar);
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+ /**
+ * Whether the strategy should always follow bid estimate changes,
+ * or only increase.
+ * If false, always set a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getOnlyRaiseCpcBids()
+ {
+ return $this->only_raise_cpc_bids;
+ }
+
+ /**
+ * Returns the unboxed value from getOnlyRaiseCpcBids()
+
+ * Whether the strategy should always follow bid estimate changes,
+ * or only increase.
+ * If false, always set a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @return bool|null
+ */
+ public function getOnlyRaiseCpcBidsUnwrapped()
+ {
+ $wrapper = $this->getOnlyRaiseCpcBids();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the strategy should always follow bid estimate changes,
+ * or only increase.
+ * If false, always set a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setOnlyRaiseCpcBids($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->only_raise_cpc_bids = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the strategy should always follow bid estimate changes,
+ * or only increase.
+ * If false, always set a keyword's new bid to the current bid estimate.
+ * If true, only updates a keyword's bid if the current bid estimate is
+ * greater than the current bid.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue only_raise_cpc_bids = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setOnlyRaiseCpcBidsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setOnlyRaiseCpcBids($wrappedVar);
+ }
+
+ /**
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getRaiseCpcBidWhenQualityScoreIsLow()
+ {
+ return $this->raise_cpc_bid_when_quality_score_is_low;
+ }
+
+ /**
+ * Returns the unboxed value from getRaiseCpcBidWhenQualityScoreIsLow()
+
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5;
+ * @return bool|null
+ */
+ public function getRaiseCpcBidWhenQualityScoreIsLowUnwrapped()
+ {
+ $wrapper = $this->getRaiseCpcBidWhenQualityScoreIsLow();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setRaiseCpcBidWhenQualityScoreIsLow($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->raise_cpc_bid_when_quality_score_is_low = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the strategy is allowed to raise bids on keywords with
+ * lower-range quality scores.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setRaiseCpcBidWhenQualityScoreIsLowUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setRaiseCpcBidWhenQualityScoreIsLow($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetRestriction.php b/src/Google/Ads/GoogleAds/V2/Common/TargetRestriction.php
new file mode 100644
index 000000000..9ace92895
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetRestriction.php
@@ -0,0 +1,166 @@
+google.ads.googleads.v2.common.TargetRestriction
+ */
+final class TargetRestriction extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The targeting dimension that these settings apply to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1;
+ */
+ private $targeting_dimension = 0;
+ /**
+ * Indicates whether to restrict your ads to show only for the criteria you
+ * have selected for this targeting_dimension, or to target all values for
+ * this targeting_dimension and show ads based on your targeting in other
+ * TargetingDimensions. A value of `true` means that these criteria will only
+ * apply bid modifiers, and not affect targeting. A value of `false` means
+ * that these criteria will restrict targeting as well as applying bid
+ * modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue bid_only = 2;
+ */
+ private $bid_only = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $targeting_dimension
+ * The targeting dimension that these settings apply to.
+ * @type \Google\Protobuf\BoolValue $bid_only
+ * Indicates whether to restrict your ads to show only for the criteria you
+ * have selected for this targeting_dimension, or to target all values for
+ * this targeting_dimension and show ads based on your targeting in other
+ * TargetingDimensions. A value of `true` means that these criteria will only
+ * apply bid modifiers, and not affect targeting. A value of `false` means
+ * that these criteria will restrict targeting as well as applying bid
+ * modifiers.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\TargetingSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The targeting dimension that these settings apply to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1;
+ * @return int
+ */
+ public function getTargetingDimension()
+ {
+ return $this->targeting_dimension;
+ }
+
+ /**
+ * The targeting dimension that these settings apply to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setTargetingDimension($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TargetingDimensionEnum_TargetingDimension::class);
+ $this->targeting_dimension = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicates whether to restrict your ads to show only for the criteria you
+ * have selected for this targeting_dimension, or to target all values for
+ * this targeting_dimension and show ads based on your targeting in other
+ * TargetingDimensions. A value of `true` means that these criteria will only
+ * apply bid modifiers, and not affect targeting. A value of `false` means
+ * that these criteria will restrict targeting as well as applying bid
+ * modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue bid_only = 2;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getBidOnly()
+ {
+ return $this->bid_only;
+ }
+
+ /**
+ * Returns the unboxed value from getBidOnly()
+
+ * Indicates whether to restrict your ads to show only for the criteria you
+ * have selected for this targeting_dimension, or to target all values for
+ * this targeting_dimension and show ads based on your targeting in other
+ * TargetingDimensions. A value of `true` means that these criteria will only
+ * apply bid modifiers, and not affect targeting. A value of `false` means
+ * that these criteria will restrict targeting as well as applying bid
+ * modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue bid_only = 2;
+ * @return bool|null
+ */
+ public function getBidOnlyUnwrapped()
+ {
+ $wrapper = $this->getBidOnly();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates whether to restrict your ads to show only for the criteria you
+ * have selected for this targeting_dimension, or to target all values for
+ * this targeting_dimension and show ads based on your targeting in other
+ * TargetingDimensions. A value of `true` means that these criteria will only
+ * apply bid modifiers, and not affect targeting. A value of `false` means
+ * that these criteria will restrict targeting as well as applying bid
+ * modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue bid_only = 2;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setBidOnly($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->bid_only = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates whether to restrict your ads to show only for the criteria you
+ * have selected for this targeting_dimension, or to target all values for
+ * this targeting_dimension and show ads based on your targeting in other
+ * TargetingDimensions. A value of `true` means that these criteria will only
+ * apply bid modifiers, and not affect targeting. A value of `false` means
+ * that these criteria will restrict targeting as well as applying bid
+ * modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue bid_only = 2;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setBidOnlyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setBidOnly($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetRoas.php b/src/Google/Ads/GoogleAds/V2/Common/TargetRoas.php
new file mode 100644
index 000000000..1a33fe584
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetRoas.php
@@ -0,0 +1,241 @@
+google.ads.googleads.v2.common.TargetRoas
+ */
+final class TargetRoas extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The desired revenue (based on conversion data) per unit of spend.
+ * Value must be between 0.01 and 1000.0, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ */
+ private $target_roas = null;
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ */
+ private $cpc_bid_ceiling_micros = null;
+ /**
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ */
+ private $cpc_bid_floor_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $target_roas
+ * Required. The desired revenue (based on conversion data) per unit of spend.
+ * Value must be between 0.01 and 1000.0, inclusive.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_floor_micros
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The desired revenue (based on conversion data) per unit of spend.
+ * Value must be between 0.01 and 1000.0, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getTargetRoas()
+ {
+ return $this->target_roas;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetRoas()
+
+ * Required. The desired revenue (based on conversion data) per unit of spend.
+ * Value must be between 0.01 and 1000.0, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @return float|null
+ */
+ public function getTargetRoasUnwrapped()
+ {
+ $wrapper = $this->getTargetRoas();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Required. The desired revenue (based on conversion data) per unit of spend.
+ * Value must be between 0.01 and 1000.0, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setTargetRoas($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->target_roas = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Required. The desired revenue (based on conversion data) per unit of spend.
+ * Value must be between 0.01 and 1000.0, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setTargetRoasUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setTargetRoas($wrappedVar);
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+ /**
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidFloorMicros()
+ {
+ return $this->cpc_bid_floor_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidFloorMicros()
+
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @return int|string|null
+ */
+ public function getCpcBidFloorMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidFloorMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidFloorMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_floor_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Minimum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidFloorMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidFloorMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetSpend.php b/src/Google/Ads/GoogleAds/V2/Common/TargetSpend.php
new file mode 100644
index 000000000..8ee48e4aa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetSpend.php
@@ -0,0 +1,184 @@
+google.ads.googleads.v2.common.TargetSpend
+ */
+final class TargetSpend extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The spend target under which to maximize clicks.
+ * A TargetSpend bidder will attempt to spend the smaller of this value
+ * or the natural throttling spend amount.
+ * If not specified, the budget is used as the spend target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_spend_micros = 1;
+ */
+ private $target_spend_micros = null;
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ */
+ private $cpc_bid_ceiling_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $target_spend_micros
+ * The spend target under which to maximize clicks.
+ * A TargetSpend bidder will attempt to spend the smaller of this value
+ * or the natural throttling spend amount.
+ * If not specified, the budget is used as the spend target.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_ceiling_micros
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Bidding::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The spend target under which to maximize clicks.
+ * A TargetSpend bidder will attempt to spend the smaller of this value
+ * or the natural throttling spend amount.
+ * If not specified, the budget is used as the spend target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_spend_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetSpendMicros()
+ {
+ return $this->target_spend_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetSpendMicros()
+
+ * The spend target under which to maximize clicks.
+ * A TargetSpend bidder will attempt to spend the smaller of this value
+ * or the natural throttling spend amount.
+ * If not specified, the budget is used as the spend target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_spend_micros = 1;
+ * @return int|string|null
+ */
+ public function getTargetSpendMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetSpendMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The spend target under which to maximize clicks.
+ * A TargetSpend bidder will attempt to spend the smaller of this value
+ * or the natural throttling spend amount.
+ * If not specified, the budget is used as the spend target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_spend_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetSpendMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_spend_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The spend target under which to maximize clicks.
+ * A TargetSpend bidder will attempt to spend the smaller of this value
+ * or the natural throttling spend amount.
+ * If not specified, the budget is used as the spend target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_spend_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetSpendMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetSpendMicros($wrappedVar);
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidCeilingMicros()
+ {
+ return $this->cpc_bid_ceiling_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidCeilingMicros()
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @return int|string|null
+ */
+ public function getCpcBidCeilingMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidCeilingMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_ceiling_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Maximum bid limit that can be set by the bid strategy.
+ * The limit applies to all keywords managed by the strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidCeilingMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidCeilingMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php b/src/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php
new file mode 100644
index 000000000..f718e9770
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TargetingSetting.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.common.TargetingSetting
+ */
+final class TargetingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The per-targeting-dimension setting to restrict the reach of your campaign
+ * or ad group.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TargetRestriction target_restrictions = 1;
+ */
+ private $target_restrictions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetRestriction[]|\Google\Protobuf\Internal\RepeatedField $target_restrictions
+ * The per-targeting-dimension setting to restrict the reach of your campaign
+ * or ad group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\TargetingSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The per-targeting-dimension setting to restrict the reach of your campaign
+ * or ad group.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TargetRestriction target_restrictions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTargetRestrictions()
+ {
+ return $this->target_restrictions;
+ }
+
+ /**
+ * The per-targeting-dimension setting to restrict the reach of your campaign
+ * or ad group.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TargetRestriction target_restrictions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetRestriction[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTargetRestrictions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\TargetRestriction::class);
+ $this->target_restrictions = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TextAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/TextAdInfo.php
new file mode 100644
index 000000000..c1d7717c2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TextAdInfo.php
@@ -0,0 +1,222 @@
+google.ads.googleads.v2.common.TextAdInfo
+ */
+final class TextAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ */
+ private $headline = null;
+ /**
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 2;
+ */
+ private $description1 = null;
+ /**
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 3;
+ */
+ private $description2 = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $headline
+ * The headline of the ad.
+ * @type \Google\Protobuf\StringValue $description1
+ * The first line of the ad's description.
+ * @type \Google\Protobuf\StringValue $description2
+ * The second line of the ad's description.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline()
+ {
+ return $this->headline;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline()
+
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return string|null
+ */
+ public function getHeadlineUnwrapped()
+ {
+ $wrapper = $this->getHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline($wrappedVar);
+ }
+
+ /**
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription1()
+ {
+ return $this->description1;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription1()
+
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 2;
+ * @return string|null
+ */
+ public function getDescription1Unwrapped()
+ {
+ $wrapper = $this->getDescription1();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription1($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description1 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The first line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description1 = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription1Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription1($wrappedVar);
+ }
+
+ /**
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription2()
+ {
+ return $this->description2;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription2()
+
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 3;
+ * @return string|null
+ */
+ public function getDescription2Unwrapped()
+ {
+ $wrapper = $this->getDescription2();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description2 = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The second line of the ad's description.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description2 = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescription2Unwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription2($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TextAsset.php b/src/Google/Ads/GoogleAds/V2/Common/TextAsset.php
new file mode 100644
index 000000000..86e3e17c3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TextAsset.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.TextAsset
+ */
+final class TextAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Text content of the text asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ */
+ private $text = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $text
+ * Text content of the text asset.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AssetTypes::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Text content of the text asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * Text content of the text asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Text content of the text asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Text content of the text asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TextLabel.php b/src/Google/Ads/GoogleAds/V2/Common/TextLabel.php
new file mode 100644
index 000000000..803e2d4d7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TextLabel.php
@@ -0,0 +1,177 @@
+google.ads.googleads.v2.common.TextLabel
+ */
+final class TextLabel extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Background color of the label in RGB format. This string must match the
+ * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
+ * Note: The background color may not be visible for manager accounts.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue background_color = 1;
+ */
+ private $background_color = null;
+ /**
+ * A short description of the label. The length must be no more than 200
+ * characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ */
+ private $description = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $background_color
+ * Background color of the label in RGB format. This string must match the
+ * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
+ * Note: The background color may not be visible for manager accounts.
+ * @type \Google\Protobuf\StringValue $description
+ * A short description of the label. The length must be no more than 200
+ * characters.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\TextLabel::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Background color of the label in RGB format. This string must match the
+ * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
+ * Note: The background color may not be visible for manager accounts.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue background_color = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBackgroundColor()
+ {
+ return $this->background_color;
+ }
+
+ /**
+ * Returns the unboxed value from getBackgroundColor()
+
+ * Background color of the label in RGB format. This string must match the
+ * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
+ * Note: The background color may not be visible for manager accounts.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue background_color = 1;
+ * @return string|null
+ */
+ public function getBackgroundColorUnwrapped()
+ {
+ $wrapper = $this->getBackgroundColor();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Background color of the label in RGB format. This string must match the
+ * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
+ * Note: The background color may not be visible for manager accounts.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue background_color = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBackgroundColor($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->background_color = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Background color of the label in RGB format. This string must match the
+ * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
+ * Note: The background color may not be visible for manager accounts.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue background_color = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBackgroundColorUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBackgroundColor($wrappedVar);
+ }
+
+ /**
+ * A short description of the label. The length must be no more than 200
+ * characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * A short description of the label. The length must be no more than 200
+ * characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A short description of the label. The length must be no more than 200
+ * characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A short description of the label. The length must be no more than 200
+ * characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TextMessageFeedItem.php b/src/Google/Ads/GoogleAds/V2/Common/TextMessageFeedItem.php
new file mode 100644
index 000000000..fc2671960
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TextMessageFeedItem.php
@@ -0,0 +1,367 @@
+google.ads.googleads.v2.common.TextMessageFeedItem
+ */
+final class TextMessageFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The business name to prepend to the message text.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ */
+ private $business_name = null;
+ /**
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ */
+ private $country_code = null;
+ /**
+ * The advertiser's phone number the message will be sent to. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 3;
+ */
+ private $phone_number = null;
+ /**
+ * The text to show in the ad.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ */
+ private $text = null;
+ /**
+ * The message text populated in the messaging app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extension_text = 5;
+ */
+ private $extension_text = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $business_name
+ * The business name to prepend to the message text.
+ * This field is required.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This field is required.
+ * @type \Google\Protobuf\StringValue $phone_number
+ * The advertiser's phone number the message will be sent to. Required.
+ * @type \Google\Protobuf\StringValue $text
+ * The text to show in the ad.
+ * This field is required.
+ * @type \Google\Protobuf\StringValue $extension_text
+ * The message text populated in the messaging app.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Extensions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The business name to prepend to the message text.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessName()
+ {
+ return $this->business_name;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessName()
+
+ * The business name to prepend to the message text.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @return string|null
+ */
+ public function getBusinessNameUnwrapped()
+ {
+ $wrapper = $this->getBusinessName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The business name to prepend to the message text.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The business name to prepend to the message text.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessName($wrappedVar);
+ }
+
+ /**
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Uppercase two-letter country code of the advertiser's phone number.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * The advertiser's phone number the message will be sent to. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPhoneNumber()
+ {
+ return $this->phone_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneNumber()
+
+ * The advertiser's phone number the message will be sent to. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 3;
+ * @return string|null
+ */
+ public function getPhoneNumberUnwrapped()
+ {
+ $wrapper = $this->getPhoneNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The advertiser's phone number the message will be sent to. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPhoneNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->phone_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The advertiser's phone number the message will be sent to. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue phone_number = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPhoneNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPhoneNumber($wrappedVar);
+ }
+
+ /**
+ * The text to show in the ad.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * The text to show in the ad.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The text to show in the ad.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The text to show in the ad.
+ * This field is required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * The message text populated in the messaging app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extension_text = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExtensionText()
+ {
+ return $this->extension_text;
+ }
+
+ /**
+ * Returns the unboxed value from getExtensionText()
+
+ * The message text populated in the messaging app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extension_text = 5;
+ * @return string|null
+ */
+ public function getExtensionTextUnwrapped()
+ {
+ $wrapper = $this->getExtensionText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The message text populated in the messaging app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extension_text = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExtensionText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->extension_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The message text populated in the messaging app.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extension_text = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExtensionTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExtensionText($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/TopicInfo.php b/src/Google/Ads/GoogleAds/V2/Common/TopicInfo.php
new file mode 100644
index 000000000..39571e32c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/TopicInfo.php
@@ -0,0 +1,144 @@
+google.ads.googleads.v2.common.TopicInfo
+ */
+final class TopicInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Topic Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant = 1;
+ */
+ private $topic_constant = null;
+ /**
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs"
+ * category.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue path = 2;
+ */
+ private $path;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $topic_constant
+ * The Topic Constant resource name.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $path
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs"
+ * category.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Topic Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTopicConstant()
+ {
+ return $this->topic_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getTopicConstant()
+
+ * The Topic Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant = 1;
+ * @return string|null
+ */
+ public function getTopicConstantUnwrapped()
+ {
+ $wrapper = $this->getTopicConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Topic Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTopicConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->topic_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Topic Constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTopicConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTopicConstant($wrappedVar);
+ }
+
+ /**
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs"
+ * category.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue path = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPath()
+ {
+ return $this->path;
+ }
+
+ /**
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs"
+ * category.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue path = 2;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPath($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->path = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UnknownListingDimensionInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UnknownListingDimensionInfo.php
new file mode 100644
index 000000000..684bd1548
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UnknownListingDimensionInfo.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.common.UnknownListingDimensionInfo
+ */
+final class UnknownListingDimensionInfo extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UrlCollection.php b/src/Google/Ads/GoogleAds/V2/Common/UrlCollection.php
new file mode 100644
index 000000000..d7399be2f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UrlCollection.php
@@ -0,0 +1,227 @@
+google.ads.googleads.v2.common.UrlCollection
+ */
+final class UrlCollection extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Unique identifier for this UrlCollection instance.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 1;
+ */
+ private $url_collection_id = null;
+ /**
+ * A list of possible final URLs.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 2;
+ */
+ private $final_urls;
+ /**
+ * A list of possible final mobile URLs.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 3;
+ */
+ private $final_mobile_urls;
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 4;
+ */
+ private $tracking_url_template = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $url_collection_id
+ * Unique identifier for this UrlCollection instance.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * A list of possible final URLs.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * A list of possible final mobile URLs.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * URL template for constructing a tracking URL.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UrlCollection::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Unique identifier for this UrlCollection instance.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrlCollectionId()
+ {
+ return $this->url_collection_id;
+ }
+
+ /**
+ * Returns the unboxed value from getUrlCollectionId()
+
+ * Unique identifier for this UrlCollection instance.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 1;
+ * @return string|null
+ */
+ public function getUrlCollectionIdUnwrapped()
+ {
+ $wrapper = $this->getUrlCollectionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Unique identifier for this UrlCollection instance.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrlCollectionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url_collection_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Unique identifier for this UrlCollection instance.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url_collection_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlCollectionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrlCollectionId($wrappedVar);
+ }
+
+ /**
+ * A list of possible final URLs.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * A list of possible final URLs.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 2;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A list of possible final mobile URLs.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * A list of possible final mobile URLs.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 3;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 4;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserInterestInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserInterestInfo.php
new file mode 100644
index 000000000..c718f8ed1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserInterestInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.UserInterestInfo
+ */
+final class UserInterestInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The UserInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_category = 1;
+ */
+ private $user_interest_category = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $user_interest_category
+ * The UserInterest resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The UserInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_category = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUserInterestCategory()
+ {
+ return $this->user_interest_category;
+ }
+
+ /**
+ * Returns the unboxed value from getUserInterestCategory()
+
+ * The UserInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_category = 1;
+ * @return string|null
+ */
+ public function getUserInterestCategoryUnwrapped()
+ {
+ $wrapper = $this->getUserInterestCategory();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The UserInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_category = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUserInterestCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->user_interest_category = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The UserInterest resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_category = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUserInterestCategoryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUserInterestCategory($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListActionInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListActionInfo.php
new file mode 100644
index 000000000..68054eac3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListActionInfo.php
@@ -0,0 +1,156 @@
+google.ads.googleads.v2.common.UserListActionInfo
+ */
+final class UserListActionInfo extends \Google\Protobuf\Internal\Message
+{
+ protected $user_list_action;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * A conversion action that's not generated from remarketing.
+ * @type \Google\Protobuf\StringValue $remarketing_action
+ * A remarketing action.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A conversion action that's not generated from remarketing.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * A conversion action that's not generated from remarketing.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 1;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A conversion action that's not generated from remarketing.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A conversion action that's not generated from remarketing.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * A remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue remarketing_action = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getRemarketingAction()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Returns the unboxed value from getRemarketingAction()
+
+ * A remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue remarketing_action = 2;
+ * @return string|null
+ */
+ public function getRemarketingActionUnwrapped()
+ {
+ $wrapper = $this->getRemarketingAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue remarketing_action = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setRemarketingAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue remarketing_action = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setRemarketingActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setRemarketingAction($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getUserListAction()
+ {
+ return $this->whichOneof("user_list_action");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListDateRuleItemInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListDateRuleItemInfo.php
new file mode 100644
index 000000000..a6bfad171
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListDateRuleItemInfo.php
@@ -0,0 +1,225 @@
+google.ads.googleads.v2.common.UserListDateRuleItemInfo
+ */
+final class UserListDateRuleItemInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Date comparison operator.
+ * This field is required and must be populated when creating new date
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1;
+ */
+ private $operator = 0;
+ /**
+ * String representing date value to be compared with the rule variable.
+ * Supported date format is YYYY-MM-DD.
+ * Times are reported in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ */
+ private $value = null;
+ /**
+ * The relative date value of the right hand side denoted by number of days
+ * offset from now. The value field will override this field when both are
+ * present.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value offset_in_days = 3;
+ */
+ private $offset_in_days = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $operator
+ * Date comparison operator.
+ * This field is required and must be populated when creating new date
+ * rule item.
+ * @type \Google\Protobuf\StringValue $value
+ * String representing date value to be compared with the rule variable.
+ * Supported date format is YYYY-MM-DD.
+ * Times are reported in the customer's time zone.
+ * @type \Google\Protobuf\Int64Value $offset_in_days
+ * The relative date value of the right hand side denoted by number of days
+ * offset from now. The value field will override this field when both are
+ * present.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Date comparison operator.
+ * This field is required and must be populated when creating new date
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Date comparison operator.
+ * This field is required and must be populated when creating new date
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListDateRuleItemOperatorEnum_UserListDateRuleItemOperator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * String representing date value to be compared with the rule variable.
+ * Supported date format is YYYY-MM-DD.
+ * Times are reported in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * String representing date value to be compared with the rule variable.
+ * Supported date format is YYYY-MM-DD.
+ * Times are reported in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String representing date value to be compared with the rule variable.
+ * Supported date format is YYYY-MM-DD.
+ * Times are reported in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String representing date value to be compared with the rule variable.
+ * Supported date format is YYYY-MM-DD.
+ * Times are reported in the customer's time zone.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+ /**
+ * The relative date value of the right hand side denoted by number of days
+ * offset from now. The value field will override this field when both are
+ * present.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value offset_in_days = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getOffsetInDays()
+ {
+ return $this->offset_in_days;
+ }
+
+ /**
+ * Returns the unboxed value from getOffsetInDays()
+
+ * The relative date value of the right hand side denoted by number of days
+ * offset from now. The value field will override this field when both are
+ * present.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value offset_in_days = 3;
+ * @return int|string|null
+ */
+ public function getOffsetInDaysUnwrapped()
+ {
+ $wrapper = $this->getOffsetInDays();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The relative date value of the right hand side denoted by number of days
+ * offset from now. The value field will override this field when both are
+ * present.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value offset_in_days = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setOffsetInDays($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->offset_in_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The relative date value of the right hand side denoted by number of days
+ * offset from now. The value field will override this field when both are
+ * present.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value offset_in_days = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setOffsetInDaysUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setOffsetInDays($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListInfo.php
new file mode 100644
index 000000000..6dc5e043f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListInfo.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.UserListInfo
+ */
+final class UserListInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The User List resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ */
+ private $user_list = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $user_list
+ * The User List resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The User List resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUserList()
+ {
+ return $this->user_list;
+ }
+
+ /**
+ * Returns the unboxed value from getUserList()
+
+ * The User List resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @return string|null
+ */
+ public function getUserListUnwrapped()
+ {
+ $wrapper = $this->getUserList();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The User List resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->user_list = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The User List resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_list = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUserListUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUserList($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListLogicalRuleInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListLogicalRuleInfo.php
new file mode 100644
index 000000000..2c4533681
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListLogicalRuleInfo.php
@@ -0,0 +1,102 @@
+google.ads.googleads.v2.common.UserListLogicalRuleInfo
+ */
+final class UserListLogicalRuleInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The logical operator of the rule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1;
+ */
+ private $operator = 0;
+ /**
+ * The list of operands of the rule.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.LogicalUserListOperandInfo rule_operands = 2;
+ */
+ private $rule_operands;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $operator
+ * The logical operator of the rule.
+ * @type \Google\Ads\GoogleAds\V2\Common\LogicalUserListOperandInfo[]|\Google\Protobuf\Internal\RepeatedField $rule_operands
+ * The list of operands of the rule.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The logical operator of the rule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * The logical operator of the rule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListLogicalRuleOperatorEnum_UserListLogicalRuleOperator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operands of the rule.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.LogicalUserListOperandInfo rule_operands = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRuleOperands()
+ {
+ return $this->rule_operands;
+ }
+
+ /**
+ * The list of operands of the rule.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.LogicalUserListOperandInfo rule_operands = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\LogicalUserListOperandInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRuleOperands($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\LogicalUserListOperandInfo::class);
+ $this->rule_operands = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListNumberRuleItemInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListNumberRuleItemInfo.php
new file mode 100644
index 000000000..848f39a67
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListNumberRuleItemInfo.php
@@ -0,0 +1,150 @@
+google.ads.googleads.v2.common.UserListNumberRuleItemInfo
+ */
+final class UserListNumberRuleItemInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Number comparison operator.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1;
+ */
+ private $operator = 0;
+ /**
+ * Number value to be compared with the variable.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value = 2;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $operator
+ * Number comparison operator.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ * @type \Google\Protobuf\DoubleValue $value
+ * Number value to be compared with the variable.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Number comparison operator.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Number comparison operator.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListNumberRuleItemOperatorEnum_UserListNumberRuleItemOperator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number value to be compared with the variable.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * Number value to be compared with the variable.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value = 2;
+ * @return float|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number value to be compared with the variable.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number value to be compared with the variable.
+ * This field is required and must be populated when creating a new number
+ * rule item.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue value = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListRuleInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListRuleInfo.php
new file mode 100644
index 000000000..64e78f76e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListRuleInfo.php
@@ -0,0 +1,126 @@
+google.ads.googleads.v2.common.UserListRuleInfo
+ */
+final class UserListRuleInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Rule type is used to determine how to group rule items.
+ * The default is OR of ANDs (disjunctive normal form).
+ * That is, rule items will be ANDed together within rule item groups and the
+ * groups themselves will be ORed together.
+ * Currently AND of ORs (conjunctive normal form) is only supported for
+ * ExpressionRuleUserList.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1;
+ */
+ private $rule_type = 0;
+ /**
+ * List of rule item groups that defines this rule.
+ * Rule item groups are grouped together based on rule_type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListRuleItemGroupInfo rule_item_groups = 2;
+ */
+ private $rule_item_groups;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $rule_type
+ * Rule type is used to determine how to group rule items.
+ * The default is OR of ANDs (disjunctive normal form).
+ * That is, rule items will be ANDed together within rule item groups and the
+ * groups themselves will be ORed together.
+ * Currently AND of ORs (conjunctive normal form) is only supported for
+ * ExpressionRuleUserList.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListRuleItemGroupInfo[]|\Google\Protobuf\Internal\RepeatedField $rule_item_groups
+ * List of rule item groups that defines this rule.
+ * Rule item groups are grouped together based on rule_type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Rule type is used to determine how to group rule items.
+ * The default is OR of ANDs (disjunctive normal form).
+ * That is, rule items will be ANDed together within rule item groups and the
+ * groups themselves will be ORed together.
+ * Currently AND of ORs (conjunctive normal form) is only supported for
+ * ExpressionRuleUserList.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1;
+ * @return int
+ */
+ public function getRuleType()
+ {
+ return $this->rule_type;
+ }
+
+ /**
+ * Rule type is used to determine how to group rule items.
+ * The default is OR of ANDs (disjunctive normal form).
+ * That is, rule items will be ANDed together within rule item groups and the
+ * groups themselves will be ORed together.
+ * Currently AND of ORs (conjunctive normal form) is only supported for
+ * ExpressionRuleUserList.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setRuleType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListRuleTypeEnum_UserListRuleType::class);
+ $this->rule_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * List of rule item groups that defines this rule.
+ * Rule item groups are grouped together based on rule_type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListRuleItemGroupInfo rule_item_groups = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRuleItemGroups()
+ {
+ return $this->rule_item_groups;
+ }
+
+ /**
+ * List of rule item groups that defines this rule.
+ * Rule item groups are grouped together based on rule_type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListRuleItemGroupInfo rule_item_groups = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListRuleItemGroupInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRuleItemGroups($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\UserListRuleItemGroupInfo::class);
+ $this->rule_item_groups = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemGroupInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemGroupInfo.php
new file mode 100644
index 000000000..ad787e56a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemGroupInfo.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.common.UserListRuleItemGroupInfo
+ */
+final class UserListRuleItemGroupInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Rule items that will be grouped together based on rule_type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListRuleItemInfo rule_items = 1;
+ */
+ private $rule_items;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListRuleItemInfo[]|\Google\Protobuf\Internal\RepeatedField $rule_items
+ * Rule items that will be grouped together based on rule_type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Rule items that will be grouped together based on rule_type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListRuleItemInfo rule_items = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRuleItems()
+ {
+ return $this->rule_items;
+ }
+
+ /**
+ * Rule items that will be grouped together based on rule_type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UserListRuleItemInfo rule_items = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListRuleItemInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRuleItems($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\UserListRuleItemInfo::class);
+ $this->rule_items = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemInfo.php
new file mode 100644
index 000000000..56ae42733
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListRuleItemInfo.php
@@ -0,0 +1,231 @@
+google.ads.googleads.v2.common.UserListRuleItemInfo
+ */
+final class UserListRuleItemInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Rule variable name. It should match the corresponding key name fired
+ * by the pixel.
+ * A name must begin with US-ascii letters or underscore or UTF8 code that is
+ * greater than 127 and consist of US-ascii letters or digits or underscore or
+ * UTF8 code that is greater than 127.
+ * For websites, there are two built-in variable URL (name = 'url__') and
+ * referrer URL (name = 'ref_url__').
+ * This field must be populated when creating a new rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 1;
+ */
+ private $name = null;
+ protected $rule_item;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $name
+ * Rule variable name. It should match the corresponding key name fired
+ * by the pixel.
+ * A name must begin with US-ascii letters or underscore or UTF8 code that is
+ * greater than 127 and consist of US-ascii letters or digits or underscore or
+ * UTF8 code that is greater than 127.
+ * For websites, there are two built-in variable URL (name = 'url__') and
+ * referrer URL (name = 'ref_url__').
+ * This field must be populated when creating a new rule item.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListNumberRuleItemInfo $number_rule_item
+ * An atomic rule fragment composed of a number operation.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListStringRuleItemInfo $string_rule_item
+ * An atomic rule fragment composed of a string operation.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListDateRuleItemInfo $date_rule_item
+ * An atomic rule fragment composed of a date operation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Rule variable name. It should match the corresponding key name fired
+ * by the pixel.
+ * A name must begin with US-ascii letters or underscore or UTF8 code that is
+ * greater than 127 and consist of US-ascii letters or digits or underscore or
+ * UTF8 code that is greater than 127.
+ * For websites, there are two built-in variable URL (name = 'url__') and
+ * referrer URL (name = 'ref_url__').
+ * This field must be populated when creating a new rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Rule variable name. It should match the corresponding key name fired
+ * by the pixel.
+ * A name must begin with US-ascii letters or underscore or UTF8 code that is
+ * greater than 127 and consist of US-ascii letters or digits or underscore or
+ * UTF8 code that is greater than 127.
+ * For websites, there are two built-in variable URL (name = 'url__') and
+ * referrer URL (name = 'ref_url__').
+ * This field must be populated when creating a new rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 1;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Rule variable name. It should match the corresponding key name fired
+ * by the pixel.
+ * A name must begin with US-ascii letters or underscore or UTF8 code that is
+ * greater than 127 and consist of US-ascii letters or digits or underscore or
+ * UTF8 code that is greater than 127.
+ * For websites, there are two built-in variable URL (name = 'url__') and
+ * referrer URL (name = 'ref_url__').
+ * This field must be populated when creating a new rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Rule variable name. It should match the corresponding key name fired
+ * by the pixel.
+ * A name must begin with US-ascii letters or underscore or UTF8 code that is
+ * greater than 127 and consist of US-ascii letters or digits or underscore or
+ * UTF8 code that is greater than 127.
+ * For websites, there are two built-in variable URL (name = 'url__') and
+ * referrer URL (name = 'ref_url__').
+ * This field must be populated when creating a new rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * An atomic rule fragment composed of a number operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListNumberRuleItemInfo number_rule_item = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListNumberRuleItemInfo
+ */
+ public function getNumberRuleItem()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * An atomic rule fragment composed of a number operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListNumberRuleItemInfo number_rule_item = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListNumberRuleItemInfo $var
+ * @return $this
+ */
+ public function setNumberRuleItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListNumberRuleItemInfo::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * An atomic rule fragment composed of a string operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListStringRuleItemInfo string_rule_item = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListStringRuleItemInfo
+ */
+ public function getStringRuleItem()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * An atomic rule fragment composed of a string operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListStringRuleItemInfo string_rule_item = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListStringRuleItemInfo $var
+ * @return $this
+ */
+ public function setStringRuleItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListStringRuleItemInfo::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * An atomic rule fragment composed of a date operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListDateRuleItemInfo date_rule_item = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListDateRuleItemInfo
+ */
+ public function getDateRuleItem()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * An atomic rule fragment composed of a date operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListDateRuleItemInfo date_rule_item = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListDateRuleItemInfo $var
+ * @return $this
+ */
+ public function setDateRuleItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListDateRuleItemInfo::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getRuleItem()
+ {
+ return $this->whichOneof("rule_item");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/UserListStringRuleItemInfo.php b/src/Google/Ads/GoogleAds/V2/Common/UserListStringRuleItemInfo.php
new file mode 100644
index 000000000..94e33a9fb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/UserListStringRuleItemInfo.php
@@ -0,0 +1,156 @@
+google.ads.googleads.v2.common.UserListStringRuleItemInfo
+ */
+final class UserListStringRuleItemInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * String comparison operator.
+ * This field is required and must be populated when creating a new string
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1;
+ */
+ private $operator = 0;
+ /**
+ * The right hand side of the string rule item. For URLs or referrer URLs,
+ * the value can not contain illegal URL chars such as newlines, quotes,
+ * tabs, or parentheses. This field is required and must be populated when
+ * creating a new string rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $operator
+ * String comparison operator.
+ * This field is required and must be populated when creating a new string
+ * rule item.
+ * @type \Google\Protobuf\StringValue $value
+ * The right hand side of the string rule item. For URLs or referrer URLs,
+ * the value can not contain illegal URL chars such as newlines, quotes,
+ * tabs, or parentheses. This field is required and must be populated when
+ * creating a new string rule item.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\UserLists::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * String comparison operator.
+ * This field is required and must be populated when creating a new string
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * String comparison operator.
+ * This field is required and must be populated when creating a new string
+ * rule item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListStringRuleItemOperatorEnum_UserListStringRuleItemOperator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * The right hand side of the string rule item. For URLs or referrer URLs,
+ * the value can not contain illegal URL chars such as newlines, quotes,
+ * tabs, or parentheses. This field is required and must be populated when
+ * creating a new string rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns the unboxed value from getValue()
+
+ * The right hand side of the string rule item. For URLs or referrer URLs,
+ * the value can not contain illegal URL chars such as newlines, quotes,
+ * tabs, or parentheses. This field is required and must be populated when
+ * creating a new string rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @return string|null
+ */
+ public function getValueUnwrapped()
+ {
+ $wrapper = $this->getValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The right hand side of the string rule item. For URLs or referrer URLs,
+ * the value can not contain illegal URL chars such as newlines, quotes,
+ * tabs, or parentheses. This field is required and must be populated when
+ * creating a new string rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The right hand side of the string rule item. For URLs or referrer URLs,
+ * the value can not contain illegal URL chars such as newlines, quotes,
+ * tabs, or parentheses. This field is required and must be populated when
+ * creating a new string rule item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue value = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setValue($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/Value.php b/src/Google/Ads/GoogleAds/V2/Common/Value.php
new file mode 100644
index 000000000..ca4566817
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/Value.php
@@ -0,0 +1,182 @@
+google.ads.googleads.v2.common.Value
+ */
+final class Value extends \Google\Protobuf\Internal\Message
+{
+ protected $value;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type bool $boolean_value
+ * A boolean.
+ * @type int|string $int64_value
+ * An int64.
+ * @type float $float_value
+ * A float.
+ * @type float $double_value
+ * A double.
+ * @type string $string_value
+ * A string.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Value::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A boolean.
+ *
+ * Generated from protobuf field bool boolean_value = 1;
+ * @return bool
+ */
+ public function getBooleanValue()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * A boolean.
+ *
+ * Generated from protobuf field bool boolean_value = 1;
+ * @param bool $var
+ * @return $this
+ */
+ public function setBooleanValue($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * An int64.
+ *
+ * Generated from protobuf field int64 int64_value = 2;
+ * @return int|string
+ */
+ public function getInt64Value()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * An int64.
+ *
+ * Generated from protobuf field int64 int64_value = 2;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setInt64Value($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * A float.
+ *
+ * Generated from protobuf field float float_value = 3;
+ * @return float
+ */
+ public function getFloatValue()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * A float.
+ *
+ * Generated from protobuf field float float_value = 3;
+ * @param float $var
+ * @return $this
+ */
+ public function setFloatValue($var)
+ {
+ GPBUtil::checkFloat($var);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * A double.
+ *
+ * Generated from protobuf field double double_value = 4;
+ * @return float
+ */
+ public function getDoubleValue()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * A double.
+ *
+ * Generated from protobuf field double double_value = 4;
+ * @param float $var
+ * @return $this
+ */
+ public function setDoubleValue($var)
+ {
+ GPBUtil::checkDouble($var);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * A string.
+ *
+ * Generated from protobuf field string string_value = 5;
+ * @return string
+ */
+ public function getStringValue()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * A string.
+ *
+ * Generated from protobuf field string string_value = 5;
+ * @param string $var
+ * @return $this
+ */
+ public function setStringValue($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getValue()
+ {
+ return $this->whichOneof("value");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/VideoAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/VideoAdInfo.php
new file mode 100644
index 000000000..0e4adaad6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/VideoAdInfo.php
@@ -0,0 +1,217 @@
+google.ads.googleads.v2.common.VideoAdInfo
+ */
+final class VideoAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The MediaFile resource to use for the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ */
+ private $media_file = null;
+ protected $format;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $media_file
+ * The MediaFile resource to use for the video.
+ * @type \Google\Ads\GoogleAds\V2\Common\VideoTrueViewInStreamAdInfo $in_stream
+ * Video TrueView in-stream ad format.
+ * @type \Google\Ads\GoogleAds\V2\Common\VideoBumperInStreamAdInfo $bumper
+ * Video bumper in-stream ad format.
+ * @type \Google\Ads\GoogleAds\V2\Common\VideoOutstreamAdInfo $out_stream
+ * Video out-stream ad format.
+ * @type \Google\Ads\GoogleAds\V2\Common\VideoNonSkippableInStreamAdInfo $non_skippable
+ * Video non-skippable in-stream ad format.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The MediaFile resource to use for the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMediaFile()
+ {
+ return $this->media_file;
+ }
+
+ /**
+ * Returns the unboxed value from getMediaFile()
+
+ * The MediaFile resource to use for the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @return string|null
+ */
+ public function getMediaFileUnwrapped()
+ {
+ $wrapper = $this->getMediaFile();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource to use for the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMediaFile($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->media_file = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource to use for the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue media_file = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMediaFileUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMediaFile($wrappedVar);
+ }
+
+ /**
+ * Video TrueView in-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo in_stream = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\VideoTrueViewInStreamAdInfo
+ */
+ public function getInStream()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Video TrueView in-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo in_stream = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\VideoTrueViewInStreamAdInfo $var
+ * @return $this
+ */
+ public function setInStream($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\VideoTrueViewInStreamAdInfo::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Video bumper in-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoBumperInStreamAdInfo bumper = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\VideoBumperInStreamAdInfo
+ */
+ public function getBumper()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Video bumper in-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoBumperInStreamAdInfo bumper = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\VideoBumperInStreamAdInfo $var
+ * @return $this
+ */
+ public function setBumper($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\VideoBumperInStreamAdInfo::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Video out-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoOutstreamAdInfo out_stream = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\VideoOutstreamAdInfo
+ */
+ public function getOutStream()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Video out-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoOutstreamAdInfo out_stream = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\VideoOutstreamAdInfo $var
+ * @return $this
+ */
+ public function setOutStream($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\VideoOutstreamAdInfo::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * Video non-skippable in-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo non_skippable = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\VideoNonSkippableInStreamAdInfo
+ */
+ public function getNonSkippable()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Video non-skippable in-stream ad format.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo non_skippable = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\VideoNonSkippableInStreamAdInfo $var
+ * @return $this
+ */
+ public function setNonSkippable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\VideoNonSkippableInStreamAdInfo::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getFormat()
+ {
+ return $this->whichOneof("format");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/VideoBumperInStreamAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/VideoBumperInStreamAdInfo.php
new file mode 100644
index 000000000..388a1968c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/VideoBumperInStreamAdInfo.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.VideoBumperInStreamAdInfo
+ */
+final class VideoBumperInStreamAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ */
+ private $companion_banner = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $companion_banner
+ * The MediaFile resource name of the companion banner used with the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCompanionBanner()
+ {
+ return $this->companion_banner;
+ }
+
+ /**
+ * Returns the unboxed value from getCompanionBanner()
+
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @return string|null
+ */
+ public function getCompanionBannerUnwrapped()
+ {
+ $wrapper = $this->getCompanionBanner();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCompanionBanner($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->companion_banner = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCompanionBannerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCompanionBanner($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/VideoNonSkippableInStreamAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/VideoNonSkippableInStreamAdInfo.php
new file mode 100644
index 000000000..effcbc121
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/VideoNonSkippableInStreamAdInfo.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo
+ */
+final class VideoNonSkippableInStreamAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ */
+ private $companion_banner = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $companion_banner
+ * The MediaFile resource name of the companion banner used with the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCompanionBanner()
+ {
+ return $this->companion_banner;
+ }
+
+ /**
+ * Returns the unboxed value from getCompanionBanner()
+
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @return string|null
+ */
+ public function getCompanionBannerUnwrapped()
+ {
+ $wrapper = $this->getCompanionBanner();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCompanionBanner($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->companion_banner = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCompanionBannerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCompanionBanner($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/VideoOutstreamAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/VideoOutstreamAdInfo.php
new file mode 100644
index 000000000..d4b1565f5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/VideoOutstreamAdInfo.php
@@ -0,0 +1,160 @@
+google.ads.googleads.v2.common.VideoOutstreamAdInfo
+ */
+final class VideoOutstreamAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ */
+ private $headline = null;
+ /**
+ * The description line.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ */
+ private $description = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $headline
+ * The headline of the ad.
+ * @type \Google\Protobuf\StringValue $description
+ * The description line.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline()
+ {
+ return $this->headline;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline()
+
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @return string|null
+ */
+ public function getHeadlineUnwrapped()
+ {
+ $wrapper = $this->getHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The headline of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline($wrappedVar);
+ }
+
+ /**
+ * The description line.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * The description line.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The description line.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The description line.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/VideoTrueViewInStreamAdInfo.php b/src/Google/Ads/GoogleAds/V2/Common/VideoTrueViewInStreamAdInfo.php
new file mode 100644
index 000000000..967309141
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/VideoTrueViewInStreamAdInfo.php
@@ -0,0 +1,242 @@
+google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo
+ */
+final class VideoTrueViewInStreamAdInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Label on the CTA (call-to-action) button taking the user to the video ad's
+ * final URL.
+ * Required for TrueView for action campaigns, optional otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_button_label = 1;
+ */
+ private $action_button_label = null;
+ /**
+ * Additional text displayed with the CTA (call-to-action) button to give
+ * context and encourage clicking on the button.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_headline = 2;
+ */
+ private $action_headline = null;
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 3;
+ */
+ private $companion_banner = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $action_button_label
+ * Label on the CTA (call-to-action) button taking the user to the video ad's
+ * final URL.
+ * Required for TrueView for action campaigns, optional otherwise.
+ * @type \Google\Protobuf\StringValue $action_headline
+ * Additional text displayed with the CTA (call-to-action) button to give
+ * context and encourage clicking on the button.
+ * @type \Google\Protobuf\StringValue $companion_banner
+ * The MediaFile resource name of the companion banner used with the ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AdTypeInfos::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Label on the CTA (call-to-action) button taking the user to the video ad's
+ * final URL.
+ * Required for TrueView for action campaigns, optional otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_button_label = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getActionButtonLabel()
+ {
+ return $this->action_button_label;
+ }
+
+ /**
+ * Returns the unboxed value from getActionButtonLabel()
+
+ * Label on the CTA (call-to-action) button taking the user to the video ad's
+ * final URL.
+ * Required for TrueView for action campaigns, optional otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_button_label = 1;
+ * @return string|null
+ */
+ public function getActionButtonLabelUnwrapped()
+ {
+ $wrapper = $this->getActionButtonLabel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Label on the CTA (call-to-action) button taking the user to the video ad's
+ * final URL.
+ * Required for TrueView for action campaigns, optional otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_button_label = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setActionButtonLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->action_button_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Label on the CTA (call-to-action) button taking the user to the video ad's
+ * final URL.
+ * Required for TrueView for action campaigns, optional otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_button_label = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setActionButtonLabelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setActionButtonLabel($wrappedVar);
+ }
+
+ /**
+ * Additional text displayed with the CTA (call-to-action) button to give
+ * context and encourage clicking on the button.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_headline = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getActionHeadline()
+ {
+ return $this->action_headline;
+ }
+
+ /**
+ * Returns the unboxed value from getActionHeadline()
+
+ * Additional text displayed with the CTA (call-to-action) button to give
+ * context and encourage clicking on the button.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_headline = 2;
+ * @return string|null
+ */
+ public function getActionHeadlineUnwrapped()
+ {
+ $wrapper = $this->getActionHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Additional text displayed with the CTA (call-to-action) button to give
+ * context and encourage clicking on the button.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_headline = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setActionHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->action_headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Additional text displayed with the CTA (call-to-action) button to give
+ * context and encourage clicking on the button.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue action_headline = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setActionHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setActionHeadline($wrappedVar);
+ }
+
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCompanionBanner()
+ {
+ return $this->companion_banner;
+ }
+
+ /**
+ * Returns the unboxed value from getCompanionBanner()
+
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 3;
+ * @return string|null
+ */
+ public function getCompanionBannerUnwrapped()
+ {
+ $wrapper = $this->getCompanionBanner();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCompanionBanner($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->companion_banner = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The MediaFile resource name of the companion banner used with the ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue companion_banner = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCompanionBannerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCompanionBanner($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/WebpageConditionInfo.php b/src/Google/Ads/GoogleAds/V2/Common/WebpageConditionInfo.php
new file mode 100644
index 000000000..a60c95afe
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/WebpageConditionInfo.php
@@ -0,0 +1,164 @@
+google.ads.googleads.v2.common.WebpageConditionInfo
+ */
+final class WebpageConditionInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Operand of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1;
+ */
+ private $operand = 0;
+ /**
+ * Operator of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2;
+ */
+ private $operator = 0;
+ /**
+ * Argument of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue argument = 3;
+ */
+ private $argument = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $operand
+ * Operand of webpage targeting condition.
+ * @type int $operator
+ * Operator of webpage targeting condition.
+ * @type \Google\Protobuf\StringValue $argument
+ * Argument of webpage targeting condition.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Operand of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1;
+ * @return int
+ */
+ public function getOperand()
+ {
+ return $this->operand;
+ }
+
+ /**
+ * Operand of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperand($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperandEnum_WebpageConditionOperand::class);
+ $this->operand = $var;
+
+ return $this;
+ }
+
+ /**
+ * Operator of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Operator of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperatorEnum_WebpageConditionOperator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * Argument of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue argument = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getArgument()
+ {
+ return $this->argument;
+ }
+
+ /**
+ * Returns the unboxed value from getArgument()
+
+ * Argument of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue argument = 3;
+ * @return string|null
+ */
+ public function getArgumentUnwrapped()
+ {
+ $wrapper = $this->getArgument();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Argument of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue argument = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setArgument($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->argument = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Argument of webpage targeting condition.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue argument = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setArgumentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setArgument($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/WebpageInfo.php b/src/Google/Ads/GoogleAds/V2/Common/WebpageInfo.php
new file mode 100644
index 000000000..0ba313dcc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/WebpageInfo.php
@@ -0,0 +1,170 @@
+google.ads.googleads.v2.common.WebpageInfo
+ */
+final class WebpageInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The name of the criterion that is defined by this parameter. The name value
+ * will be used for identifying, sorting and filtering criteria with this type
+ * of parameters.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue criterion_name = 1;
+ */
+ private $criterion_name = null;
+ /**
+ * Conditions, or logical expressions, for webpage targeting. The list of
+ * webpage targeting conditions are and-ed together when evaluated
+ * for targeting.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.WebpageConditionInfo conditions = 2;
+ */
+ private $conditions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $criterion_name
+ * The name of the criterion that is defined by this parameter. The name value
+ * will be used for identifying, sorting and filtering criteria with this type
+ * of parameters.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * @type \Google\Ads\GoogleAds\V2\Common\WebpageConditionInfo[]|\Google\Protobuf\Internal\RepeatedField $conditions
+ * Conditions, or logical expressions, for webpage targeting. The list of
+ * webpage targeting conditions are and-ed together when evaluated
+ * for targeting.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The name of the criterion that is defined by this parameter. The name value
+ * will be used for identifying, sorting and filtering criteria with this type
+ * of parameters.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue criterion_name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCriterionName()
+ {
+ return $this->criterion_name;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionName()
+
+ * The name of the criterion that is defined by this parameter. The name value
+ * will be used for identifying, sorting and filtering criteria with this type
+ * of parameters.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue criterion_name = 1;
+ * @return string|null
+ */
+ public function getCriterionNameUnwrapped()
+ {
+ $wrapper = $this->getCriterionName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the criterion that is defined by this parameter. The name value
+ * will be used for identifying, sorting and filtering criteria with this type
+ * of parameters.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue criterion_name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCriterionName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->criterion_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the criterion that is defined by this parameter. The name value
+ * will be used for identifying, sorting and filtering criteria with this type
+ * of parameters.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue criterion_name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCriterionNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCriterionName($wrappedVar);
+ }
+
+ /**
+ * Conditions, or logical expressions, for webpage targeting. The list of
+ * webpage targeting conditions are and-ed together when evaluated
+ * for targeting.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.WebpageConditionInfo conditions = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConditions()
+ {
+ return $this->conditions;
+ }
+
+ /**
+ * Conditions, or logical expressions, for webpage targeting. The list of
+ * webpage targeting conditions are and-ed together when evaluated
+ * for targeting.
+ * This field is required for CREATE operations and is prohibited on UPDATE
+ * operations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.WebpageConditionInfo conditions = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\WebpageConditionInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConditions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\WebpageConditionInfo::class);
+ $this->conditions = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/YouTubeChannelInfo.php b/src/Google/Ads/GoogleAds/V2/Common/YouTubeChannelInfo.php
new file mode 100644
index 000000000..1ba5a0574
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/YouTubeChannelInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.YouTubeChannelInfo
+ */
+final class YouTubeChannelInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The YouTube uploader channel id or the channel code of a YouTube channel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 1;
+ */
+ private $channel_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $channel_id
+ * The YouTube uploader channel id or the channel code of a YouTube channel.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The YouTube uploader channel id or the channel code of a YouTube channel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getChannelId()
+ {
+ return $this->channel_id;
+ }
+
+ /**
+ * Returns the unboxed value from getChannelId()
+
+ * The YouTube uploader channel id or the channel code of a YouTube channel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 1;
+ * @return string|null
+ */
+ public function getChannelIdUnwrapped()
+ {
+ $wrapper = $this->getChannelId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The YouTube uploader channel id or the channel code of a YouTube channel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setChannelId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->channel_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The YouTube uploader channel id or the channel code of a YouTube channel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setChannelIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setChannelId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/YouTubeVideoInfo.php b/src/Google/Ads/GoogleAds/V2/Common/YouTubeVideoInfo.php
new file mode 100644
index 000000000..277d58899
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/YouTubeVideoInfo.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.common.YouTubeVideoInfo
+ */
+final class YouTubeVideoInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * YouTube video id as it appears on the YouTube watch page.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue video_id = 1;
+ */
+ private $video_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $video_id
+ * YouTube video id as it appears on the YouTube watch page.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\Criteria::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * YouTube video id as it appears on the YouTube watch page.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue video_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getVideoId()
+ {
+ return $this->video_id;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoId()
+
+ * YouTube video id as it appears on the YouTube watch page.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue video_id = 1;
+ * @return string|null
+ */
+ public function getVideoIdUnwrapped()
+ {
+ $wrapper = $this->getVideoId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * YouTube video id as it appears on the YouTube watch page.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue video_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setVideoId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->video_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * YouTube video id as it appears on the YouTube watch page.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue video_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setVideoIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setVideoId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Common/YoutubeVideoAsset.php b/src/Google/Ads/GoogleAds/V2/Common/YoutubeVideoAsset.php
new file mode 100644
index 000000000..0437e195a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Common/YoutubeVideoAsset.php
@@ -0,0 +1,102 @@
+google.ads.googleads.v2.common.YoutubeVideoAsset
+ */
+final class YoutubeVideoAsset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * YouTube video id. This is the 11 character string value used in the
+ * YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 1;
+ */
+ private $youtube_video_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $youtube_video_id
+ * YouTube video id. This is the 11 character string value used in the
+ * YouTube video URL.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Common\AssetTypes::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * YouTube video id. This is the 11 character string value used in the
+ * YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getYoutubeVideoId()
+ {
+ return $this->youtube_video_id;
+ }
+
+ /**
+ * Returns the unboxed value from getYoutubeVideoId()
+
+ * YouTube video id. This is the 11 character string value used in the
+ * YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 1;
+ * @return string|null
+ */
+ public function getYoutubeVideoIdUnwrapped()
+ {
+ $wrapper = $this->getYoutubeVideoId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * YouTube video id. This is the 11 character string value used in the
+ * YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setYoutubeVideoId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->youtube_video_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * YouTube video id. This is the 11 character string value used in the
+ * YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setYoutubeVideoIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setYoutubeVideoId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum.php b/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum.php
new file mode 100644
index 000000000..3e95f6a1b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.enums.AccessReasonEnum
+ */
+final class AccessReasonEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AccessReason::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum/AccessReason.php b/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum/AccessReason.php
new file mode 100644
index 000000000..832fd4f1b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum/AccessReason.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.AccessReasonEnum.AccessReason
+ */
+class AccessReason
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The resource is owned by the user.
+ *
+ * Generated from protobuf enum OWNED = 2;
+ */
+ const OWNED = 2;
+ /**
+ * The resource is shared to the user.
+ *
+ * Generated from protobuf enum SHARED = 3;
+ */
+ const SHARED = 3;
+ /**
+ * The resource is licensed to the user.
+ *
+ * Generated from protobuf enum LICENSED = 4;
+ */
+ const LICENSED = 4;
+ /**
+ * The user subscribed to the resource.
+ *
+ * Generated from protobuf enum SUBSCRIBED = 5;
+ */
+ const SUBSCRIBED = 5;
+ /**
+ * The resource is accessible to the user.
+ *
+ * Generated from protobuf enum AFFILIATED = 6;
+ */
+ const AFFILIATED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OWNED => 'OWNED',
+ self::SHARED => 'SHARED',
+ self::LICENSED => 'LICENSED',
+ self::SUBSCRIBED => 'SUBSCRIBED',
+ self::AFFILIATED => 'AFFILIATED',
+ ];
+
+ 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(AccessReason::class, \Google\Ads\GoogleAds\V2\Enums\AccessReasonEnum_AccessReason::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum_AccessReason.php b/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum_AccessReason.php
new file mode 100644
index 000000000..fc2c6584e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccessReasonEnum_AccessReason.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AccessRoleEnum
+ */
+final class AccessRoleEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AccessRole::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum/AccessRole.php b/src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum/AccessRole.php
new file mode 100644
index 000000000..12517bbd3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum/AccessRole.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.AccessRoleEnum.AccessRole
+ */
+class AccessRole
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Owns its account and can control the addition of other users.
+ *
+ * Generated from protobuf enum ADMIN = 2;
+ */
+ const ADMIN = 2;
+ /**
+ * Can modify campaigns, but can't affect other users.
+ *
+ * Generated from protobuf enum STANDARD = 3;
+ */
+ const STANDARD = 3;
+ /**
+ * Can view campaigns and account changes, but cannot make edits.
+ *
+ * Generated from protobuf enum READ_ONLY = 4;
+ */
+ const READ_ONLY = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ADMIN => 'ADMIN',
+ self::STANDARD => 'STANDARD',
+ self::READ_ONLY => 'READ_ONLY',
+ ];
+
+ 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(AccessRole::class, \Google\Ads\GoogleAds\V2\Enums\AccessRoleEnum_AccessRole::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum_AccessRole.php b/src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum_AccessRole.php
new file mode 100644
index 000000000..62d082332
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccessRoleEnum_AccessRole.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AccountBudgetProposalStatusEnum
+ */
+final class AccountBudgetProposalStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum/AccountBudgetProposalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum/AccountBudgetProposalStatus.php
new file mode 100644
index 000000000..faee7d047
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum/AccountBudgetProposalStatus.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus
+ */
+class AccountBudgetProposalStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The proposal is pending approval.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * The proposal has been approved but the corresponding billing setup
+ * has not. This can occur for proposals that set up the first budget
+ * when signing up for billing or when performing a change of bill-to
+ * operation.
+ *
+ * Generated from protobuf enum APPROVED_HELD = 3;
+ */
+ const APPROVED_HELD = 3;
+ /**
+ * The proposal has been approved.
+ *
+ * Generated from protobuf enum APPROVED = 4;
+ */
+ const APPROVED = 4;
+ /**
+ * The proposal has been cancelled by the user.
+ *
+ * Generated from protobuf enum CANCELLED = 5;
+ */
+ const CANCELLED = 5;
+ /**
+ * The proposal has been rejected by the user, e.g. by rejecting an
+ * acceptance email.
+ *
+ * Generated from protobuf enum REJECTED = 6;
+ */
+ const REJECTED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::APPROVED_HELD => 'APPROVED_HELD',
+ self::APPROVED => 'APPROVED',
+ self::CANCELLED => 'CANCELLED',
+ self::REJECTED => 'REJECTED',
+ ];
+
+ 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(AccountBudgetProposalStatus::class, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus.php
new file mode 100644
index 000000000..e638beeee
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum
+ */
+final class AccountBudgetProposalTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum/AccountBudgetProposalType.php b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum/AccountBudgetProposalType.php
new file mode 100644
index 000000000..60ffcf290
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum/AccountBudgetProposalType.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType
+ */
+class AccountBudgetProposalType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Identifies a request to create a new budget.
+ *
+ * Generated from protobuf enum CREATE = 2;
+ */
+ const CREATE = 2;
+ /**
+ * Identifies a request to edit an existing budget.
+ *
+ * Generated from protobuf enum UPDATE = 3;
+ */
+ const UPDATE = 3;
+ /**
+ * Identifies a request to end a budget that has already started.
+ *
+ * Generated from protobuf enum END = 4;
+ */
+ const END = 4;
+ /**
+ * Identifies a request to remove a budget that hasn't started yet.
+ *
+ * Generated from protobuf enum REMOVE = 5;
+ */
+ const REMOVE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CREATE => 'CREATE',
+ self::UPDATE => 'UPDATE',
+ self::END => 'END',
+ self::REMOVE => 'REMOVE',
+ ];
+
+ 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(AccountBudgetProposalType::class, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalTypeEnum_AccountBudgetProposalType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum_AccountBudgetProposalType.php b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum_AccountBudgetProposalType.php
new file mode 100644
index 000000000..b70d1764a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetProposalTypeEnum_AccountBudgetProposalType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AccountBudgetStatusEnum
+ */
+final class AccountBudgetStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AccountBudgetStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum/AccountBudgetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum/AccountBudgetStatus.php
new file mode 100644
index 000000000..2c4500866
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum/AccountBudgetStatus.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.AccountBudgetStatusEnum.AccountBudgetStatus
+ */
+class AccountBudgetStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The account budget is pending approval.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * The account budget has been approved.
+ *
+ * Generated from protobuf enum APPROVED = 3;
+ */
+ const APPROVED = 3;
+ /**
+ * The account budget has been cancelled by the user.
+ *
+ * Generated from protobuf enum CANCELLED = 4;
+ */
+ const CANCELLED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::APPROVED => 'APPROVED',
+ self::CANCELLED => 'CANCELLED',
+ ];
+
+ 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(AccountBudgetStatus::class, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetStatusEnum_AccountBudgetStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum_AccountBudgetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum_AccountBudgetStatus.php
new file mode 100644
index 000000000..ae413178e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AccountBudgetStatusEnum_AccountBudgetStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdCustomizerPlaceholderFieldEnum
+ */
+final class AdCustomizerPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdCustomizerPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum/AdCustomizerPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum/AdCustomizerPlaceholderField.php
new file mode 100644
index 000000000..009d10b2f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum/AdCustomizerPlaceholderField.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField
+ */
+class AdCustomizerPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: INT64. Integer value to be inserted.
+ *
+ * Generated from protobuf enum INTEGER = 2;
+ */
+ const INTEGER = 2;
+ /**
+ * Data Type: STRING. Price value to be inserted.
+ *
+ * Generated from protobuf enum PRICE = 3;
+ */
+ const PRICE = 3;
+ /**
+ * Data Type: DATE_TIME. Date value to be inserted.
+ *
+ * Generated from protobuf enum DATE = 4;
+ */
+ const DATE = 4;
+ /**
+ * Data Type: STRING. String value to be inserted.
+ *
+ * Generated from protobuf enum STRING = 5;
+ */
+ const STRING = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INTEGER => 'INTEGER',
+ self::PRICE => 'PRICE',
+ self::DATE => 'DATE',
+ self::STRING => 'STRING',
+ ];
+
+ 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(AdCustomizerPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\AdCustomizerPlaceholderFieldEnum_AdCustomizerPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum_AdCustomizerPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum_AdCustomizerPlaceholderField.php
new file mode 100644
index 000000000..f9d8ddff7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdCustomizerPlaceholderFieldEnum_AdCustomizerPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdGroupAdRotationModeEnum
+ */
+final class AdGroupAdRotationModeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdGroupAdRotationMode::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum/AdGroupAdRotationMode.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum/AdGroupAdRotationMode.php
new file mode 100644
index 000000000..865c46287
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum/AdGroupAdRotationMode.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode
+ */
+class AdGroupAdRotationMode
+{
+ /**
+ * The ad rotation mode has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Optimize ad group ads based on clicks or conversions.
+ *
+ * Generated from protobuf enum OPTIMIZE = 2;
+ */
+ const OPTIMIZE = 2;
+ /**
+ * Rotate evenly forever.
+ *
+ * Generated from protobuf enum ROTATE_FOREVER = 3;
+ */
+ const ROTATE_FOREVER = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OPTIMIZE => 'OPTIMIZE',
+ self::ROTATE_FOREVER => 'ROTATE_FOREVER',
+ ];
+
+ 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(AdGroupAdRotationMode::class, \Google\Ads\GoogleAds\V2\Enums\AdGroupAdRotationModeEnum_AdGroupAdRotationMode::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum_AdGroupAdRotationMode.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum_AdGroupAdRotationMode.php
new file mode 100644
index 000000000..1fec09a1c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdRotationModeEnum_AdGroupAdRotationMode.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdGroupAdStatusEnum
+ */
+final class AdGroupAdStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum/AdGroupAdStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum/AdGroupAdStatus.php
new file mode 100644
index 000000000..bc2eae6a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum/AdGroupAdStatus.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.AdGroupAdStatusEnum.AdGroupAdStatus
+ */
+class AdGroupAdStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The ad group ad is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The ad group ad is paused.
+ *
+ * Generated from protobuf enum PAUSED = 3;
+ */
+ const PAUSED = 3;
+ /**
+ * The ad group ad is removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::PAUSED => 'PAUSED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(AdGroupAdStatus::class, \Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum_AdGroupAdStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum_AdGroupAdStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum_AdGroupAdStatus.php
new file mode 100644
index 000000000..59729e15a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupAdStatusEnum_AdGroupAdStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdGroupCriterionApprovalStatusEnum
+ */
+final class AdGroupCriterionApprovalStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionApprovalStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum/AdGroupCriterionApprovalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum/AdGroupCriterionApprovalStatus.php
new file mode 100644
index 000000000..c306dc45d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum/AdGroupCriterionApprovalStatus.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus
+ */
+class AdGroupCriterionApprovalStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Approved.
+ *
+ * Generated from protobuf enum APPROVED = 2;
+ */
+ const APPROVED = 2;
+ /**
+ * Disapproved.
+ *
+ * Generated from protobuf enum DISAPPROVED = 3;
+ */
+ const DISAPPROVED = 3;
+ /**
+ * Pending Review.
+ *
+ * Generated from protobuf enum PENDING_REVIEW = 4;
+ */
+ const PENDING_REVIEW = 4;
+ /**
+ * Under review.
+ *
+ * Generated from protobuf enum UNDER_REVIEW = 5;
+ */
+ const UNDER_REVIEW = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::APPROVED => 'APPROVED',
+ self::DISAPPROVED => 'DISAPPROVED',
+ self::PENDING_REVIEW => 'PENDING_REVIEW',
+ self::UNDER_REVIEW => 'UNDER_REVIEW',
+ ];
+
+ 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(AdGroupCriterionApprovalStatus::class, \Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus.php
new file mode 100644
index 000000000..ca61bf930
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum
+ */
+final class AdGroupCriterionStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum/AdGroupCriterionStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum/AdGroupCriterionStatus.php
new file mode 100644
index 000000000..28ef667f4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum/AdGroupCriterionStatus.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus
+ */
+class AdGroupCriterionStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The ad group criterion is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The ad group criterion is paused.
+ *
+ * Generated from protobuf enum PAUSED = 3;
+ */
+ const PAUSED = 3;
+ /**
+ * The ad group criterion is removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::PAUSED => 'PAUSED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(AdGroupCriterionStatus::class, \Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum_AdGroupCriterionStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum_AdGroupCriterionStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum_AdGroupCriterionStatus.php
new file mode 100644
index 000000000..6015d413f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupCriterionStatusEnum_AdGroupCriterionStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdGroupStatusEnum
+ */
+final class AdGroupStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdGroupStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum/AdGroupStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum/AdGroupStatus.php
new file mode 100644
index 000000000..2925d688f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum/AdGroupStatus.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.AdGroupStatusEnum.AdGroupStatus
+ */
+class AdGroupStatus
+{
+ /**
+ * The status has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The ad group is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The ad group is paused.
+ *
+ * Generated from protobuf enum PAUSED = 3;
+ */
+ const PAUSED = 3;
+ /**
+ * The ad group is removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::PAUSED => 'PAUSED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(AdGroupStatus::class, \Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum_AdGroupStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum_AdGroupStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum_AdGroupStatus.php
new file mode 100644
index 000000000..fbc031cb1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupStatusEnum_AdGroupStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdGroupTypeEnum
+ */
+final class AdGroupTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdGroupType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum/AdGroupType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum/AdGroupType.php
new file mode 100644
index 000000000..f82dd5c2a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum/AdGroupType.php
@@ -0,0 +1,142 @@
+google.ads.googleads.v2.enums.AdGroupTypeEnum.AdGroupType
+ */
+class AdGroupType
+{
+ /**
+ * The type has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The default ad group type for Search campaigns.
+ *
+ * Generated from protobuf enum SEARCH_STANDARD = 2;
+ */
+ const SEARCH_STANDARD = 2;
+ /**
+ * The default ad group type for Display campaigns.
+ *
+ * Generated from protobuf enum DISPLAY_STANDARD = 3;
+ */
+ const DISPLAY_STANDARD = 3;
+ /**
+ * The ad group type for Shopping campaigns serving standard product ads.
+ *
+ * Generated from protobuf enum SHOPPING_PRODUCT_ADS = 4;
+ */
+ const SHOPPING_PRODUCT_ADS = 4;
+ /**
+ * The default ad group type for Hotel campaigns.
+ *
+ * Generated from protobuf enum HOTEL_ADS = 6;
+ */
+ const HOTEL_ADS = 6;
+ /**
+ * The type for ad groups in Smart Shopping campaigns.
+ *
+ * Generated from protobuf enum SHOPPING_SMART_ADS = 7;
+ */
+ const SHOPPING_SMART_ADS = 7;
+ /**
+ * Short unskippable in-stream video ads.
+ *
+ * Generated from protobuf enum VIDEO_BUMPER = 8;
+ */
+ const VIDEO_BUMPER = 8;
+ /**
+ * TrueView (skippable) in-stream video ads.
+ *
+ * Generated from protobuf enum VIDEO_TRUE_VIEW_IN_STREAM = 9;
+ */
+ const VIDEO_TRUE_VIEW_IN_STREAM = 9;
+ /**
+ * TrueView in-display video ads.
+ *
+ * Generated from protobuf enum VIDEO_TRUE_VIEW_IN_DISPLAY = 10;
+ */
+ const VIDEO_TRUE_VIEW_IN_DISPLAY = 10;
+ /**
+ * Unskippable in-stream video ads.
+ *
+ * Generated from protobuf enum VIDEO_NON_SKIPPABLE_IN_STREAM = 11;
+ */
+ const VIDEO_NON_SKIPPABLE_IN_STREAM = 11;
+ /**
+ * Outstream video ads.
+ *
+ * Generated from protobuf enum VIDEO_OUTSTREAM = 12;
+ */
+ const VIDEO_OUTSTREAM = 12;
+ /**
+ * Ad group type for Dynamic Search Ads ad groups.
+ *
+ * Generated from protobuf enum SEARCH_DYNAMIC_ADS = 13;
+ */
+ const SEARCH_DYNAMIC_ADS = 13;
+ /**
+ * The type for ad groups in Shopping Comparison Listing campaigns.
+ *
+ * Generated from protobuf enum SHOPPING_COMPARISON_LISTING_ADS = 14;
+ */
+ const SHOPPING_COMPARISON_LISTING_ADS = 14;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SEARCH_STANDARD => 'SEARCH_STANDARD',
+ self::DISPLAY_STANDARD => 'DISPLAY_STANDARD',
+ self::SHOPPING_PRODUCT_ADS => 'SHOPPING_PRODUCT_ADS',
+ self::HOTEL_ADS => 'HOTEL_ADS',
+ self::SHOPPING_SMART_ADS => 'SHOPPING_SMART_ADS',
+ self::VIDEO_BUMPER => 'VIDEO_BUMPER',
+ self::VIDEO_TRUE_VIEW_IN_STREAM => 'VIDEO_TRUE_VIEW_IN_STREAM',
+ self::VIDEO_TRUE_VIEW_IN_DISPLAY => 'VIDEO_TRUE_VIEW_IN_DISPLAY',
+ self::VIDEO_NON_SKIPPABLE_IN_STREAM => 'VIDEO_NON_SKIPPABLE_IN_STREAM',
+ self::VIDEO_OUTSTREAM => 'VIDEO_OUTSTREAM',
+ self::SEARCH_DYNAMIC_ADS => 'SEARCH_DYNAMIC_ADS',
+ self::SHOPPING_COMPARISON_LISTING_ADS => 'SHOPPING_COMPARISON_LISTING_ADS',
+ ];
+
+ 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(AdGroupType::class, \Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum_AdGroupType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum_AdGroupType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum_AdGroupType.php
new file mode 100644
index 000000000..5e165ad9c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdGroupTypeEnum_AdGroupType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdNetworkTypeEnum
+ */
+final class AdNetworkTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdNetworkType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum/AdNetworkType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum/AdNetworkType.php
new file mode 100644
index 000000000..53863f4e9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum/AdNetworkType.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.AdNetworkTypeEnum.AdNetworkType
+ */
+class AdNetworkType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Google search.
+ *
+ * Generated from protobuf enum SEARCH = 2;
+ */
+ const SEARCH = 2;
+ /**
+ * Search partners.
+ *
+ * Generated from protobuf enum SEARCH_PARTNERS = 3;
+ */
+ const SEARCH_PARTNERS = 3;
+ /**
+ * Display Network.
+ *
+ * Generated from protobuf enum CONTENT = 4;
+ */
+ const CONTENT = 4;
+ /**
+ * YouTube Search.
+ *
+ * Generated from protobuf enum YOUTUBE_SEARCH = 5;
+ */
+ const YOUTUBE_SEARCH = 5;
+ /**
+ * YouTube Videos
+ *
+ * Generated from protobuf enum YOUTUBE_WATCH = 6;
+ */
+ const YOUTUBE_WATCH = 6;
+ /**
+ * Cross-network.
+ *
+ * Generated from protobuf enum MIXED = 7;
+ */
+ const MIXED = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SEARCH => 'SEARCH',
+ self::SEARCH_PARTNERS => 'SEARCH_PARTNERS',
+ self::CONTENT => 'CONTENT',
+ self::YOUTUBE_SEARCH => 'YOUTUBE_SEARCH',
+ self::YOUTUBE_WATCH => 'YOUTUBE_WATCH',
+ self::MIXED => 'MIXED',
+ ];
+
+ 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(AdNetworkType::class, \Google\Ads\GoogleAds\V2\Enums\AdNetworkTypeEnum_AdNetworkType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum_AdNetworkType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum_AdNetworkType.php
new file mode 100644
index 000000000..a9a6b0afd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdNetworkTypeEnum_AdNetworkType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdServingOptimizationStatusEnum
+ */
+final class AdServingOptimizationStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdServingOptimizationStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum/AdServingOptimizationStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum/AdServingOptimizationStatus.php
new file mode 100644
index 000000000..698aa62c2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum/AdServingOptimizationStatus.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus
+ */
+class AdServingOptimizationStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Ad serving is optimized based on CTR for the campaign.
+ *
+ * Generated from protobuf enum OPTIMIZE = 2;
+ */
+ const OPTIMIZE = 2;
+ /**
+ * Ad serving is optimized based on CTR * Conversion for the campaign. If
+ * the campaign is not in the conversion optimizer bidding strategy, it will
+ * default to OPTIMIZED.
+ *
+ * Generated from protobuf enum CONVERSION_OPTIMIZE = 3;
+ */
+ const CONVERSION_OPTIMIZE = 3;
+ /**
+ * Ads are rotated evenly for 90 days, then optimized for clicks.
+ *
+ * Generated from protobuf enum ROTATE = 4;
+ */
+ const ROTATE = 4;
+ /**
+ * Show lower performing ads more evenly with higher performing ads, and do
+ * not optimize.
+ *
+ * Generated from protobuf enum ROTATE_INDEFINITELY = 5;
+ */
+ const ROTATE_INDEFINITELY = 5;
+ /**
+ * Ad serving optimization status is not available.
+ *
+ * Generated from protobuf enum UNAVAILABLE = 6;
+ */
+ const UNAVAILABLE = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OPTIMIZE => 'OPTIMIZE',
+ self::CONVERSION_OPTIMIZE => 'CONVERSION_OPTIMIZE',
+ self::ROTATE => 'ROTATE',
+ self::ROTATE_INDEFINITELY => 'ROTATE_INDEFINITELY',
+ self::UNAVAILABLE => 'UNAVAILABLE',
+ ];
+
+ 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(AdServingOptimizationStatus::class, \Google\Ads\GoogleAds\V2\Enums\AdServingOptimizationStatusEnum_AdServingOptimizationStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum_AdServingOptimizationStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum_AdServingOptimizationStatus.php
new file mode 100644
index 000000000..37147ca6f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdServingOptimizationStatusEnum_AdServingOptimizationStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdStrengthEnum
+ */
+final class AdStrengthEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdStrength::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum/AdStrength.php b/src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum/AdStrength.php
new file mode 100644
index 000000000..6a62a54ef
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum/AdStrength.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.AdStrengthEnum.AdStrength
+ */
+class AdStrength
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The ad strength is currently pending.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * No ads could be generated.
+ *
+ * Generated from protobuf enum NO_ADS = 3;
+ */
+ const NO_ADS = 3;
+ /**
+ * Poor strength.
+ *
+ * Generated from protobuf enum POOR = 4;
+ */
+ const POOR = 4;
+ /**
+ * Average strength.
+ *
+ * Generated from protobuf enum AVERAGE = 5;
+ */
+ const AVERAGE = 5;
+ /**
+ * Good strength.
+ *
+ * Generated from protobuf enum GOOD = 6;
+ */
+ const GOOD = 6;
+ /**
+ * Excellent strength.
+ *
+ * Generated from protobuf enum EXCELLENT = 7;
+ */
+ const EXCELLENT = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::NO_ADS => 'NO_ADS',
+ self::POOR => 'POOR',
+ self::AVERAGE => 'AVERAGE',
+ self::GOOD => 'GOOD',
+ self::EXCELLENT => 'EXCELLENT',
+ ];
+
+ 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(AdStrength::class, \Google\Ads\GoogleAds\V2\Enums\AdStrengthEnum_AdStrength::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum_AdStrength.php b/src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum_AdStrength.php
new file mode 100644
index 000000000..2f783365b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdStrengthEnum_AdStrength.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdTypeEnum
+ */
+final class AdTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum/AdType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum/AdType.php
new file mode 100644
index 000000000..5ec51ee01
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum/AdType.php
@@ -0,0 +1,192 @@
+google.ads.googleads.v2.enums.AdTypeEnum.AdType
+ */
+class AdType
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The ad is a text ad.
+ *
+ * Generated from protobuf enum TEXT_AD = 2;
+ */
+ const TEXT_AD = 2;
+ /**
+ * The ad is an expanded text ad.
+ *
+ * Generated from protobuf enum EXPANDED_TEXT_AD = 3;
+ */
+ const EXPANDED_TEXT_AD = 3;
+ /**
+ * The ad is a call only ad.
+ *
+ * Generated from protobuf enum CALL_ONLY_AD = 6;
+ */
+ const CALL_ONLY_AD = 6;
+ /**
+ * The ad is an expanded dynamic search ad.
+ *
+ * Generated from protobuf enum EXPANDED_DYNAMIC_SEARCH_AD = 7;
+ */
+ const EXPANDED_DYNAMIC_SEARCH_AD = 7;
+ /**
+ * The ad is a hotel ad.
+ *
+ * Generated from protobuf enum HOTEL_AD = 8;
+ */
+ const HOTEL_AD = 8;
+ /**
+ * The ad is a Smart Shopping ad.
+ *
+ * Generated from protobuf enum SHOPPING_SMART_AD = 9;
+ */
+ const SHOPPING_SMART_AD = 9;
+ /**
+ * The ad is a standard Shopping ad.
+ *
+ * Generated from protobuf enum SHOPPING_PRODUCT_AD = 10;
+ */
+ const SHOPPING_PRODUCT_AD = 10;
+ /**
+ * The ad is a video ad.
+ *
+ * Generated from protobuf enum VIDEO_AD = 12;
+ */
+ const VIDEO_AD = 12;
+ /**
+ * This ad is a Gmail ad.
+ *
+ * Generated from protobuf enum GMAIL_AD = 13;
+ */
+ const GMAIL_AD = 13;
+ /**
+ * This ad is an Image ad.
+ *
+ * Generated from protobuf enum IMAGE_AD = 14;
+ */
+ const IMAGE_AD = 14;
+ /**
+ * The ad is a responsive search ad.
+ *
+ * Generated from protobuf enum RESPONSIVE_SEARCH_AD = 15;
+ */
+ const RESPONSIVE_SEARCH_AD = 15;
+ /**
+ * The ad is a legacy responsive display ad.
+ *
+ * Generated from protobuf enum LEGACY_RESPONSIVE_DISPLAY_AD = 16;
+ */
+ const LEGACY_RESPONSIVE_DISPLAY_AD = 16;
+ /**
+ * The ad is an app ad.
+ *
+ * Generated from protobuf enum APP_AD = 17;
+ */
+ const APP_AD = 17;
+ /**
+ * The ad is a legacy app install ad.
+ *
+ * Generated from protobuf enum LEGACY_APP_INSTALL_AD = 18;
+ */
+ const LEGACY_APP_INSTALL_AD = 18;
+ /**
+ * The ad is a responsive display ad.
+ *
+ * Generated from protobuf enum RESPONSIVE_DISPLAY_AD = 19;
+ */
+ const RESPONSIVE_DISPLAY_AD = 19;
+ /**
+ * The ad is a display upload ad with the HTML5_UPLOAD_AD product type.
+ *
+ * Generated from protobuf enum HTML5_UPLOAD_AD = 21;
+ */
+ const HTML5_UPLOAD_AD = 21;
+ /**
+ * The ad is a display upload ad with one of the DYNAMIC_HTML5_* product
+ * types.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_AD = 22;
+ */
+ const DYNAMIC_HTML5_AD = 22;
+ /**
+ * The ad is an app engagement ad.
+ *
+ * Generated from protobuf enum APP_ENGAGEMENT_AD = 23;
+ */
+ const APP_ENGAGEMENT_AD = 23;
+ /**
+ * The ad is a Shopping Comparison Listing ad.
+ *
+ * Generated from protobuf enum SHOPPING_COMPARISON_LISTING_AD = 24;
+ */
+ const SHOPPING_COMPARISON_LISTING_AD = 24;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TEXT_AD => 'TEXT_AD',
+ self::EXPANDED_TEXT_AD => 'EXPANDED_TEXT_AD',
+ self::CALL_ONLY_AD => 'CALL_ONLY_AD',
+ self::EXPANDED_DYNAMIC_SEARCH_AD => 'EXPANDED_DYNAMIC_SEARCH_AD',
+ self::HOTEL_AD => 'HOTEL_AD',
+ self::SHOPPING_SMART_AD => 'SHOPPING_SMART_AD',
+ self::SHOPPING_PRODUCT_AD => 'SHOPPING_PRODUCT_AD',
+ self::VIDEO_AD => 'VIDEO_AD',
+ self::GMAIL_AD => 'GMAIL_AD',
+ self::IMAGE_AD => 'IMAGE_AD',
+ self::RESPONSIVE_SEARCH_AD => 'RESPONSIVE_SEARCH_AD',
+ self::LEGACY_RESPONSIVE_DISPLAY_AD => 'LEGACY_RESPONSIVE_DISPLAY_AD',
+ self::APP_AD => 'APP_AD',
+ self::LEGACY_APP_INSTALL_AD => 'LEGACY_APP_INSTALL_AD',
+ self::RESPONSIVE_DISPLAY_AD => 'RESPONSIVE_DISPLAY_AD',
+ self::HTML5_UPLOAD_AD => 'HTML5_UPLOAD_AD',
+ self::DYNAMIC_HTML5_AD => 'DYNAMIC_HTML5_AD',
+ self::APP_ENGAGEMENT_AD => 'APP_ENGAGEMENT_AD',
+ self::SHOPPING_COMPARISON_LISTING_AD => 'SHOPPING_COMPARISON_LISTING_AD',
+ ];
+
+ 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(AdType::class, \Google\Ads\GoogleAds\V2\Enums\AdTypeEnum_AdType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum_AdType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum_AdType.php
new file mode 100644
index 000000000..7380ffe73
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdTypeEnum_AdType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum
+ */
+final class AdvertisingChannelSubTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelSubType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum/AdvertisingChannelSubType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum/AdvertisingChannelSubType.php
new file mode 100644
index 000000000..c72a5f9e2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum/AdvertisingChannelSubType.php
@@ -0,0 +1,152 @@
+google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType
+ */
+class AdvertisingChannelSubType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used as a return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Mobile app campaigns for Search.
+ *
+ * Generated from protobuf enum SEARCH_MOBILE_APP = 2;
+ */
+ const SEARCH_MOBILE_APP = 2;
+ /**
+ * Mobile app campaigns for Display.
+ *
+ * Generated from protobuf enum DISPLAY_MOBILE_APP = 3;
+ */
+ const DISPLAY_MOBILE_APP = 3;
+ /**
+ * AdWords express campaigns for search.
+ *
+ * Generated from protobuf enum SEARCH_EXPRESS = 4;
+ */
+ const SEARCH_EXPRESS = 4;
+ /**
+ * AdWords Express campaigns for display.
+ *
+ * Generated from protobuf enum DISPLAY_EXPRESS = 5;
+ */
+ const DISPLAY_EXPRESS = 5;
+ /**
+ * Smart Shopping campaigns.
+ *
+ * Generated from protobuf enum SHOPPING_SMART_ADS = 6;
+ */
+ const SHOPPING_SMART_ADS = 6;
+ /**
+ * Gmail Ad campaigns.
+ *
+ * Generated from protobuf enum DISPLAY_GMAIL_AD = 7;
+ */
+ const DISPLAY_GMAIL_AD = 7;
+ /**
+ * Smart display campaigns.
+ *
+ * Generated from protobuf enum DISPLAY_SMART_CAMPAIGN = 8;
+ */
+ const DISPLAY_SMART_CAMPAIGN = 8;
+ /**
+ * Video Outstream campaigns.
+ *
+ * Generated from protobuf enum VIDEO_OUTSTREAM = 9;
+ */
+ const VIDEO_OUTSTREAM = 9;
+ /**
+ * Video TrueView for Action campaigns.
+ *
+ * Generated from protobuf enum VIDEO_ACTION = 10;
+ */
+ const VIDEO_ACTION = 10;
+ /**
+ * Video campaigns with non-skippable video ads.
+ *
+ * Generated from protobuf enum VIDEO_NON_SKIPPABLE = 11;
+ */
+ const VIDEO_NON_SKIPPABLE = 11;
+ /**
+ * App Campaign that allows you to easily promote your Android or iOS app
+ * across Google's top properties including Search, Play, YouTube, and the
+ * Google Display Network.
+ *
+ * Generated from protobuf enum APP_CAMPAIGN = 12;
+ */
+ const APP_CAMPAIGN = 12;
+ /**
+ * App Campaign for engagement, focused on driving re-engagement with the
+ * app across several of Google’s top properties including Search, YouTube,
+ * and the Google Display Network.
+ *
+ * Generated from protobuf enum APP_CAMPAIGN_FOR_ENGAGEMENT = 13;
+ */
+ const APP_CAMPAIGN_FOR_ENGAGEMENT = 13;
+ /**
+ * Shopping Comparison Listing campaigns.
+ *
+ * Generated from protobuf enum SHOPPING_COMPARISON_LISTING_ADS = 15;
+ */
+ const SHOPPING_COMPARISON_LISTING_ADS = 15;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SEARCH_MOBILE_APP => 'SEARCH_MOBILE_APP',
+ self::DISPLAY_MOBILE_APP => 'DISPLAY_MOBILE_APP',
+ self::SEARCH_EXPRESS => 'SEARCH_EXPRESS',
+ self::DISPLAY_EXPRESS => 'DISPLAY_EXPRESS',
+ self::SHOPPING_SMART_ADS => 'SHOPPING_SMART_ADS',
+ self::DISPLAY_GMAIL_AD => 'DISPLAY_GMAIL_AD',
+ self::DISPLAY_SMART_CAMPAIGN => 'DISPLAY_SMART_CAMPAIGN',
+ self::VIDEO_OUTSTREAM => 'VIDEO_OUTSTREAM',
+ self::VIDEO_ACTION => 'VIDEO_ACTION',
+ self::VIDEO_NON_SKIPPABLE => 'VIDEO_NON_SKIPPABLE',
+ self::APP_CAMPAIGN => 'APP_CAMPAIGN',
+ self::APP_CAMPAIGN_FOR_ENGAGEMENT => 'APP_CAMPAIGN_FOR_ENGAGEMENT',
+ self::SHOPPING_COMPARISON_LISTING_ADS => 'SHOPPING_COMPARISON_LISTING_ADS',
+ ];
+
+ 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(AdvertisingChannelSubType::class, \Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType.php
new file mode 100644
index 000000000..0c4fe2d42
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum
+ */
+final class AdvertisingChannelTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum/AdvertisingChannelType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum/AdvertisingChannelType.php
new file mode 100644
index 000000000..3732bdb1a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum/AdvertisingChannelType.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType
+ */
+class AdvertisingChannelType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Search Network. Includes display bundled, and Search+ campaigns.
+ *
+ * Generated from protobuf enum SEARCH = 2;
+ */
+ const SEARCH = 2;
+ /**
+ * Google Display Network only.
+ *
+ * Generated from protobuf enum DISPLAY = 3;
+ */
+ const DISPLAY = 3;
+ /**
+ * Shopping campaigns serve on the shopping property
+ * and on google.com search results.
+ *
+ * Generated from protobuf enum SHOPPING = 4;
+ */
+ const SHOPPING = 4;
+ /**
+ * Hotel Ads campaigns.
+ *
+ * Generated from protobuf enum HOTEL = 5;
+ */
+ const HOTEL = 5;
+ /**
+ * Video campaigns.
+ *
+ * Generated from protobuf enum VIDEO = 6;
+ */
+ const VIDEO = 6;
+ /**
+ * App Campaigns, and App Campaigns for Engagement, that run
+ * across multiple channels.
+ *
+ * Generated from protobuf enum MULTI_CHANNEL = 7;
+ */
+ const MULTI_CHANNEL = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SEARCH => 'SEARCH',
+ self::DISPLAY => 'DISPLAY',
+ self::SHOPPING => 'SHOPPING',
+ self::HOTEL => 'HOTEL',
+ self::VIDEO => 'VIDEO',
+ self::MULTI_CHANNEL => 'MULTI_CHANNEL',
+ ];
+
+ 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(AdvertisingChannelType::class, \Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum_AdvertisingChannelType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum_AdvertisingChannelType.php b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum_AdvertisingChannelType.php
new file mode 100644
index 000000000..d1d6079ff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AdvertisingChannelTypeEnum_AdvertisingChannelType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AffiliateLocationFeedRelationshipTypeEnum
+ */
+final class AffiliateLocationFeedRelationshipTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AffiliateLocationFeedRelationshipType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum/AffiliateLocationFeedRelationshipType.php b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum/AffiliateLocationFeedRelationshipType.php
new file mode 100644
index 000000000..310d8415d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum/AffiliateLocationFeedRelationshipType.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType
+ */
+class AffiliateLocationFeedRelationshipType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * General retailer relationship.
+ *
+ * Generated from protobuf enum GENERAL_RETAILER = 2;
+ */
+ const GENERAL_RETAILER = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::GENERAL_RETAILER => 'GENERAL_RETAILER',
+ ];
+
+ 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(AffiliateLocationFeedRelationshipType::class, \Google\Ads\GoogleAds\V2\Enums\AffiliateLocationFeedRelationshipTypeEnum_AffiliateLocationFeedRelationshipType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum_AffiliateLocationFeedRelationshipType.php b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum_AffiliateLocationFeedRelationshipType.php
new file mode 100644
index 000000000..81520755f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationFeedRelationshipTypeEnum_AffiliateLocationFeedRelationshipType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AffiliateLocationPlaceholderFieldEnum
+ */
+final class AffiliateLocationPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AffiliateLocationPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum/AffiliateLocationPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum/AffiliateLocationPlaceholderField.php
new file mode 100644
index 000000000..f00cff65f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum/AffiliateLocationPlaceholderField.php
@@ -0,0 +1,134 @@
+google.ads.googleads.v2.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField
+ */
+class AffiliateLocationPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The name of the business.
+ *
+ * Generated from protobuf enum BUSINESS_NAME = 2;
+ */
+ const BUSINESS_NAME = 2;
+ /**
+ * Data Type: STRING. Line 1 of the business address.
+ *
+ * Generated from protobuf enum ADDRESS_LINE_1 = 3;
+ */
+ const ADDRESS_LINE_1 = 3;
+ /**
+ * Data Type: STRING. Line 2 of the business address.
+ *
+ * Generated from protobuf enum ADDRESS_LINE_2 = 4;
+ */
+ const ADDRESS_LINE_2 = 4;
+ /**
+ * Data Type: STRING. City of the business address.
+ *
+ * Generated from protobuf enum CITY = 5;
+ */
+ const CITY = 5;
+ /**
+ * Data Type: STRING. Province of the business address.
+ *
+ * Generated from protobuf enum PROVINCE = 6;
+ */
+ const PROVINCE = 6;
+ /**
+ * Data Type: STRING. Postal code of the business address.
+ *
+ * Generated from protobuf enum POSTAL_CODE = 7;
+ */
+ const POSTAL_CODE = 7;
+ /**
+ * Data Type: STRING. Country code of the business address.
+ *
+ * Generated from protobuf enum COUNTRY_CODE = 8;
+ */
+ const COUNTRY_CODE = 8;
+ /**
+ * Data Type: STRING. Phone number of the business.
+ *
+ * Generated from protobuf enum PHONE_NUMBER = 9;
+ */
+ const PHONE_NUMBER = 9;
+ /**
+ * Data Type: STRING. Language code of the business.
+ *
+ * Generated from protobuf enum LANGUAGE_CODE = 10;
+ */
+ const LANGUAGE_CODE = 10;
+ /**
+ * Data Type: INT64. ID of the chain.
+ *
+ * Generated from protobuf enum CHAIN_ID = 11;
+ */
+ const CHAIN_ID = 11;
+ /**
+ * Data Type: STRING. Name of the chain.
+ *
+ * Generated from protobuf enum CHAIN_NAME = 12;
+ */
+ const CHAIN_NAME = 12;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BUSINESS_NAME => 'BUSINESS_NAME',
+ self::ADDRESS_LINE_1 => 'ADDRESS_LINE_1',
+ self::ADDRESS_LINE_2 => 'ADDRESS_LINE_2',
+ self::CITY => 'CITY',
+ self::PROVINCE => 'PROVINCE',
+ self::POSTAL_CODE => 'POSTAL_CODE',
+ self::COUNTRY_CODE => 'COUNTRY_CODE',
+ self::PHONE_NUMBER => 'PHONE_NUMBER',
+ self::LANGUAGE_CODE => 'LANGUAGE_CODE',
+ self::CHAIN_ID => 'CHAIN_ID',
+ self::CHAIN_NAME => 'CHAIN_NAME',
+ ];
+
+ 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(AffiliateLocationPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\AffiliateLocationPlaceholderFieldEnum_AffiliateLocationPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum_AffiliateLocationPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum_AffiliateLocationPlaceholderField.php
new file mode 100644
index 000000000..f0a1cbed3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AffiliateLocationPlaceholderFieldEnum_AffiliateLocationPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AgeRangeTypeEnum
+ */
+final class AgeRangeTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AgeRangeType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum/AgeRangeType.php b/src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum/AgeRangeType.php
new file mode 100644
index 000000000..e5bd67f7a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum/AgeRangeType.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType
+ */
+class AgeRangeType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Between 18 and 24 years old.
+ *
+ * Generated from protobuf enum AGE_RANGE_18_24 = 503001;
+ */
+ const AGE_RANGE_18_24 = 503001;
+ /**
+ * Between 25 and 34 years old.
+ *
+ * Generated from protobuf enum AGE_RANGE_25_34 = 503002;
+ */
+ const AGE_RANGE_25_34 = 503002;
+ /**
+ * Between 35 and 44 years old.
+ *
+ * Generated from protobuf enum AGE_RANGE_35_44 = 503003;
+ */
+ const AGE_RANGE_35_44 = 503003;
+ /**
+ * Between 45 and 54 years old.
+ *
+ * Generated from protobuf enum AGE_RANGE_45_54 = 503004;
+ */
+ const AGE_RANGE_45_54 = 503004;
+ /**
+ * Between 55 and 64 years old.
+ *
+ * Generated from protobuf enum AGE_RANGE_55_64 = 503005;
+ */
+ const AGE_RANGE_55_64 = 503005;
+ /**
+ * 65 years old and beyond.
+ *
+ * Generated from protobuf enum AGE_RANGE_65_UP = 503006;
+ */
+ const AGE_RANGE_65_UP = 503006;
+ /**
+ * Undetermined age range.
+ *
+ * Generated from protobuf enum AGE_RANGE_UNDETERMINED = 503999;
+ */
+ const AGE_RANGE_UNDETERMINED = 503999;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AGE_RANGE_18_24 => 'AGE_RANGE_18_24',
+ self::AGE_RANGE_25_34 => 'AGE_RANGE_25_34',
+ self::AGE_RANGE_35_44 => 'AGE_RANGE_35_44',
+ self::AGE_RANGE_45_54 => 'AGE_RANGE_45_54',
+ self::AGE_RANGE_55_64 => 'AGE_RANGE_55_64',
+ self::AGE_RANGE_65_UP => 'AGE_RANGE_65_UP',
+ self::AGE_RANGE_UNDETERMINED => 'AGE_RANGE_UNDETERMINED',
+ ];
+
+ 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(AgeRangeType::class, \Google\Ads\GoogleAds\V2\Enums\AgeRangeTypeEnum_AgeRangeType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum_AgeRangeType.php b/src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum_AgeRangeType.php
new file mode 100644
index 000000000..9b45805fe
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AgeRangeTypeEnum_AgeRangeType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AppCampaignAppStoreEnum
+ */
+final class AppCampaignAppStoreEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AppCampaignAppStore::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum/AppCampaignAppStore.php b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum/AppCampaignAppStore.php
new file mode 100644
index 000000000..67666e6aa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum/AppCampaignAppStore.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.AppCampaignAppStoreEnum.AppCampaignAppStore
+ */
+class AppCampaignAppStore
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Apple app store.
+ *
+ * Generated from protobuf enum APPLE_APP_STORE = 2;
+ */
+ const APPLE_APP_STORE = 2;
+ /**
+ * Google play.
+ *
+ * Generated from protobuf enum GOOGLE_APP_STORE = 3;
+ */
+ const GOOGLE_APP_STORE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::APPLE_APP_STORE => 'APPLE_APP_STORE',
+ self::GOOGLE_APP_STORE => 'GOOGLE_APP_STORE',
+ ];
+
+ 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(AppCampaignAppStore::class, \Google\Ads\GoogleAds\V2\Enums\AppCampaignAppStoreEnum_AppCampaignAppStore::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum_AppCampaignAppStore.php b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum_AppCampaignAppStore.php
new file mode 100644
index 000000000..6500bd141
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignAppStoreEnum_AppCampaignAppStore.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AppCampaignBiddingStrategyGoalTypeEnum
+ */
+final class AppCampaignBiddingStrategyGoalTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AppCampaignBiddingStrategyGoalType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum/AppCampaignBiddingStrategyGoalType.php b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum/AppCampaignBiddingStrategyGoalType.php
new file mode 100644
index 000000000..97c4531a3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum/AppCampaignBiddingStrategyGoalType.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType
+ */
+class AppCampaignBiddingStrategyGoalType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Aim to maximize the number of app installs. The cpa bid is the
+ * target cost per install.
+ *
+ * Generated from protobuf enum OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2;
+ */
+ const OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2;
+ /**
+ * Aim to maximize the long term number of selected in-app conversions from
+ * app installs. The cpa bid is the target cost per install.
+ *
+ * Generated from protobuf enum OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3;
+ */
+ const OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3;
+ /**
+ * Aim to maximize the long term number of selected in-app conversions from
+ * app installs. The cpa bid is the target cost per in-app conversion. Note
+ * that the actual cpa may seem higher than the target cpa at first, since
+ * the long term conversions haven’t happened yet.
+ *
+ * Generated from protobuf enum OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4;
+ */
+ const OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4;
+ /**
+ * Aim to maximize all conversions' value, i.e. install + selected in-app
+ * conversions while achieving or exceeding target return on advertising
+ * spend.
+ *
+ * Generated from protobuf enum OPTIMIZE_RETURN_ON_ADVERTISING_SPEND = 5;
+ */
+ const OPTIMIZE_RETURN_ON_ADVERTISING_SPEND = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OPTIMIZE_INSTALLS_TARGET_INSTALL_COST => 'OPTIMIZE_INSTALLS_TARGET_INSTALL_COST',
+ self::OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST => 'OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST',
+ self::OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST => 'OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST',
+ self::OPTIMIZE_RETURN_ON_ADVERTISING_SPEND => 'OPTIMIZE_RETURN_ON_ADVERTISING_SPEND',
+ ];
+
+ 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(AppCampaignBiddingStrategyGoalType::class, \Google\Ads\GoogleAds\V2\Enums\AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType.php b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType.php
new file mode 100644
index 000000000..48a7cee64
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AppPaymentModelTypeEnum
+ */
+final class AppPaymentModelTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AppPaymentModelType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum/AppPaymentModelType.php b/src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum/AppPaymentModelType.php
new file mode 100644
index 000000000..ce15b0ff9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum/AppPaymentModelType.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType
+ */
+class AppPaymentModelType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Represents paid-for apps.
+ *
+ * Generated from protobuf enum PAID = 30;
+ */
+ const PAID = 30;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PAID => 'PAID',
+ ];
+
+ 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(AppPaymentModelType::class, \Google\Ads\GoogleAds\V2\Enums\AppPaymentModelTypeEnum_AppPaymentModelType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum_AppPaymentModelType.php b/src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum_AppPaymentModelType.php
new file mode 100644
index 000000000..034841506
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppPaymentModelTypeEnum_AppPaymentModelType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AppPlaceholderFieldEnum
+ */
+final class AppPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AppPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum/AppPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum/AppPlaceholderField.php
new file mode 100644
index 000000000..bc2af8c2a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum/AppPlaceholderField.php
@@ -0,0 +1,120 @@
+google.ads.googleads.v2.enums.AppPlaceholderFieldEnum.AppPlaceholderField
+ */
+class AppPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: INT64. The application store that the target application
+ * belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play
+ * Store.
+ *
+ * Generated from protobuf enum STORE = 2;
+ */
+ const STORE = 2;
+ /**
+ * Data Type: STRING. The store-specific ID for the target application.
+ *
+ * Generated from protobuf enum ID = 3;
+ */
+ const ID = 3;
+ /**
+ * Data Type: STRING. The visible text displayed when the link is rendered
+ * in an ad.
+ *
+ * Generated from protobuf enum LINK_TEXT = 4;
+ */
+ const LINK_TEXT = 4;
+ /**
+ * Data Type: STRING. The destination URL of the in-app link.
+ *
+ * Generated from protobuf enum URL = 5;
+ */
+ const URL = 5;
+ /**
+ * Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_URLS = 6;
+ */
+ const FINAL_URLS = 6;
+ /**
+ * Data Type: URL_LIST. Final Mobile URLs for the in-app link when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 7;
+ */
+ const FINAL_MOBILE_URLS = 7;
+ /**
+ * Data Type: URL. Tracking template for the in-app link when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 8;
+ */
+ const TRACKING_URL = 8;
+ /**
+ * Data Type: STRING. Final URL suffix for the in-app link when using
+ * parallel tracking.
+ *
+ * Generated from protobuf enum FINAL_URL_SUFFIX = 9;
+ */
+ const FINAL_URL_SUFFIX = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::STORE => 'STORE',
+ self::ID => 'ID',
+ self::LINK_TEXT => 'LINK_TEXT',
+ self::URL => 'URL',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::FINAL_URL_SUFFIX => 'FINAL_URL_SUFFIX',
+ ];
+
+ 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(AppPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\AppPlaceholderFieldEnum_AppPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum_AppPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum_AppPlaceholderField.php
new file mode 100644
index 000000000..a4c6cca47
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppPlaceholderFieldEnum_AppPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AppStoreEnum
+ */
+final class AppStoreEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AppStore::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum/AppStore.php b/src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum/AppStore.php
new file mode 100644
index 000000000..bf67ddab5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum/AppStore.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.AppStoreEnum.AppStore
+ */
+class AppStore
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Apple iTunes.
+ *
+ * Generated from protobuf enum APPLE_ITUNES = 2;
+ */
+ const APPLE_ITUNES = 2;
+ /**
+ * Google Play.
+ *
+ * Generated from protobuf enum GOOGLE_PLAY = 3;
+ */
+ const GOOGLE_PLAY = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::APPLE_ITUNES => 'APPLE_ITUNES',
+ self::GOOGLE_PLAY => 'GOOGLE_PLAY',
+ ];
+
+ 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(AppStore::class, \Google\Ads\GoogleAds\V2\Enums\AppStoreEnum_AppStore::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum_AppStore.php b/src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum_AppStore.php
new file mode 100644
index 000000000..e30d2a3a2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppStoreEnum_AppStore.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AppUrlOperatingSystemTypeEnum
+ */
+final class AppUrlOperatingSystemTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AppUrlOperatingSystemType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum/AppUrlOperatingSystemType.php b/src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum/AppUrlOperatingSystemType.php
new file mode 100644
index 000000000..9d1e75476
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum/AppUrlOperatingSystemType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType
+ */
+class AppUrlOperatingSystemType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The Apple IOS operating system.
+ *
+ * Generated from protobuf enum IOS = 2;
+ */
+ const IOS = 2;
+ /**
+ * The Android operating system.
+ *
+ * Generated from protobuf enum ANDROID = 3;
+ */
+ const ANDROID = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::IOS => 'IOS',
+ self::ANDROID => 'ANDROID',
+ ];
+
+ 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(AppUrlOperatingSystemType::class, \Google\Ads\GoogleAds\V2\Enums\AppUrlOperatingSystemTypeEnum_AppUrlOperatingSystemType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum_AppUrlOperatingSystemType.php b/src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum_AppUrlOperatingSystemType.php
new file mode 100644
index 000000000..469709e01
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AppUrlOperatingSystemTypeEnum_AppUrlOperatingSystemType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AssetFieldTypeEnum
+ */
+final class AssetFieldTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AssetFieldType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum/AssetFieldType.php b/src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum/AssetFieldType.php
new file mode 100644
index 000000000..58fe5f0bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum/AssetFieldType.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.AssetFieldTypeEnum.AssetFieldType
+ */
+class AssetFieldType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The asset is linked for use as a headline.
+ *
+ * Generated from protobuf enum HEADLINE = 2;
+ */
+ const HEADLINE = 2;
+ /**
+ * The asset is linked for use as a description.
+ *
+ * Generated from protobuf enum DESCRIPTION = 3;
+ */
+ const DESCRIPTION = 3;
+ /**
+ * The asset is linked for use as mandatory ad text.
+ *
+ * Generated from protobuf enum MANDATORY_AD_TEXT = 4;
+ */
+ const MANDATORY_AD_TEXT = 4;
+ /**
+ * The asset is linked for use as a marketing image.
+ *
+ * Generated from protobuf enum MARKETING_IMAGE = 5;
+ */
+ const MARKETING_IMAGE = 5;
+ /**
+ * The asset is linked for use as a media bundle.
+ *
+ * Generated from protobuf enum MEDIA_BUNDLE = 6;
+ */
+ const MEDIA_BUNDLE = 6;
+ /**
+ * The asset is linked for use as a YouTube video.
+ *
+ * Generated from protobuf enum YOUTUBE_VIDEO = 7;
+ */
+ const YOUTUBE_VIDEO = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::HEADLINE => 'HEADLINE',
+ self::DESCRIPTION => 'DESCRIPTION',
+ self::MANDATORY_AD_TEXT => 'MANDATORY_AD_TEXT',
+ self::MARKETING_IMAGE => 'MARKETING_IMAGE',
+ self::MEDIA_BUNDLE => 'MEDIA_BUNDLE',
+ self::YOUTUBE_VIDEO => 'YOUTUBE_VIDEO',
+ ];
+
+ 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(AssetFieldType::class, \Google\Ads\GoogleAds\V2\Enums\AssetFieldTypeEnum_AssetFieldType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum_AssetFieldType.php b/src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum_AssetFieldType.php
new file mode 100644
index 000000000..c4945bbb1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AssetFieldTypeEnum_AssetFieldType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AssetPerformanceLabelEnum
+ */
+final class AssetPerformanceLabelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AssetPerformanceLabel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum/AssetPerformanceLabel.php b/src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum/AssetPerformanceLabel.php
new file mode 100644
index 000000000..cd303ea96
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum/AssetPerformanceLabel.php
@@ -0,0 +1,95 @@
+google.ads.googleads.v2.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel
+ */
+class AssetPerformanceLabel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * This asset does not yet have any performance informantion. This may be
+ * because it is still under review.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * The asset has started getting impressions but the stats are not
+ * statistically significant enough to get an asset performance label.
+ *
+ * Generated from protobuf enum LEARNING = 3;
+ */
+ const LEARNING = 3;
+ /**
+ * Worst performing assets.
+ *
+ * Generated from protobuf enum LOW = 4;
+ */
+ const LOW = 4;
+ /**
+ * Good performing assets.
+ *
+ * Generated from protobuf enum GOOD = 5;
+ */
+ const GOOD = 5;
+ /**
+ * Best performing assets.
+ *
+ * Generated from protobuf enum BEST = 6;
+ */
+ const BEST = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::LEARNING => 'LEARNING',
+ self::LOW => 'LOW',
+ self::GOOD => 'GOOD',
+ self::BEST => 'BEST',
+ ];
+
+ 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(AssetPerformanceLabel::class, \Google\Ads\GoogleAds\V2\Enums\AssetPerformanceLabelEnum_AssetPerformanceLabel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum_AssetPerformanceLabel.php b/src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum_AssetPerformanceLabel.php
new file mode 100644
index 000000000..2717fd7ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AssetPerformanceLabelEnum_AssetPerformanceLabel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AssetTypeEnum
+ */
+final class AssetTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AssetType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum/AssetType.php b/src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum/AssetType.php
new file mode 100644
index 000000000..32f5a8ca1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum/AssetType.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.AssetTypeEnum.AssetType
+ */
+class AssetType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * YouTube video asset.
+ *
+ * Generated from protobuf enum YOUTUBE_VIDEO = 2;
+ */
+ const YOUTUBE_VIDEO = 2;
+ /**
+ * Media bundle asset.
+ *
+ * Generated from protobuf enum MEDIA_BUNDLE = 3;
+ */
+ const MEDIA_BUNDLE = 3;
+ /**
+ * Image asset.
+ *
+ * Generated from protobuf enum IMAGE = 4;
+ */
+ const IMAGE = 4;
+ /**
+ * Text asset.
+ *
+ * Generated from protobuf enum TEXT = 5;
+ */
+ const TEXT = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::YOUTUBE_VIDEO => 'YOUTUBE_VIDEO',
+ self::MEDIA_BUNDLE => 'MEDIA_BUNDLE',
+ self::IMAGE => 'IMAGE',
+ self::TEXT => 'TEXT',
+ ];
+
+ 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(AssetType::class, \Google\Ads\GoogleAds\V2\Enums\AssetTypeEnum_AssetType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum_AssetType.php b/src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum_AssetType.php
new file mode 100644
index 000000000..d82b7c322
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AssetTypeEnum_AssetType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.AttributionModelEnum
+ */
+final class AttributionModelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\AttributionModel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum/AttributionModel.php b/src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum/AttributionModel.php
new file mode 100644
index 000000000..36c1cb714
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum/AttributionModel.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.enums.AttributionModelEnum.AttributionModel
+ */
+class AttributionModel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Uses external attribution.
+ *
+ * Generated from protobuf enum EXTERNAL = 100;
+ */
+ const EXTERNAL = 100;
+ /**
+ * Attributes all credit for a conversion to its last click.
+ *
+ * Generated from protobuf enum GOOGLE_ADS_LAST_CLICK = 101;
+ */
+ const GOOGLE_ADS_LAST_CLICK = 101;
+ /**
+ * Attributes all credit for a conversion to its first click using Google
+ * Search attribution.
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102;
+ */
+ const GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102;
+ /**
+ * Attributes credit for a conversion equally across all of its clicks using
+ * Google Search attribution.
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103;
+ */
+ const GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103;
+ /**
+ * Attributes exponentially more credit for a conversion to its more recent
+ * clicks using Google Search attribution (half-life is 1 week).
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104;
+ */
+ const GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104;
+ /**
+ * Attributes 40% of the credit for a conversion to its first and last
+ * clicks. Remaining 20% is evenly distributed across all other clicks. This
+ * uses Google Search attribution.
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105;
+ */
+ const GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105;
+ /**
+ * Flexible model that uses machine learning to determine the appropriate
+ * distribution of credit among clicks using Google Search attribution.
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106;
+ */
+ const GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EXTERNAL => 'EXTERNAL',
+ self::GOOGLE_ADS_LAST_CLICK => 'GOOGLE_ADS_LAST_CLICK',
+ self::GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK => 'GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK',
+ self::GOOGLE_SEARCH_ATTRIBUTION_LINEAR => 'GOOGLE_SEARCH_ATTRIBUTION_LINEAR',
+ self::GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY => 'GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY',
+ self::GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED => 'GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED',
+ self::GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN => 'GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN',
+ ];
+
+ 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(AttributionModel::class, \Google\Ads\GoogleAds\V2\Enums\AttributionModelEnum_AttributionModel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum_AttributionModel.php b/src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum_AttributionModel.php
new file mode 100644
index 000000000..13b934b67
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/AttributionModelEnum_AttributionModel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BidModifierSourceEnum
+ */
+final class BidModifierSourceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BidModifierSource::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum/BidModifierSource.php b/src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum/BidModifierSource.php
new file mode 100644
index 000000000..3ab5ce293
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum/BidModifierSource.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.BidModifierSourceEnum.BidModifierSource
+ */
+class BidModifierSource
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The bid modifier is specified at the campaign level, on the campaign
+ * level criterion.
+ *
+ * Generated from protobuf enum CAMPAIGN = 2;
+ */
+ const CAMPAIGN = 2;
+ /**
+ * The bid modifier is specified (overridden) at the ad group level.
+ *
+ * Generated from protobuf enum AD_GROUP = 3;
+ */
+ const AD_GROUP = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CAMPAIGN => 'CAMPAIGN',
+ self::AD_GROUP => 'AD_GROUP',
+ ];
+
+ 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(BidModifierSource::class, \Google\Ads\GoogleAds\V2\Enums\BidModifierSourceEnum_BidModifierSource::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum_BidModifierSource.php b/src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum_BidModifierSource.php
new file mode 100644
index 000000000..5def6e67b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BidModifierSourceEnum_BidModifierSource.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BiddingSourceEnum
+ */
+final class BiddingSourceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BiddingSource::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum/BiddingSource.php b/src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum/BiddingSource.php
new file mode 100644
index 000000000..c5a32fc32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum/BiddingSource.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource
+ */
+class BiddingSource
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Effective bid or target is inherited from campaign bidding strategy.
+ *
+ * Generated from protobuf enum CAMPAIGN_BIDDING_STRATEGY = 5;
+ */
+ const CAMPAIGN_BIDDING_STRATEGY = 5;
+ /**
+ * The bid or target is defined on the ad group.
+ *
+ * Generated from protobuf enum AD_GROUP = 6;
+ */
+ const AD_GROUP = 6;
+ /**
+ * The bid or target is defined on the ad group criterion.
+ *
+ * Generated from protobuf enum AD_GROUP_CRITERION = 7;
+ */
+ const AD_GROUP_CRITERION = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CAMPAIGN_BIDDING_STRATEGY => 'CAMPAIGN_BIDDING_STRATEGY',
+ self::AD_GROUP => 'AD_GROUP',
+ self::AD_GROUP_CRITERION => 'AD_GROUP_CRITERION',
+ ];
+
+ 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(BiddingSource::class, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum_BiddingSource.php b/src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum_BiddingSource.php
new file mode 100644
index 000000000..075c602d7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BiddingSourceEnum_BiddingSource.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BiddingStrategyStatusEnum
+ */
+final class BiddingStrategyStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BiddingStrategyStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum/BiddingStrategyStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum/BiddingStrategyStatus.php
new file mode 100644
index 000000000..204d8fd6a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum/BiddingStrategyStatus.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus
+ */
+class BiddingStrategyStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The bidding strategy is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The bidding strategy is removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(BiddingStrategyStatus::class, \Google\Ads\GoogleAds\V2\Enums\BiddingStrategyStatusEnum_BiddingStrategyStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum_BiddingStrategyStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum_BiddingStrategyStatus.php
new file mode 100644
index 000000000..aa8f7e4e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyStatusEnum_BiddingStrategyStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BiddingStrategyTypeEnum
+ */
+final class BiddingStrategyTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BiddingStrategyType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum/BiddingStrategyType.php b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum/BiddingStrategyType.php
new file mode 100644
index 000000000..c8d66bbab
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum/BiddingStrategyType.php
@@ -0,0 +1,183 @@
+google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType
+ */
+class BiddingStrategyType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Commission is an automatic bidding strategy in which the advertiser pays
+ * a certain portion of the conversion value.
+ *
+ * Generated from protobuf enum COMMISSION = 16;
+ */
+ const COMMISSION = 16;
+ /**
+ * Enhanced CPC is a bidding strategy that raises bids for clicks
+ * that seem more likely to lead to a conversion and lowers
+ * them for clicks where they seem less likely.
+ *
+ * Generated from protobuf enum ENHANCED_CPC = 2;
+ */
+ const ENHANCED_CPC = 2;
+ /**
+ * Manual click based bidding where user pays per click.
+ *
+ * Generated from protobuf enum MANUAL_CPC = 3;
+ */
+ const MANUAL_CPC = 3;
+ /**
+ * Manual impression based bidding
+ * where user pays per thousand impressions.
+ *
+ * Generated from protobuf enum MANUAL_CPM = 4;
+ */
+ const MANUAL_CPM = 4;
+ /**
+ * A bidding strategy that pays a configurable amount per video view.
+ *
+ * Generated from protobuf enum MANUAL_CPV = 13;
+ */
+ const MANUAL_CPV = 13;
+ /**
+ * A bidding strategy that automatically maximizes number of conversions
+ * given a daily budget.
+ *
+ * Generated from protobuf enum MAXIMIZE_CONVERSIONS = 10;
+ */
+ const MAXIMIZE_CONVERSIONS = 10;
+ /**
+ * An automated bidding strategy that automatically sets bids to maximize
+ * revenue while spending your budget.
+ *
+ * Generated from protobuf enum MAXIMIZE_CONVERSION_VALUE = 11;
+ */
+ const MAXIMIZE_CONVERSION_VALUE = 11;
+ /**
+ * Page-One Promoted bidding scheme, which sets max cpc bids to
+ * target impressions on page one or page one promoted slots on google.com.
+ * This enum value is deprecated.
+ *
+ * Generated from protobuf enum PAGE_ONE_PROMOTED = 5;
+ */
+ const PAGE_ONE_PROMOTED = 5;
+ /**
+ * Percent Cpc is bidding strategy where bids are a fraction of the
+ * advertised price for some good or service.
+ *
+ * Generated from protobuf enum PERCENT_CPC = 12;
+ */
+ const PERCENT_CPC = 12;
+ /**
+ * Target CPA is an automated bid strategy that sets bids
+ * to help get as many conversions as possible
+ * at the target cost-per-acquisition (CPA) you set.
+ *
+ * Generated from protobuf enum TARGET_CPA = 6;
+ */
+ const TARGET_CPA = 6;
+ /**
+ * Target CPM is an automated bid strategy that sets bids to help get
+ * as many impressions as possible at the target cost per one thousand
+ * impressions (CPM) you set.
+ *
+ * Generated from protobuf enum TARGET_CPM = 14;
+ */
+ const TARGET_CPM = 14;
+ /**
+ * An automated bidding strategy that sets bids so that a certain percentage
+ * of search ads are shown at the top of the first page (or other targeted
+ * location).
+ *
+ * Generated from protobuf enum TARGET_IMPRESSION_SHARE = 15;
+ */
+ const TARGET_IMPRESSION_SHARE = 15;
+ /**
+ * Target Outrank Share is an automated bidding strategy that sets bids
+ * based on the target fraction of auctions where the advertiser
+ * should outrank a specific competitor.
+ * This enum value is deprecated.
+ *
+ * Generated from protobuf enum TARGET_OUTRANK_SHARE = 7;
+ */
+ const TARGET_OUTRANK_SHARE = 7;
+ /**
+ * Target ROAS is an automated bidding strategy
+ * that helps you maximize revenue while averaging
+ * a specific target Return On Average Spend (ROAS).
+ *
+ * Generated from protobuf enum TARGET_ROAS = 8;
+ */
+ const TARGET_ROAS = 8;
+ /**
+ * Target Spend is an automated bid strategy that sets your bids
+ * to help get as many clicks as possible within your budget.
+ *
+ * Generated from protobuf enum TARGET_SPEND = 9;
+ */
+ const TARGET_SPEND = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::COMMISSION => 'COMMISSION',
+ self::ENHANCED_CPC => 'ENHANCED_CPC',
+ self::MANUAL_CPC => 'MANUAL_CPC',
+ self::MANUAL_CPM => 'MANUAL_CPM',
+ self::MANUAL_CPV => 'MANUAL_CPV',
+ self::MAXIMIZE_CONVERSIONS => 'MAXIMIZE_CONVERSIONS',
+ self::MAXIMIZE_CONVERSION_VALUE => 'MAXIMIZE_CONVERSION_VALUE',
+ self::PAGE_ONE_PROMOTED => 'PAGE_ONE_PROMOTED',
+ self::PERCENT_CPC => 'PERCENT_CPC',
+ self::TARGET_CPA => 'TARGET_CPA',
+ self::TARGET_CPM => 'TARGET_CPM',
+ self::TARGET_IMPRESSION_SHARE => 'TARGET_IMPRESSION_SHARE',
+ self::TARGET_OUTRANK_SHARE => 'TARGET_OUTRANK_SHARE',
+ self::TARGET_ROAS => 'TARGET_ROAS',
+ self::TARGET_SPEND => 'TARGET_SPEND',
+ ];
+
+ 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(BiddingStrategyType::class, \Google\Ads\GoogleAds\V2\Enums\BiddingStrategyTypeEnum_BiddingStrategyType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum_BiddingStrategyType.php b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum_BiddingStrategyType.php
new file mode 100644
index 000000000..e4021cf8b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BiddingStrategyTypeEnum_BiddingStrategyType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BillingSetupStatusEnum
+ */
+final class BillingSetupStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BillingSetupStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum/BillingSetupStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum/BillingSetupStatus.php
new file mode 100644
index 000000000..cec995989
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum/BillingSetupStatus.php
@@ -0,0 +1,87 @@
+google.ads.googleads.v2.enums.BillingSetupStatusEnum.BillingSetupStatus
+ */
+class BillingSetupStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The billing setup is pending approval.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * The billing setup has been approved but the corresponding first budget
+ * has not. This can only occur for billing setups configured for monthly
+ * invoicing.
+ *
+ * Generated from protobuf enum APPROVED_HELD = 3;
+ */
+ const APPROVED_HELD = 3;
+ /**
+ * The billing setup has been approved.
+ *
+ * Generated from protobuf enum APPROVED = 4;
+ */
+ const APPROVED = 4;
+ /**
+ * The billing setup was cancelled by the user prior to approval.
+ *
+ * Generated from protobuf enum CANCELLED = 5;
+ */
+ const CANCELLED = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::APPROVED_HELD => 'APPROVED_HELD',
+ self::APPROVED => 'APPROVED',
+ self::CANCELLED => 'CANCELLED',
+ ];
+
+ 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(BillingSetupStatus::class, \Google\Ads\GoogleAds\V2\Enums\BillingSetupStatusEnum_BillingSetupStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum_BillingSetupStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum_BillingSetupStatus.php
new file mode 100644
index 000000000..46e953655
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BillingSetupStatusEnum_BillingSetupStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BrandSafetySuitabilityEnum
+ */
+final class BrandSafetySuitabilityEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BrandSafetySuitability::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum/BrandSafetySuitability.php b/src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum/BrandSafetySuitability.php
new file mode 100644
index 000000000..d7244879a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum/BrandSafetySuitability.php
@@ -0,0 +1,98 @@
+google.ads.googleads.v2.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability
+ */
+class BrandSafetySuitability
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * This option lets you show ads across all inventory on YouTube and video
+ * partners that meet our standards for monetization. This option may be an
+ * appropriate choice for brands that want maximum access to the full
+ * breadth of videos eligible for ads, including, for example, videos that
+ * have strong profanity in the context of comedy or a documentary, or
+ * excessive violence as featured in video games.
+ *
+ * Generated from protobuf enum EXPANDED_INVENTORY = 2;
+ */
+ const EXPANDED_INVENTORY = 2;
+ /**
+ * This option lets you show ads across a wide range of content that's
+ * appropriate for most brands, such as popular music videos, documentaries,
+ * and movie trailers. The content you can show ads on is based on YouTube's
+ * advertiser-friendly content guidelines that take into account, for
+ * example, the strength or frequency of profanity, or the appropriateness
+ * of subject matter like sensitive events. Ads won't show, for example, on
+ * content with repeated strong profanity, strong sexual content, or graphic
+ * violence.
+ *
+ * Generated from protobuf enum STANDARD_INVENTORY = 3;
+ */
+ const STANDARD_INVENTORY = 3;
+ /**
+ * This option lets you show ads on a reduced range of content that's
+ * appropriate for brands with particularly strict guidelines around
+ * inappropriate language and sexual suggestiveness; above and beyond what
+ * YouTube's advertiser-friendly content guidelines address. The videos
+ * accessible in this sensitive category meet heightened requirements,
+ * especially for inappropriate language and sexual suggestiveness. For
+ * example, your ads will be excluded from showing on some of YouTube's most
+ * popular music videos and other pop culture content across YouTube and
+ * Google video partners.
+ *
+ * Generated from protobuf enum LIMITED_INVENTORY = 4;
+ */
+ const LIMITED_INVENTORY = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EXPANDED_INVENTORY => 'EXPANDED_INVENTORY',
+ self::STANDARD_INVENTORY => 'STANDARD_INVENTORY',
+ self::LIMITED_INVENTORY => 'LIMITED_INVENTORY',
+ ];
+
+ 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(BrandSafetySuitability::class, \Google\Ads\GoogleAds\V2\Enums\BrandSafetySuitabilityEnum_BrandSafetySuitability::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum_BrandSafetySuitability.php b/src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum_BrandSafetySuitability.php
new file mode 100644
index 000000000..045823158
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BrandSafetySuitabilityEnum_BrandSafetySuitability.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum
+ */
+final class BudgetDeliveryMethodEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethod::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum/BudgetDeliveryMethod.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum/BudgetDeliveryMethod.php
new file mode 100644
index 000000000..fbad4fbdf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum/BudgetDeliveryMethod.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod
+ */
+class BudgetDeliveryMethod
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The budget server will throttle serving evenly across
+ * the entire time period.
+ *
+ * Generated from protobuf enum STANDARD = 2;
+ */
+ const STANDARD = 2;
+ /**
+ * The budget server will not throttle serving,
+ * and ads will serve as fast as possible.
+ *
+ * Generated from protobuf enum ACCELERATED = 3;
+ */
+ const ACCELERATED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::STANDARD => 'STANDARD',
+ self::ACCELERATED => 'ACCELERATED',
+ ];
+
+ 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(BudgetDeliveryMethod::class, \Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum_BudgetDeliveryMethod::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum_BudgetDeliveryMethod.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum_BudgetDeliveryMethod.php
new file mode 100644
index 000000000..b2c62c62c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetDeliveryMethodEnum_BudgetDeliveryMethod.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BudgetPeriodEnum
+ */
+final class BudgetPeriodEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BudgetPeriod::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum/BudgetPeriod.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum/BudgetPeriod.php
new file mode 100644
index 000000000..a61179400
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum/BudgetPeriod.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.BudgetPeriodEnum.BudgetPeriod
+ */
+class BudgetPeriod
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Daily budget.
+ *
+ * Generated from protobuf enum DAILY = 2;
+ */
+ const DAILY = 2;
+ /**
+ * Custom budget.
+ *
+ * Generated from protobuf enum CUSTOM = 3;
+ */
+ const CUSTOM = 3;
+ /**
+ * Fixed daily budget.
+ *
+ * Generated from protobuf enum FIXED_DAILY = 4;
+ */
+ const FIXED_DAILY = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DAILY => 'DAILY',
+ self::CUSTOM => 'CUSTOM',
+ self::FIXED_DAILY => 'FIXED_DAILY',
+ ];
+
+ 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(BudgetPeriod::class, \Google\Ads\GoogleAds\V2\Enums\BudgetPeriodEnum_BudgetPeriod::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum_BudgetPeriod.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum_BudgetPeriod.php
new file mode 100644
index 000000000..846a69def
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetPeriodEnum_BudgetPeriod.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BudgetStatusEnum
+ */
+final class BudgetStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BudgetStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum/BudgetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum/BudgetStatus.php
new file mode 100644
index 000000000..5b7707b2f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum/BudgetStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.BudgetStatusEnum.BudgetStatus
+ */
+class BudgetStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Budget is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Budget is removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(BudgetStatus::class, \Google\Ads\GoogleAds\V2\Enums\BudgetStatusEnum_BudgetStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum_BudgetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum_BudgetStatus.php
new file mode 100644
index 000000000..918b06289
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetStatusEnum_BudgetStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.BudgetTypeEnum
+ */
+final class BudgetTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\BudgetType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum/BudgetType.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum/BudgetType.php
new file mode 100644
index 000000000..5e1641234
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum/BudgetType.php
@@ -0,0 +1,89 @@
+google.ads.googleads.v2.enums.BudgetTypeEnum.BudgetType
+ */
+class BudgetType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Budget type for standard Google Ads usage.
+ * Caps daily spend at two times the specified budget amount.
+ * Full details: https://support.google.com/google-ads/answer/6385083
+ *
+ * Generated from protobuf enum STANDARD = 2;
+ */
+ const STANDARD = 2;
+ /**
+ * Budget type for Hotels Ads commission program.
+ * Full details: https://support.google.com/google-ads/answer/9243945
+ * This type is only supported by campaigns with
+ * AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION and
+ * PaymentMode.CONVERSION_VALUE.
+ *
+ * Generated from protobuf enum HOTEL_ADS_COMMISSION = 3;
+ */
+ const HOTEL_ADS_COMMISSION = 3;
+ /**
+ * Budget type with a fixed cost-per-acquisition (conversion).
+ * Full details: https://support.google.com/google-ads/answer/7528254
+ * This type is only supported by campaigns with
+ * AdvertisingChannelType.DISPLAY (excluding
+ * AdvertisingChannelSubType.DISPLAY_GMAIL),
+ * BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS.
+ *
+ * Generated from protobuf enum FIXED_CPA = 4;
+ */
+ const FIXED_CPA = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::STANDARD => 'STANDARD',
+ self::HOTEL_ADS_COMMISSION => 'HOTEL_ADS_COMMISSION',
+ self::FIXED_CPA => 'FIXED_CPA',
+ ];
+
+ 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(BudgetType::class, \Google\Ads\GoogleAds\V2\Enums\BudgetTypeEnum_BudgetType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum_BudgetType.php b/src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum_BudgetType.php
new file mode 100644
index 000000000..8aa19a8d2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/BudgetTypeEnum_BudgetType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CallConversionReportingStateEnum
+ */
+final class CallConversionReportingStateEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CallConversionReportingState::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum/CallConversionReportingState.php b/src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum/CallConversionReportingState.php
new file mode 100644
index 000000000..ae565a1e5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum/CallConversionReportingState.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState
+ */
+class CallConversionReportingState
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Call conversion action is disabled.
+ *
+ * Generated from protobuf enum DISABLED = 2;
+ */
+ const DISABLED = 2;
+ /**
+ * Call conversion action will use call conversion type set at the
+ * account level.
+ *
+ * Generated from protobuf enum USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION = 3;
+ */
+ const USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION = 3;
+ /**
+ * Call conversion action will use call conversion type set at the resource
+ * (call only ads/call extensions) level.
+ *
+ * Generated from protobuf enum USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION = 4;
+ */
+ const USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DISABLED => 'DISABLED',
+ self::USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION => 'USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION',
+ self::USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION => 'USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION',
+ ];
+
+ 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(CallConversionReportingState::class, \Google\Ads\GoogleAds\V2\Enums\CallConversionReportingStateEnum_CallConversionReportingState::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum_CallConversionReportingState.php b/src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum_CallConversionReportingState.php
new file mode 100644
index 000000000..1e8f9b09d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CallConversionReportingStateEnum_CallConversionReportingState.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CallPlaceholderFieldEnum
+ */
+final class CallPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CallPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum/CallPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum/CallPlaceholderField.php
new file mode 100644
index 000000000..508f8d078
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum/CallPlaceholderField.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.CallPlaceholderFieldEnum.CallPlaceholderField
+ */
+class CallPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The advertiser's phone number to append to the ad.
+ *
+ * Generated from protobuf enum PHONE_NUMBER = 2;
+ */
+ const PHONE_NUMBER = 2;
+ /**
+ * Data Type: STRING. Uppercase two-letter country code of the advertiser's
+ * phone number.
+ *
+ * Generated from protobuf enum COUNTRY_CODE = 3;
+ */
+ const COUNTRY_CODE = 3;
+ /**
+ * Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default:
+ * true.
+ *
+ * Generated from protobuf enum TRACKED = 4;
+ */
+ const TRACKED = 4;
+ /**
+ * Data Type: INT64. The ID of an AdCallMetricsConversion object. This
+ * object contains the phoneCallDurationfield which is the minimum duration
+ * (in seconds) of a call to be considered a conversion.
+ *
+ * Generated from protobuf enum CONVERSION_TYPE_ID = 5;
+ */
+ const CONVERSION_TYPE_ID = 5;
+ /**
+ * Data Type: STRING. Indicates whether this call extension uses its own
+ * call conversion setting or follows the account level setting.
+ * Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and
+ * USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+ *
+ * Generated from protobuf enum CONVERSION_REPORTING_STATE = 6;
+ */
+ const CONVERSION_REPORTING_STATE = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PHONE_NUMBER => 'PHONE_NUMBER',
+ self::COUNTRY_CODE => 'COUNTRY_CODE',
+ self::TRACKED => 'TRACKED',
+ self::CONVERSION_TYPE_ID => 'CONVERSION_TYPE_ID',
+ self::CONVERSION_REPORTING_STATE => 'CONVERSION_REPORTING_STATE',
+ ];
+
+ 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(CallPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\CallPlaceholderFieldEnum_CallPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum_CallPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum_CallPlaceholderField.php
new file mode 100644
index 000000000..34f844691
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CallPlaceholderFieldEnum_CallPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CalloutPlaceholderFieldEnum
+ */
+final class CalloutPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CalloutPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum/CalloutPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum/CalloutPlaceholderField.php
new file mode 100644
index 000000000..1ec36d742
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum/CalloutPlaceholderField.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField
+ */
+class CalloutPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Callout text.
+ *
+ * Generated from protobuf enum CALLOUT_TEXT = 2;
+ */
+ const CALLOUT_TEXT = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CALLOUT_TEXT => 'CALLOUT_TEXT',
+ ];
+
+ 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(CalloutPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\CalloutPlaceholderFieldEnum_CalloutPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum_CalloutPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum_CalloutPlaceholderField.php
new file mode 100644
index 000000000..3e9f2128a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CalloutPlaceholderFieldEnum_CalloutPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignCriterionStatusEnum
+ */
+final class CampaignCriterionStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignCriterionStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum/CampaignCriterionStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum/CampaignCriterionStatus.php
new file mode 100644
index 000000000..e25f1507c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum/CampaignCriterionStatus.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus
+ */
+class CampaignCriterionStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The campaign criterion is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The campaign criterion is paused.
+ *
+ * Generated from protobuf enum PAUSED = 3;
+ */
+ const PAUSED = 3;
+ /**
+ * The campaign criterion is removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::PAUSED => 'PAUSED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(CampaignCriterionStatus::class, \Google\Ads\GoogleAds\V2\Enums\CampaignCriterionStatusEnum_CampaignCriterionStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum_CampaignCriterionStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum_CampaignCriterionStatus.php
new file mode 100644
index 000000000..1959c6925
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignCriterionStatusEnum_CampaignCriterionStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignDraftStatusEnum
+ */
+final class CampaignDraftStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignDraftStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum/CampaignDraftStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum/CampaignDraftStatus.php
new file mode 100644
index 000000000..9b763e2ed
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum/CampaignDraftStatus.php
@@ -0,0 +1,98 @@
+google.ads.googleads.v2.enums.CampaignDraftStatusEnum.CampaignDraftStatus
+ */
+class CampaignDraftStatus
+{
+ /**
+ * The status has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Initial state of the draft, the advertiser can start adding changes with
+ * no effect on serving.
+ *
+ * Generated from protobuf enum PROPOSED = 2;
+ */
+ const PROPOSED = 2;
+ /**
+ * The campaign draft is removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+ /**
+ * Advertiser requested to promote draft's changes back into the original
+ * campaign. Advertiser can poll the long running operation returned by
+ * the promote action to see the status of the promotion.
+ *
+ * Generated from protobuf enum PROMOTING = 5;
+ */
+ const PROMOTING = 5;
+ /**
+ * The process to merge changes in the draft back to the original campaign
+ * has completed successfully.
+ *
+ * Generated from protobuf enum PROMOTED = 4;
+ */
+ const PROMOTED = 4;
+ /**
+ * The promotion failed after it was partially applied. Promote cannot be
+ * attempted again safely, so the issue must be corrected in the original
+ * campaign.
+ *
+ * Generated from protobuf enum PROMOTE_FAILED = 6;
+ */
+ const PROMOTE_FAILED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PROPOSED => 'PROPOSED',
+ self::REMOVED => 'REMOVED',
+ self::PROMOTING => 'PROMOTING',
+ self::PROMOTED => 'PROMOTED',
+ self::PROMOTE_FAILED => 'PROMOTE_FAILED',
+ ];
+
+ 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(CampaignDraftStatus::class, \Google\Ads\GoogleAds\V2\Enums\CampaignDraftStatusEnum_CampaignDraftStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum_CampaignDraftStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum_CampaignDraftStatus.php
new file mode 100644
index 000000000..c5c4295d1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignDraftStatusEnum_CampaignDraftStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignExperimentStatusEnum
+ */
+final class CampaignExperimentStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignExperimentStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum/CampaignExperimentStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum/CampaignExperimentStatus.php
new file mode 100644
index 000000000..c0aa7dea7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum/CampaignExperimentStatus.php
@@ -0,0 +1,126 @@
+google.ads.googleads.v2.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus
+ */
+class CampaignExperimentStatus
+{
+ /**
+ * The status has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The experiment campaign is being initialized.
+ *
+ * Generated from protobuf enum INITIALIZING = 2;
+ */
+ const INITIALIZING = 2;
+ /**
+ * Initialization of the experiment campaign failed.
+ *
+ * Generated from protobuf enum INITIALIZATION_FAILED = 8;
+ */
+ const INITIALIZATION_FAILED = 8;
+ /**
+ * The experiment campaign is fully initialized. The experiment is currently
+ * running, scheduled to run in the future or has ended based on its
+ * end date. An experiment with the status INITIALIZING will be updated to
+ * ENABLED when it is fully created.
+ *
+ * Generated from protobuf enum ENABLED = 3;
+ */
+ const ENABLED = 3;
+ /**
+ * The experiment campaign was graduated to a stand-alone
+ * campaign, existing independently of the experiment.
+ *
+ * Generated from protobuf enum GRADUATED = 4;
+ */
+ const GRADUATED = 4;
+ /**
+ * The experiment is removed.
+ *
+ * Generated from protobuf enum REMOVED = 5;
+ */
+ const REMOVED = 5;
+ /**
+ * The experiment's changes are being applied to the original campaign.
+ * The long running operation returned by the promote method can be polled
+ * to see the status of the promotion.
+ *
+ * Generated from protobuf enum PROMOTING = 6;
+ */
+ const PROMOTING = 6;
+ /**
+ * Promote of the experiment campaign failed.
+ *
+ * Generated from protobuf enum PROMOTION_FAILED = 9;
+ */
+ const PROMOTION_FAILED = 9;
+ /**
+ * The changes of the experiment are promoted to their original campaign.
+ *
+ * Generated from protobuf enum PROMOTED = 7;
+ */
+ const PROMOTED = 7;
+ /**
+ * The experiment was ended manually. It did not end based on its end date.
+ *
+ * Generated from protobuf enum ENDED_MANUALLY = 10;
+ */
+ const ENDED_MANUALLY = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INITIALIZING => 'INITIALIZING',
+ self::INITIALIZATION_FAILED => 'INITIALIZATION_FAILED',
+ self::ENABLED => 'ENABLED',
+ self::GRADUATED => 'GRADUATED',
+ self::REMOVED => 'REMOVED',
+ self::PROMOTING => 'PROMOTING',
+ self::PROMOTION_FAILED => 'PROMOTION_FAILED',
+ self::PROMOTED => 'PROMOTED',
+ self::ENDED_MANUALLY => 'ENDED_MANUALLY',
+ ];
+
+ 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(CampaignExperimentStatus::class, \Google\Ads\GoogleAds\V2\Enums\CampaignExperimentStatusEnum_CampaignExperimentStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum_CampaignExperimentStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum_CampaignExperimentStatus.php
new file mode 100644
index 000000000..1a70fca69
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentStatusEnum_CampaignExperimentStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignExperimentTrafficSplitTypeEnum
+ */
+final class CampaignExperimentTrafficSplitTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignExperimentTrafficSplitType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum/CampaignExperimentTrafficSplitType.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum/CampaignExperimentTrafficSplitType.php
new file mode 100644
index 000000000..fb9f02d6a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum/CampaignExperimentTrafficSplitType.php
@@ -0,0 +1,74 @@
+google.ads.googleads.v2.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType
+ */
+class CampaignExperimentTrafficSplitType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Traffic is randomly assigned to the base or experiment arm for each
+ * query, independent of previous assignments for the same user.
+ *
+ * Generated from protobuf enum RANDOM_QUERY = 2;
+ */
+ const RANDOM_QUERY = 2;
+ /**
+ * Traffic is split using cookies to keep users in the same arm (base or
+ * experiment) of the experiment.
+ *
+ * Generated from protobuf enum COOKIE = 3;
+ */
+ const COOKIE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::RANDOM_QUERY => 'RANDOM_QUERY',
+ self::COOKIE => 'COOKIE',
+ ];
+
+ 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(CampaignExperimentTrafficSplitType::class, \Google\Ads\GoogleAds\V2\Enums\CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType.php
new file mode 100644
index 000000000..f396e84e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignExperimentTypeEnum
+ */
+final class CampaignExperimentTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignExperimentType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum/CampaignExperimentType.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum/CampaignExperimentType.php
new file mode 100644
index 000000000..cba80e149
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum/CampaignExperimentType.php
@@ -0,0 +1,84 @@
+google.ads.googleads.v2.enums.CampaignExperimentTypeEnum.CampaignExperimentType
+ */
+class CampaignExperimentType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * This is a regular campaign.
+ *
+ * Generated from protobuf enum BASE = 2;
+ */
+ const BASE = 2;
+ /**
+ * This is a draft version of a campaign.
+ * It has some modifications from a base campaign,
+ * but it does not serve or accrue metrics.
+ *
+ * Generated from protobuf enum DRAFT = 3;
+ */
+ const DRAFT = 3;
+ /**
+ * This is an experiment version of a campaign.
+ * It has some modifications from a base campaign,
+ * and a percentage of traffic is being diverted
+ * from the BASE campaign to this experiment campaign.
+ *
+ * Generated from protobuf enum EXPERIMENT = 4;
+ */
+ const EXPERIMENT = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BASE => 'BASE',
+ self::DRAFT => 'DRAFT',
+ self::EXPERIMENT => 'EXPERIMENT',
+ ];
+
+ 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(CampaignExperimentType::class, \Google\Ads\GoogleAds\V2\Enums\CampaignExperimentTypeEnum_CampaignExperimentType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum_CampaignExperimentType.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum_CampaignExperimentType.php
new file mode 100644
index 000000000..75f332778
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignExperimentTypeEnum_CampaignExperimentType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignServingStatusEnum
+ */
+final class CampaignServingStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignServingStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum/CampaignServingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum/CampaignServingStatus.php
new file mode 100644
index 000000000..360e50ef4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum/CampaignServingStatus.php
@@ -0,0 +1,93 @@
+google.ads.googleads.v2.enums.CampaignServingStatusEnum.CampaignServingStatus
+ */
+class CampaignServingStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Serving.
+ *
+ * Generated from protobuf enum SERVING = 2;
+ */
+ const SERVING = 2;
+ /**
+ * None.
+ *
+ * Generated from protobuf enum NONE = 3;
+ */
+ const NONE = 3;
+ /**
+ * Ended.
+ *
+ * Generated from protobuf enum ENDED = 4;
+ */
+ const ENDED = 4;
+ /**
+ * Pending.
+ *
+ * Generated from protobuf enum PENDING = 5;
+ */
+ const PENDING = 5;
+ /**
+ * Suspended.
+ *
+ * Generated from protobuf enum SUSPENDED = 6;
+ */
+ const SUSPENDED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SERVING => 'SERVING',
+ self::NONE => 'NONE',
+ self::ENDED => 'ENDED',
+ self::PENDING => 'PENDING',
+ self::SUSPENDED => 'SUSPENDED',
+ ];
+
+ 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(CampaignServingStatus::class, \Google\Ads\GoogleAds\V2\Enums\CampaignServingStatusEnum_CampaignServingStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum_CampaignServingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum_CampaignServingStatus.php
new file mode 100644
index 000000000..ec06c9687
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignServingStatusEnum_CampaignServingStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignSharedSetStatusEnum
+ */
+final class CampaignSharedSetStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignSharedSetStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum/CampaignSharedSetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum/CampaignSharedSetStatus.php
new file mode 100644
index 000000000..55e0e5f9b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum/CampaignSharedSetStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus
+ */
+class CampaignSharedSetStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The campaign shared set is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The campaign shared set is removed and can no longer be used.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(CampaignSharedSetStatus::class, \Google\Ads\GoogleAds\V2\Enums\CampaignSharedSetStatusEnum_CampaignSharedSetStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum_CampaignSharedSetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum_CampaignSharedSetStatus.php
new file mode 100644
index 000000000..730f2fec3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignSharedSetStatusEnum_CampaignSharedSetStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CampaignStatusEnum
+ */
+final class CampaignStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CampaignStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum/CampaignStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum/CampaignStatus.php
new file mode 100644
index 000000000..420bf971b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum/CampaignStatus.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.CampaignStatusEnum.CampaignStatus
+ */
+class CampaignStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Campaign is currently serving ads depending on budget information.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Campaign has been paused by the user.
+ *
+ * Generated from protobuf enum PAUSED = 3;
+ */
+ const PAUSED = 3;
+ /**
+ * Campaign has been removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::PAUSED => 'PAUSED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(CampaignStatus::class, \Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum_CampaignStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum_CampaignStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum_CampaignStatus.php
new file mode 100644
index 000000000..f379614e5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CampaignStatusEnum_CampaignStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ChangeStatusOperationEnum
+ */
+final class ChangeStatusOperationEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ChangeStatusOperation::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum/ChangeStatusOperation.php b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum/ChangeStatusOperation.php
new file mode 100644
index 000000000..8edb42ed0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum/ChangeStatusOperation.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.ChangeStatusOperationEnum.ChangeStatusOperation
+ */
+class ChangeStatusOperation
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents an unclassified resource unknown
+ * in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The resource was created.
+ *
+ * Generated from protobuf enum ADDED = 2;
+ */
+ const ADDED = 2;
+ /**
+ * The resource was modified.
+ *
+ * Generated from protobuf enum CHANGED = 3;
+ */
+ const CHANGED = 3;
+ /**
+ * The resource was removed.
+ *
+ * Generated from protobuf enum REMOVED = 4;
+ */
+ const REMOVED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ADDED => 'ADDED',
+ self::CHANGED => 'CHANGED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(ChangeStatusOperation::class, \Google\Ads\GoogleAds\V2\Enums\ChangeStatusOperationEnum_ChangeStatusOperation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum_ChangeStatusOperation.php b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum_ChangeStatusOperation.php
new file mode 100644
index 000000000..3401e9c0e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusOperationEnum_ChangeStatusOperation.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ChangeStatusResourceTypeEnum
+ */
+final class ChangeStatusResourceTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ChangeStatusResourceType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum/ChangeStatusResourceType.php b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum/ChangeStatusResourceType.php
new file mode 100644
index 000000000..6f361b978
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum/ChangeStatusResourceType.php
@@ -0,0 +1,128 @@
+google.ads.googleads.v2.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType
+ */
+class ChangeStatusResourceType
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents an unclassified resource unknown
+ * in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * An AdGroup resource change.
+ *
+ * Generated from protobuf enum AD_GROUP = 3;
+ */
+ const AD_GROUP = 3;
+ /**
+ * An AdGroupAd resource change.
+ *
+ * Generated from protobuf enum AD_GROUP_AD = 4;
+ */
+ const AD_GROUP_AD = 4;
+ /**
+ * An AdGroupCriterion resource change.
+ *
+ * Generated from protobuf enum AD_GROUP_CRITERION = 5;
+ */
+ const AD_GROUP_CRITERION = 5;
+ /**
+ * A Campaign resource change.
+ *
+ * Generated from protobuf enum CAMPAIGN = 6;
+ */
+ const CAMPAIGN = 6;
+ /**
+ * A CampaignCriterion resource change.
+ *
+ * Generated from protobuf enum CAMPAIGN_CRITERION = 7;
+ */
+ const CAMPAIGN_CRITERION = 7;
+ /**
+ * A Feed resource change.
+ *
+ * Generated from protobuf enum FEED = 9;
+ */
+ const FEED = 9;
+ /**
+ * A FeedItem resource change.
+ *
+ * Generated from protobuf enum FEED_ITEM = 10;
+ */
+ const FEED_ITEM = 10;
+ /**
+ * An AdGroupFeed resource change.
+ *
+ * Generated from protobuf enum AD_GROUP_FEED = 11;
+ */
+ const AD_GROUP_FEED = 11;
+ /**
+ * A CampaignFeed resource change.
+ *
+ * Generated from protobuf enum CAMPAIGN_FEED = 12;
+ */
+ const CAMPAIGN_FEED = 12;
+ /**
+ * An AdGroupBidModifier resource change.
+ *
+ * Generated from protobuf enum AD_GROUP_BID_MODIFIER = 13;
+ */
+ const AD_GROUP_BID_MODIFIER = 13;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_GROUP => 'AD_GROUP',
+ self::AD_GROUP_AD => 'AD_GROUP_AD',
+ self::AD_GROUP_CRITERION => 'AD_GROUP_CRITERION',
+ self::CAMPAIGN => 'CAMPAIGN',
+ self::CAMPAIGN_CRITERION => 'CAMPAIGN_CRITERION',
+ self::FEED => 'FEED',
+ self::FEED_ITEM => 'FEED_ITEM',
+ self::AD_GROUP_FEED => 'AD_GROUP_FEED',
+ self::CAMPAIGN_FEED => 'CAMPAIGN_FEED',
+ self::AD_GROUP_BID_MODIFIER => 'AD_GROUP_BID_MODIFIER',
+ ];
+
+ 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(ChangeStatusResourceType::class, \Google\Ads\GoogleAds\V2\Enums\ChangeStatusResourceTypeEnum_ChangeStatusResourceType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum_ChangeStatusResourceType.php b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum_ChangeStatusResourceType.php
new file mode 100644
index 000000000..5621bddb8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ChangeStatusResourceTypeEnum_ChangeStatusResourceType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ClickTypeEnum
+ */
+final class ClickTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ClickType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum/ClickType.php b/src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum/ClickType.php
new file mode 100644
index 000000000..a37bdb670
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum/ClickType.php
@@ -0,0 +1,428 @@
+google.ads.googleads.v2.enums.ClickTypeEnum.ClickType
+ */
+class ClickType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * App engagement ad deep link.
+ *
+ * Generated from protobuf enum APP_DEEPLINK = 2;
+ */
+ const APP_DEEPLINK = 2;
+ /**
+ * Breadcrumbs.
+ *
+ * Generated from protobuf enum BREADCRUMBS = 3;
+ */
+ const BREADCRUMBS = 3;
+ /**
+ * Broadband Plan.
+ *
+ * Generated from protobuf enum BROADBAND_PLAN = 4;
+ */
+ const BROADBAND_PLAN = 4;
+ /**
+ * Manually dialed phone calls.
+ *
+ * Generated from protobuf enum CALL_TRACKING = 5;
+ */
+ const CALL_TRACKING = 5;
+ /**
+ * Phone calls.
+ *
+ * Generated from protobuf enum CALLS = 6;
+ */
+ const CALLS = 6;
+ /**
+ * Click on engagement ad.
+ *
+ * Generated from protobuf enum CLICK_ON_ENGAGEMENT_AD = 7;
+ */
+ const CLICK_ON_ENGAGEMENT_AD = 7;
+ /**
+ * Driving direction.
+ *
+ * Generated from protobuf enum GET_DIRECTIONS = 8;
+ */
+ const GET_DIRECTIONS = 8;
+ /**
+ * Get location details.
+ *
+ * Generated from protobuf enum LOCATION_EXPANSION = 9;
+ */
+ const LOCATION_EXPANSION = 9;
+ /**
+ * Call.
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_CALL = 10;
+ */
+ const LOCATION_FORMAT_CALL = 10;
+ /**
+ * Directions.
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_DIRECTIONS = 11;
+ */
+ const LOCATION_FORMAT_DIRECTIONS = 11;
+ /**
+ * Image(s).
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_IMAGE = 12;
+ */
+ const LOCATION_FORMAT_IMAGE = 12;
+ /**
+ * Go to landing page.
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_LANDING_PAGE = 13;
+ */
+ const LOCATION_FORMAT_LANDING_PAGE = 13;
+ /**
+ * Map.
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_MAP = 14;
+ */
+ const LOCATION_FORMAT_MAP = 14;
+ /**
+ * Go to store info.
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_STORE_INFO = 15;
+ */
+ const LOCATION_FORMAT_STORE_INFO = 15;
+ /**
+ * Text.
+ *
+ * Generated from protobuf enum LOCATION_FORMAT_TEXT = 16;
+ */
+ const LOCATION_FORMAT_TEXT = 16;
+ /**
+ * Mobile phone calls.
+ *
+ * Generated from protobuf enum MOBILE_CALL_TRACKING = 17;
+ */
+ const MOBILE_CALL_TRACKING = 17;
+ /**
+ * Print offer.
+ *
+ * Generated from protobuf enum OFFER_PRINTS = 18;
+ */
+ const OFFER_PRINTS = 18;
+ /**
+ * Other.
+ *
+ * Generated from protobuf enum OTHER = 19;
+ */
+ const OTHER = 19;
+ /**
+ * Product plusbox offer.
+ *
+ * Generated from protobuf enum PRODUCT_EXTENSION_CLICKS = 20;
+ */
+ const PRODUCT_EXTENSION_CLICKS = 20;
+ /**
+ * Shopping - Product - Online.
+ *
+ * Generated from protobuf enum PRODUCT_LISTING_AD_CLICKS = 21;
+ */
+ const PRODUCT_LISTING_AD_CLICKS = 21;
+ /**
+ * Sitelink.
+ *
+ * Generated from protobuf enum SITELINKS = 22;
+ */
+ const SITELINKS = 22;
+ /**
+ * Show nearby locations.
+ *
+ * Generated from protobuf enum STORE_LOCATOR = 23;
+ */
+ const STORE_LOCATOR = 23;
+ /**
+ * Headline.
+ *
+ * Generated from protobuf enum URL_CLICKS = 25;
+ */
+ const URL_CLICKS = 25;
+ /**
+ * App store.
+ *
+ * Generated from protobuf enum VIDEO_APP_STORE_CLICKS = 26;
+ */
+ const VIDEO_APP_STORE_CLICKS = 26;
+ /**
+ * Call-to-Action overlay.
+ *
+ * Generated from protobuf enum VIDEO_CALL_TO_ACTION_CLICKS = 27;
+ */
+ const VIDEO_CALL_TO_ACTION_CLICKS = 27;
+ /**
+ * Cards.
+ *
+ * Generated from protobuf enum VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28;
+ */
+ const VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28;
+ /**
+ * End cap.
+ *
+ * Generated from protobuf enum VIDEO_END_CAP_CLICKS = 29;
+ */
+ const VIDEO_END_CAP_CLICKS = 29;
+ /**
+ * Website.
+ *
+ * Generated from protobuf enum VIDEO_WEBSITE_CLICKS = 30;
+ */
+ const VIDEO_WEBSITE_CLICKS = 30;
+ /**
+ * Visual Sitelinks.
+ *
+ * Generated from protobuf enum VISUAL_SITELINKS = 31;
+ */
+ const VISUAL_SITELINKS = 31;
+ /**
+ * Wireless Plan.
+ *
+ * Generated from protobuf enum WIRELESS_PLAN = 32;
+ */
+ const WIRELESS_PLAN = 32;
+ /**
+ * Shopping - Product - Local.
+ *
+ * Generated from protobuf enum PRODUCT_LISTING_AD_LOCAL = 33;
+ */
+ const PRODUCT_LISTING_AD_LOCAL = 33;
+ /**
+ * Shopping - Product - MultiChannel Local.
+ *
+ * Generated from protobuf enum PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34;
+ */
+ const PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34;
+ /**
+ * Shopping - Product - MultiChannel Online.
+ *
+ * Generated from protobuf enum PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35;
+ */
+ const PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35;
+ /**
+ * Shopping - Product - Coupon.
+ *
+ * Generated from protobuf enum PRODUCT_LISTING_ADS_COUPON = 36;
+ */
+ const PRODUCT_LISTING_ADS_COUPON = 36;
+ /**
+ * Shopping - Product - Sell on Google.
+ *
+ * Generated from protobuf enum PRODUCT_LISTING_AD_TRANSACTABLE = 37;
+ */
+ const PRODUCT_LISTING_AD_TRANSACTABLE = 37;
+ /**
+ * Shopping - Product - App engagement ad deep link.
+ *
+ * Generated from protobuf enum PRODUCT_AD_APP_DEEPLINK = 38;
+ */
+ const PRODUCT_AD_APP_DEEPLINK = 38;
+ /**
+ * Shopping - Showcase - Category.
+ *
+ * Generated from protobuf enum SHOWCASE_AD_CATEGORY_LINK = 39;
+ */
+ const SHOWCASE_AD_CATEGORY_LINK = 39;
+ /**
+ * Shopping - Showcase - Local storefront.
+ *
+ * Generated from protobuf enum SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40;
+ */
+ const SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40;
+ /**
+ * Shopping - Showcase - Online product.
+ *
+ * Generated from protobuf enum SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42;
+ */
+ const SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42;
+ /**
+ * Shopping - Showcase - Local product.
+ *
+ * Generated from protobuf enum SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43;
+ */
+ const SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43;
+ /**
+ * Promotion Extension.
+ *
+ * Generated from protobuf enum PROMOTION_EXTENSION = 44;
+ */
+ const PROMOTION_EXTENSION = 44;
+ /**
+ * Ad Headline.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_HEADLINE = 45;
+ */
+ const SWIPEABLE_GALLERY_AD_HEADLINE = 45;
+ /**
+ * Swipes.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SWIPES = 46;
+ */
+ const SWIPEABLE_GALLERY_AD_SWIPES = 46;
+ /**
+ * See More.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SEE_MORE = 47;
+ */
+ const SWIPEABLE_GALLERY_AD_SEE_MORE = 47;
+ /**
+ * Sitelink 1.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48;
+ */
+ const SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48;
+ /**
+ * Sitelink 2.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49;
+ */
+ const SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49;
+ /**
+ * Sitelink 3.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50;
+ */
+ const SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50;
+ /**
+ * Sitelink 4.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51;
+ */
+ const SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51;
+ /**
+ * Sitelink 5.
+ *
+ * Generated from protobuf enum SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52;
+ */
+ const SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52;
+ /**
+ * Hotel price.
+ *
+ * Generated from protobuf enum HOTEL_PRICE = 53;
+ */
+ const HOTEL_PRICE = 53;
+ /**
+ * Price Extension.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION = 54;
+ */
+ const PRICE_EXTENSION = 54;
+ /**
+ * Book on Google hotel room selection.
+ *
+ * Generated from protobuf enum HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55;
+ */
+ const HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55;
+ /**
+ * Shopping - Comparison Listing.
+ *
+ * Generated from protobuf enum SHOPPING_COMPARISON_LISTING = 56;
+ */
+ const SHOPPING_COMPARISON_LISTING = 56;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::APP_DEEPLINK => 'APP_DEEPLINK',
+ self::BREADCRUMBS => 'BREADCRUMBS',
+ self::BROADBAND_PLAN => 'BROADBAND_PLAN',
+ self::CALL_TRACKING => 'CALL_TRACKING',
+ self::CALLS => 'CALLS',
+ self::CLICK_ON_ENGAGEMENT_AD => 'CLICK_ON_ENGAGEMENT_AD',
+ self::GET_DIRECTIONS => 'GET_DIRECTIONS',
+ self::LOCATION_EXPANSION => 'LOCATION_EXPANSION',
+ self::LOCATION_FORMAT_CALL => 'LOCATION_FORMAT_CALL',
+ self::LOCATION_FORMAT_DIRECTIONS => 'LOCATION_FORMAT_DIRECTIONS',
+ self::LOCATION_FORMAT_IMAGE => 'LOCATION_FORMAT_IMAGE',
+ self::LOCATION_FORMAT_LANDING_PAGE => 'LOCATION_FORMAT_LANDING_PAGE',
+ self::LOCATION_FORMAT_MAP => 'LOCATION_FORMAT_MAP',
+ self::LOCATION_FORMAT_STORE_INFO => 'LOCATION_FORMAT_STORE_INFO',
+ self::LOCATION_FORMAT_TEXT => 'LOCATION_FORMAT_TEXT',
+ self::MOBILE_CALL_TRACKING => 'MOBILE_CALL_TRACKING',
+ self::OFFER_PRINTS => 'OFFER_PRINTS',
+ self::OTHER => 'OTHER',
+ self::PRODUCT_EXTENSION_CLICKS => 'PRODUCT_EXTENSION_CLICKS',
+ self::PRODUCT_LISTING_AD_CLICKS => 'PRODUCT_LISTING_AD_CLICKS',
+ self::SITELINKS => 'SITELINKS',
+ self::STORE_LOCATOR => 'STORE_LOCATOR',
+ self::URL_CLICKS => 'URL_CLICKS',
+ self::VIDEO_APP_STORE_CLICKS => 'VIDEO_APP_STORE_CLICKS',
+ self::VIDEO_CALL_TO_ACTION_CLICKS => 'VIDEO_CALL_TO_ACTION_CLICKS',
+ self::VIDEO_CARD_ACTION_HEADLINE_CLICKS => 'VIDEO_CARD_ACTION_HEADLINE_CLICKS',
+ self::VIDEO_END_CAP_CLICKS => 'VIDEO_END_CAP_CLICKS',
+ self::VIDEO_WEBSITE_CLICKS => 'VIDEO_WEBSITE_CLICKS',
+ self::VISUAL_SITELINKS => 'VISUAL_SITELINKS',
+ self::WIRELESS_PLAN => 'WIRELESS_PLAN',
+ self::PRODUCT_LISTING_AD_LOCAL => 'PRODUCT_LISTING_AD_LOCAL',
+ self::PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL => 'PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL',
+ self::PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE => 'PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE',
+ self::PRODUCT_LISTING_ADS_COUPON => 'PRODUCT_LISTING_ADS_COUPON',
+ self::PRODUCT_LISTING_AD_TRANSACTABLE => 'PRODUCT_LISTING_AD_TRANSACTABLE',
+ self::PRODUCT_AD_APP_DEEPLINK => 'PRODUCT_AD_APP_DEEPLINK',
+ self::SHOWCASE_AD_CATEGORY_LINK => 'SHOWCASE_AD_CATEGORY_LINK',
+ self::SHOWCASE_AD_LOCAL_STOREFRONT_LINK => 'SHOWCASE_AD_LOCAL_STOREFRONT_LINK',
+ self::SHOWCASE_AD_ONLINE_PRODUCT_LINK => 'SHOWCASE_AD_ONLINE_PRODUCT_LINK',
+ self::SHOWCASE_AD_LOCAL_PRODUCT_LINK => 'SHOWCASE_AD_LOCAL_PRODUCT_LINK',
+ self::PROMOTION_EXTENSION => 'PROMOTION_EXTENSION',
+ self::SWIPEABLE_GALLERY_AD_HEADLINE => 'SWIPEABLE_GALLERY_AD_HEADLINE',
+ self::SWIPEABLE_GALLERY_AD_SWIPES => 'SWIPEABLE_GALLERY_AD_SWIPES',
+ self::SWIPEABLE_GALLERY_AD_SEE_MORE => 'SWIPEABLE_GALLERY_AD_SEE_MORE',
+ self::SWIPEABLE_GALLERY_AD_SITELINK_ONE => 'SWIPEABLE_GALLERY_AD_SITELINK_ONE',
+ self::SWIPEABLE_GALLERY_AD_SITELINK_TWO => 'SWIPEABLE_GALLERY_AD_SITELINK_TWO',
+ self::SWIPEABLE_GALLERY_AD_SITELINK_THREE => 'SWIPEABLE_GALLERY_AD_SITELINK_THREE',
+ self::SWIPEABLE_GALLERY_AD_SITELINK_FOUR => 'SWIPEABLE_GALLERY_AD_SITELINK_FOUR',
+ self::SWIPEABLE_GALLERY_AD_SITELINK_FIVE => 'SWIPEABLE_GALLERY_AD_SITELINK_FIVE',
+ self::HOTEL_PRICE => 'HOTEL_PRICE',
+ self::PRICE_EXTENSION => 'PRICE_EXTENSION',
+ self::HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION => 'HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION',
+ self::SHOPPING_COMPARISON_LISTING => 'SHOPPING_COMPARISON_LISTING',
+ ];
+
+ 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(ClickType::class, \Google\Ads\GoogleAds\V2\Enums\ClickTypeEnum_ClickType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum_ClickType.php b/src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum_ClickType.php
new file mode 100644
index 000000000..f64e31254
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ClickTypeEnum_ClickType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ContentLabelTypeEnum
+ */
+final class ContentLabelTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ContentLabelType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum/ContentLabelType.php b/src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum/ContentLabelType.php
new file mode 100644
index 000000000..7ec57cf26
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum/ContentLabelType.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType
+ */
+class ContentLabelType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Sexually suggestive content.
+ *
+ * Generated from protobuf enum SEXUALLY_SUGGESTIVE = 2;
+ */
+ const SEXUALLY_SUGGESTIVE = 2;
+ /**
+ * Below the fold placement.
+ *
+ * Generated from protobuf enum BELOW_THE_FOLD = 3;
+ */
+ const BELOW_THE_FOLD = 3;
+ /**
+ * Parked domain.
+ *
+ * Generated from protobuf enum PARKED_DOMAIN = 4;
+ */
+ const PARKED_DOMAIN = 4;
+ /**
+ * Game.
+ *
+ * Generated from protobuf enum GAME = 5;
+ */
+ const GAME = 5;
+ /**
+ * Juvenile, gross & bizarre content.
+ *
+ * Generated from protobuf enum JUVENILE = 6;
+ */
+ const JUVENILE = 6;
+ /**
+ * Profanity & rough language.
+ *
+ * Generated from protobuf enum PROFANITY = 7;
+ */
+ const PROFANITY = 7;
+ /**
+ * Death & tragedy.
+ *
+ * Generated from protobuf enum TRAGEDY = 8;
+ */
+ const TRAGEDY = 8;
+ /**
+ * Video.
+ *
+ * Generated from protobuf enum VIDEO = 9;
+ */
+ const VIDEO = 9;
+ /**
+ * Content rating: G.
+ *
+ * Generated from protobuf enum VIDEO_RATING_DV_G = 10;
+ */
+ const VIDEO_RATING_DV_G = 10;
+ /**
+ * Content rating: PG.
+ *
+ * Generated from protobuf enum VIDEO_RATING_DV_PG = 11;
+ */
+ const VIDEO_RATING_DV_PG = 11;
+ /**
+ * Content rating: T.
+ *
+ * Generated from protobuf enum VIDEO_RATING_DV_T = 12;
+ */
+ const VIDEO_RATING_DV_T = 12;
+ /**
+ * Content rating: MA.
+ *
+ * Generated from protobuf enum VIDEO_RATING_DV_MA = 13;
+ */
+ const VIDEO_RATING_DV_MA = 13;
+ /**
+ * Content rating: not yet rated.
+ *
+ * Generated from protobuf enum VIDEO_NOT_YET_RATED = 14;
+ */
+ const VIDEO_NOT_YET_RATED = 14;
+ /**
+ * Embedded video.
+ *
+ * Generated from protobuf enum EMBEDDED_VIDEO = 15;
+ */
+ const EMBEDDED_VIDEO = 15;
+ /**
+ * Live streaming video.
+ *
+ * Generated from protobuf enum LIVE_STREAMING_VIDEO = 16;
+ */
+ const LIVE_STREAMING_VIDEO = 16;
+ /**
+ * Sensitive social issues.
+ *
+ * Generated from protobuf enum SOCIAL_ISSUES = 17;
+ */
+ const SOCIAL_ISSUES = 17;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SEXUALLY_SUGGESTIVE => 'SEXUALLY_SUGGESTIVE',
+ self::BELOW_THE_FOLD => 'BELOW_THE_FOLD',
+ self::PARKED_DOMAIN => 'PARKED_DOMAIN',
+ self::GAME => 'GAME',
+ self::JUVENILE => 'JUVENILE',
+ self::PROFANITY => 'PROFANITY',
+ self::TRAGEDY => 'TRAGEDY',
+ self::VIDEO => 'VIDEO',
+ self::VIDEO_RATING_DV_G => 'VIDEO_RATING_DV_G',
+ self::VIDEO_RATING_DV_PG => 'VIDEO_RATING_DV_PG',
+ self::VIDEO_RATING_DV_T => 'VIDEO_RATING_DV_T',
+ self::VIDEO_RATING_DV_MA => 'VIDEO_RATING_DV_MA',
+ self::VIDEO_NOT_YET_RATED => 'VIDEO_NOT_YET_RATED',
+ self::EMBEDDED_VIDEO => 'EMBEDDED_VIDEO',
+ self::LIVE_STREAMING_VIDEO => 'LIVE_STREAMING_VIDEO',
+ self::SOCIAL_ISSUES => 'SOCIAL_ISSUES',
+ ];
+
+ 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(ContentLabelType::class, \Google\Ads\GoogleAds\V2\Enums\ContentLabelTypeEnum_ContentLabelType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum_ContentLabelType.php b/src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum_ContentLabelType.php
new file mode 100644
index 000000000..15ac0814f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ContentLabelTypeEnum_ContentLabelType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionActionCategoryEnum
+ */
+final class ConversionActionCategoryEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionActionCategory::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum/ConversionActionCategory.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum/ConversionActionCategory.php
new file mode 100644
index 000000000..53fcb0b00
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum/ConversionActionCategory.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory
+ */
+class ConversionActionCategory
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Default category.
+ *
+ * Generated from protobuf enum DEFAULT = 2;
+ */
+ const PBDEFAULT = 2;
+ /**
+ * User visiting a page.
+ *
+ * Generated from protobuf enum PAGE_VIEW = 3;
+ */
+ const PAGE_VIEW = 3;
+ /**
+ * Purchase, sales, or "order placed" event.
+ *
+ * Generated from protobuf enum PURCHASE = 4;
+ */
+ const PURCHASE = 4;
+ /**
+ * Signup user action.
+ *
+ * Generated from protobuf enum SIGNUP = 5;
+ */
+ const SIGNUP = 5;
+ /**
+ * Lead-generating action.
+ *
+ * Generated from protobuf enum LEAD = 6;
+ */
+ const LEAD = 6;
+ /**
+ * Software download action (as for an app).
+ *
+ * Generated from protobuf enum DOWNLOAD = 7;
+ */
+ const DOWNLOAD = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PBDEFAULT => 'PBDEFAULT',
+ self::PAGE_VIEW => 'PAGE_VIEW',
+ self::PURCHASE => 'PURCHASE',
+ self::SIGNUP => 'SIGNUP',
+ self::LEAD => 'LEAD',
+ self::DOWNLOAD => 'DOWNLOAD',
+ ];
+
+ 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(ConversionActionCategory::class, \Google\Ads\GoogleAds\V2\Enums\ConversionActionCategoryEnum_ConversionActionCategory::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum_ConversionActionCategory.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum_ConversionActionCategory.php
new file mode 100644
index 000000000..99b2945c4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCategoryEnum_ConversionActionCategory.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionActionCountingTypeEnum
+ */
+final class ConversionActionCountingTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionActionCountingType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum/ConversionActionCountingType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum/ConversionActionCountingType.php
new file mode 100644
index 000000000..8325be535
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum/ConversionActionCountingType.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType
+ */
+class ConversionActionCountingType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Count only one conversion per click.
+ *
+ * Generated from protobuf enum ONE_PER_CLICK = 2;
+ */
+ const ONE_PER_CLICK = 2;
+ /**
+ * Count all conversions per click.
+ *
+ * Generated from protobuf enum MANY_PER_CLICK = 3;
+ */
+ const MANY_PER_CLICK = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ONE_PER_CLICK => 'ONE_PER_CLICK',
+ self::MANY_PER_CLICK => 'MANY_PER_CLICK',
+ ];
+
+ 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(ConversionActionCountingType::class, \Google\Ads\GoogleAds\V2\Enums\ConversionActionCountingTypeEnum_ConversionActionCountingType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum_ConversionActionCountingType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum_ConversionActionCountingType.php
new file mode 100644
index 000000000..ab923bd1e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionCountingTypeEnum_ConversionActionCountingType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionActionStatusEnum
+ */
+final class ConversionActionStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionActionStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum/ConversionActionStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum/ConversionActionStatus.php
new file mode 100644
index 000000000..b915f6bb3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum/ConversionActionStatus.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.ConversionActionStatusEnum.ConversionActionStatus
+ */
+class ConversionActionStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Conversions will be recorded.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Conversions will not be recorded.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+ /**
+ * Conversions will not be recorded and the conversion action will not
+ * appear in the UI.
+ *
+ * Generated from protobuf enum HIDDEN = 4;
+ */
+ const HIDDEN = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ self::HIDDEN => 'HIDDEN',
+ ];
+
+ 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(ConversionActionStatus::class, \Google\Ads\GoogleAds\V2\Enums\ConversionActionStatusEnum_ConversionActionStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum_ConversionActionStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum_ConversionActionStatus.php
new file mode 100644
index 000000000..41b161e19
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionStatusEnum_ConversionActionStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionActionTypeEnum
+ */
+final class ConversionActionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionActionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum/ConversionActionType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum/ConversionActionType.php
new file mode 100644
index 000000000..3335ebbb1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum/ConversionActionType.php
@@ -0,0 +1,118 @@
+google.ads.googleads.v2.enums.ConversionActionTypeEnum.ConversionActionType
+ */
+class ConversionActionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Conversions that occur when a user clicks on an ad's call extension.
+ *
+ * Generated from protobuf enum AD_CALL = 2;
+ */
+ const AD_CALL = 2;
+ /**
+ * Conversions that occur when a user on a mobile device clicks a phone
+ * number.
+ *
+ * Generated from protobuf enum CLICK_TO_CALL = 3;
+ */
+ const CLICK_TO_CALL = 3;
+ /**
+ * Conversions that occur when a user downloads a mobile app from the Google
+ * Play Store.
+ *
+ * Generated from protobuf enum GOOGLE_PLAY_DOWNLOAD = 4;
+ */
+ const GOOGLE_PLAY_DOWNLOAD = 4;
+ /**
+ * Conversions that occur when a user makes a purchase in an app through
+ * Android billing.
+ *
+ * Generated from protobuf enum GOOGLE_PLAY_IN_APP_PURCHASE = 5;
+ */
+ const GOOGLE_PLAY_IN_APP_PURCHASE = 5;
+ /**
+ * Call conversions that are tracked by the advertiser and uploaded.
+ *
+ * Generated from protobuf enum UPLOAD_CALLS = 6;
+ */
+ const UPLOAD_CALLS = 6;
+ /**
+ * Conversions that are tracked by the advertiser and uploaded with
+ * attributed clicks.
+ *
+ * Generated from protobuf enum UPLOAD_CLICKS = 7;
+ */
+ const UPLOAD_CLICKS = 7;
+ /**
+ * Conversions that occur on a webpage.
+ *
+ * Generated from protobuf enum WEBPAGE = 8;
+ */
+ const WEBPAGE = 8;
+ /**
+ * Conversions that occur when a user calls a dynamically-generated phone
+ * number from an advertiser's website.
+ *
+ * Generated from protobuf enum WEBSITE_CALL = 9;
+ */
+ const WEBSITE_CALL = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_CALL => 'AD_CALL',
+ self::CLICK_TO_CALL => 'CLICK_TO_CALL',
+ self::GOOGLE_PLAY_DOWNLOAD => 'GOOGLE_PLAY_DOWNLOAD',
+ self::GOOGLE_PLAY_IN_APP_PURCHASE => 'GOOGLE_PLAY_IN_APP_PURCHASE',
+ self::UPLOAD_CALLS => 'UPLOAD_CALLS',
+ self::UPLOAD_CLICKS => 'UPLOAD_CLICKS',
+ self::WEBPAGE => 'WEBPAGE',
+ self::WEBSITE_CALL => 'WEBSITE_CALL',
+ ];
+
+ 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(ConversionActionType::class, \Google\Ads\GoogleAds\V2\Enums\ConversionActionTypeEnum_ConversionActionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum_ConversionActionType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum_ConversionActionType.php
new file mode 100644
index 000000000..e9b9f1fa4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionActionTypeEnum_ConversionActionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum
+ */
+final class ConversionAdjustmentTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionAdjustmentType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum/ConversionAdjustmentType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum/ConversionAdjustmentType.php
new file mode 100644
index 000000000..cd759798c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum/ConversionAdjustmentType.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType
+ */
+class ConversionAdjustmentType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Negates a conversion so that its total value and count are both zero.
+ *
+ * Generated from protobuf enum RETRACTION = 2;
+ */
+ const RETRACTION = 2;
+ /**
+ * Changes the value of a conversion.
+ *
+ * Generated from protobuf enum RESTATEMENT = 3;
+ */
+ const RESTATEMENT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::RETRACTION => 'RETRACTION',
+ self::RESTATEMENT => 'RESTATEMENT',
+ ];
+
+ 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(ConversionAdjustmentType::class, \Google\Ads\GoogleAds\V2\Enums\ConversionAdjustmentTypeEnum_ConversionAdjustmentType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum_ConversionAdjustmentType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum_ConversionAdjustmentType.php
new file mode 100644
index 000000000..616ac7bf1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAdjustmentTypeEnum_ConversionAdjustmentType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionAttributionEventTypeEnum
+ */
+final class ConversionAttributionEventTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionAttributionEventType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum/ConversionAttributionEventType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum/ConversionAttributionEventType.php
new file mode 100644
index 000000000..bd9eed8bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum/ConversionAttributionEventType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.ConversionAttributionEventTypeEnum.ConversionAttributionEventType
+ */
+class ConversionAttributionEventType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The conversion is attributed to an impression.
+ *
+ * Generated from protobuf enum IMPRESSION = 2;
+ */
+ const IMPRESSION = 2;
+ /**
+ * The conversion is attributed to an interaction.
+ *
+ * Generated from protobuf enum INTERACTION = 3;
+ */
+ const INTERACTION = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::IMPRESSION => 'IMPRESSION',
+ self::INTERACTION => 'INTERACTION',
+ ];
+
+ 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(ConversionAttributionEventType::class, \Google\Ads\GoogleAds\V2\Enums\ConversionAttributionEventTypeEnum_ConversionAttributionEventType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum_ConversionAttributionEventType.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum_ConversionAttributionEventType.php
new file mode 100644
index 000000000..df3e0e532
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionAttributionEventTypeEnum_ConversionAttributionEventType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionLagBucketEnum
+ */
+final class ConversionLagBucketEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionLagBucket::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum/ConversionLagBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum/ConversionLagBucket.php
new file mode 100644
index 000000000..0593f6a7c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum/ConversionLagBucket.php
@@ -0,0 +1,207 @@
+google.ads.googleads.v2.enums.ConversionLagBucketEnum.ConversionLagBucket
+ */
+class ConversionLagBucket
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not.
+ *
+ * Generated from protobuf enum LESS_THAN_ONE_DAY = 2;
+ */
+ const LESS_THAN_ONE_DAY = 2;
+ /**
+ * Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not.
+ *
+ * Generated from protobuf enum ONE_TO_TWO_DAYS = 3;
+ */
+ const ONE_TO_TWO_DAYS = 3;
+ /**
+ * Conversion lag bucket from 2 to 3 days. 2 days is included,
+ * 3 days is not.
+ *
+ * Generated from protobuf enum TWO_TO_THREE_DAYS = 4;
+ */
+ const TWO_TO_THREE_DAYS = 4;
+ /**
+ * Conversion lag bucket from 3 to 4 days. 3 days is included,
+ * 4 days is not.
+ *
+ * Generated from protobuf enum THREE_TO_FOUR_DAYS = 5;
+ */
+ const THREE_TO_FOUR_DAYS = 5;
+ /**
+ * Conversion lag bucket from 4 to 5 days. 4 days is included,
+ * 5 days is not.
+ *
+ * Generated from protobuf enum FOUR_TO_FIVE_DAYS = 6;
+ */
+ const FOUR_TO_FIVE_DAYS = 6;
+ /**
+ * Conversion lag bucket from 5 to 6 days. 5 days is included,
+ * 6 days is not.
+ *
+ * Generated from protobuf enum FIVE_TO_SIX_DAYS = 7;
+ */
+ const FIVE_TO_SIX_DAYS = 7;
+ /**
+ * Conversion lag bucket from 6 to 7 days. 6 days is included,
+ * 7 days is not.
+ *
+ * Generated from protobuf enum SIX_TO_SEVEN_DAYS = 8;
+ */
+ const SIX_TO_SEVEN_DAYS = 8;
+ /**
+ * Conversion lag bucket from 7 to 8 days. 7 days is included,
+ * 8 days is not.
+ *
+ * Generated from protobuf enum SEVEN_TO_EIGHT_DAYS = 9;
+ */
+ const SEVEN_TO_EIGHT_DAYS = 9;
+ /**
+ * Conversion lag bucket from 8 to 9 days. 8 days is included,
+ * 9 days is not.
+ *
+ * Generated from protobuf enum EIGHT_TO_NINE_DAYS = 10;
+ */
+ const EIGHT_TO_NINE_DAYS = 10;
+ /**
+ * Conversion lag bucket from 9 to 10 days. 9 days is included,
+ * 10 days is not.
+ *
+ * Generated from protobuf enum NINE_TO_TEN_DAYS = 11;
+ */
+ const NINE_TO_TEN_DAYS = 11;
+ /**
+ * Conversion lag bucket from 10 to 11 days. 10 days is included,
+ * 11 days is not.
+ *
+ * Generated from protobuf enum TEN_TO_ELEVEN_DAYS = 12;
+ */
+ const TEN_TO_ELEVEN_DAYS = 12;
+ /**
+ * Conversion lag bucket from 11 to 12 days. 11 days is included,
+ * 12 days is not.
+ *
+ * Generated from protobuf enum ELEVEN_TO_TWELVE_DAYS = 13;
+ */
+ const ELEVEN_TO_TWELVE_DAYS = 13;
+ /**
+ * Conversion lag bucket from 12 to 13 days. 12 days is included,
+ * 13 days is not.
+ *
+ * Generated from protobuf enum TWELVE_TO_THIRTEEN_DAYS = 14;
+ */
+ const TWELVE_TO_THIRTEEN_DAYS = 14;
+ /**
+ * Conversion lag bucket from 13 to 14 days. 13 days is included,
+ * 14 days is not.
+ *
+ * Generated from protobuf enum THIRTEEN_TO_FOURTEEN_DAYS = 15;
+ */
+ const THIRTEEN_TO_FOURTEEN_DAYS = 15;
+ /**
+ * Conversion lag bucket from 14 to 21 days. 14 days is included,
+ * 21 days is not.
+ *
+ * Generated from protobuf enum FOURTEEN_TO_TWENTY_ONE_DAYS = 16;
+ */
+ const FOURTEEN_TO_TWENTY_ONE_DAYS = 16;
+ /**
+ * Conversion lag bucket from 21 to 30 days. 21 days is included,
+ * 30 days is not.
+ *
+ * Generated from protobuf enum TWENTY_ONE_TO_THIRTY_DAYS = 17;
+ */
+ const TWENTY_ONE_TO_THIRTY_DAYS = 17;
+ /**
+ * Conversion lag bucket from 30 to 45 days. 30 days is included,
+ * 45 days is not.
+ *
+ * Generated from protobuf enum THIRTY_TO_FORTY_FIVE_DAYS = 18;
+ */
+ const THIRTY_TO_FORTY_FIVE_DAYS = 18;
+ /**
+ * Conversion lag bucket from 45 to 60 days. 45 days is included,
+ * 60 days is not.
+ *
+ * Generated from protobuf enum FORTY_FIVE_TO_SIXTY_DAYS = 19;
+ */
+ const FORTY_FIVE_TO_SIXTY_DAYS = 19;
+ /**
+ * Conversion lag bucket from 60 to 90 days. 60 days is included,
+ * 90 days is not.
+ *
+ * Generated from protobuf enum SIXTY_TO_NINETY_DAYS = 20;
+ */
+ const SIXTY_TO_NINETY_DAYS = 20;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LESS_THAN_ONE_DAY => 'LESS_THAN_ONE_DAY',
+ self::ONE_TO_TWO_DAYS => 'ONE_TO_TWO_DAYS',
+ self::TWO_TO_THREE_DAYS => 'TWO_TO_THREE_DAYS',
+ self::THREE_TO_FOUR_DAYS => 'THREE_TO_FOUR_DAYS',
+ self::FOUR_TO_FIVE_DAYS => 'FOUR_TO_FIVE_DAYS',
+ self::FIVE_TO_SIX_DAYS => 'FIVE_TO_SIX_DAYS',
+ self::SIX_TO_SEVEN_DAYS => 'SIX_TO_SEVEN_DAYS',
+ self::SEVEN_TO_EIGHT_DAYS => 'SEVEN_TO_EIGHT_DAYS',
+ self::EIGHT_TO_NINE_DAYS => 'EIGHT_TO_NINE_DAYS',
+ self::NINE_TO_TEN_DAYS => 'NINE_TO_TEN_DAYS',
+ self::TEN_TO_ELEVEN_DAYS => 'TEN_TO_ELEVEN_DAYS',
+ self::ELEVEN_TO_TWELVE_DAYS => 'ELEVEN_TO_TWELVE_DAYS',
+ self::TWELVE_TO_THIRTEEN_DAYS => 'TWELVE_TO_THIRTEEN_DAYS',
+ self::THIRTEEN_TO_FOURTEEN_DAYS => 'THIRTEEN_TO_FOURTEEN_DAYS',
+ self::FOURTEEN_TO_TWENTY_ONE_DAYS => 'FOURTEEN_TO_TWENTY_ONE_DAYS',
+ self::TWENTY_ONE_TO_THIRTY_DAYS => 'TWENTY_ONE_TO_THIRTY_DAYS',
+ self::THIRTY_TO_FORTY_FIVE_DAYS => 'THIRTY_TO_FORTY_FIVE_DAYS',
+ self::FORTY_FIVE_TO_SIXTY_DAYS => 'FORTY_FIVE_TO_SIXTY_DAYS',
+ self::SIXTY_TO_NINETY_DAYS => 'SIXTY_TO_NINETY_DAYS',
+ ];
+
+ 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(ConversionLagBucket::class, \Google\Ads\GoogleAds\V2\Enums\ConversionLagBucketEnum_ConversionLagBucket::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum_ConversionLagBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum_ConversionLagBucket.php
new file mode 100644
index 000000000..9a123d5ad
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionLagBucketEnum_ConversionLagBucket.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ConversionOrAdjustmentLagBucketEnum
+ */
+final class ConversionOrAdjustmentLagBucketEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ConversionOrAdjustmentLagBucket::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum/ConversionOrAdjustmentLagBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum/ConversionOrAdjustmentLagBucket.php
new file mode 100644
index 000000000..e65e3e160
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum/ConversionOrAdjustmentLagBucket.php
@@ -0,0 +1,384 @@
+google.ads.googleads.v2.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket
+ */
+class ConversionOrAdjustmentLagBucket
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not.
+ *
+ * Generated from protobuf enum CONVERSION_LESS_THAN_ONE_DAY = 2;
+ */
+ const CONVERSION_LESS_THAN_ONE_DAY = 2;
+ /**
+ * Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_ONE_TO_TWO_DAYS = 3;
+ */
+ const CONVERSION_ONE_TO_TWO_DAYS = 3;
+ /**
+ * Conversion lag bucket from 2 to 3 days. 2 days is included,
+ * 3 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_TWO_TO_THREE_DAYS = 4;
+ */
+ const CONVERSION_TWO_TO_THREE_DAYS = 4;
+ /**
+ * Conversion lag bucket from 3 to 4 days. 3 days is included,
+ * 4 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_THREE_TO_FOUR_DAYS = 5;
+ */
+ const CONVERSION_THREE_TO_FOUR_DAYS = 5;
+ /**
+ * Conversion lag bucket from 4 to 5 days. 4 days is included,
+ * 5 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_FOUR_TO_FIVE_DAYS = 6;
+ */
+ const CONVERSION_FOUR_TO_FIVE_DAYS = 6;
+ /**
+ * Conversion lag bucket from 5 to 6 days. 5 days is included,
+ * 6 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_FIVE_TO_SIX_DAYS = 7;
+ */
+ const CONVERSION_FIVE_TO_SIX_DAYS = 7;
+ /**
+ * Conversion lag bucket from 6 to 7 days. 6 days is included,
+ * 7 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_SIX_TO_SEVEN_DAYS = 8;
+ */
+ const CONVERSION_SIX_TO_SEVEN_DAYS = 8;
+ /**
+ * Conversion lag bucket from 7 to 8 days. 7 days is included,
+ * 8 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_SEVEN_TO_EIGHT_DAYS = 9;
+ */
+ const CONVERSION_SEVEN_TO_EIGHT_DAYS = 9;
+ /**
+ * Conversion lag bucket from 8 to 9 days. 8 days is included,
+ * 9 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_EIGHT_TO_NINE_DAYS = 10;
+ */
+ const CONVERSION_EIGHT_TO_NINE_DAYS = 10;
+ /**
+ * Conversion lag bucket from 9 to 10 days. 9 days is included,
+ * 10 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_NINE_TO_TEN_DAYS = 11;
+ */
+ const CONVERSION_NINE_TO_TEN_DAYS = 11;
+ /**
+ * Conversion lag bucket from 10 to 11 days. 10 days is included,
+ * 11 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_TEN_TO_ELEVEN_DAYS = 12;
+ */
+ const CONVERSION_TEN_TO_ELEVEN_DAYS = 12;
+ /**
+ * Conversion lag bucket from 11 to 12 days. 11 days is included,
+ * 12 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13;
+ */
+ const CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13;
+ /**
+ * Conversion lag bucket from 12 to 13 days. 12 days is included,
+ * 13 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14;
+ */
+ const CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14;
+ /**
+ * Conversion lag bucket from 13 to 14 days. 13 days is included,
+ * 14 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15;
+ */
+ const CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15;
+ /**
+ * Conversion lag bucket from 14 to 21 days. 14 days is included,
+ * 21 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16;
+ */
+ const CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16;
+ /**
+ * Conversion lag bucket from 21 to 30 days. 21 days is included,
+ * 30 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17;
+ */
+ const CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17;
+ /**
+ * Conversion lag bucket from 30 to 45 days. 30 days is included,
+ * 45 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18;
+ */
+ const CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18;
+ /**
+ * Conversion lag bucket from 45 to 60 days. 45 days is included,
+ * 60 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19;
+ */
+ const CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19;
+ /**
+ * Conversion lag bucket from 60 to 90 days. 60 days is included,
+ * 90 days is not.
+ *
+ * Generated from protobuf enum CONVERSION_SIXTY_TO_NINETY_DAYS = 20;
+ */
+ const CONVERSION_SIXTY_TO_NINETY_DAYS = 20;
+ /**
+ * Conversion adjustment lag bucket from 0 to 1 day. 0 day is included,
+ * 1 day is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_LESS_THAN_ONE_DAY = 21;
+ */
+ const ADJUSTMENT_LESS_THAN_ONE_DAY = 21;
+ /**
+ * Conversion adjustment lag bucket from 1 to 2 days. 1 day is included,
+ * 2 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_ONE_TO_TWO_DAYS = 22;
+ */
+ const ADJUSTMENT_ONE_TO_TWO_DAYS = 22;
+ /**
+ * Conversion adjustment lag bucket from 2 to 3 days. 2 days is included,
+ * 3 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_TWO_TO_THREE_DAYS = 23;
+ */
+ const ADJUSTMENT_TWO_TO_THREE_DAYS = 23;
+ /**
+ * Conversion adjustment lag bucket from 3 to 4 days. 3 days is included,
+ * 4 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_THREE_TO_FOUR_DAYS = 24;
+ */
+ const ADJUSTMENT_THREE_TO_FOUR_DAYS = 24;
+ /**
+ * Conversion adjustment lag bucket from 4 to 5 days. 4 days is included,
+ * 5 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25;
+ */
+ const ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25;
+ /**
+ * Conversion adjustment lag bucket from 5 to 6 days. 5 days is included,
+ * 6 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_FIVE_TO_SIX_DAYS = 26;
+ */
+ const ADJUSTMENT_FIVE_TO_SIX_DAYS = 26;
+ /**
+ * Conversion adjustment lag bucket from 6 to 7 days. 6 days is included,
+ * 7 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27;
+ */
+ const ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27;
+ /**
+ * Conversion adjustment lag bucket from 7 to 8 days. 7 days is included,
+ * 8 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28;
+ */
+ const ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28;
+ /**
+ * Conversion adjustment lag bucket from 8 to 9 days. 8 days is included,
+ * 9 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29;
+ */
+ const ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29;
+ /**
+ * Conversion adjustment lag bucket from 9 to 10 days. 9 days is included,
+ * 10 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_NINE_TO_TEN_DAYS = 30;
+ */
+ const ADJUSTMENT_NINE_TO_TEN_DAYS = 30;
+ /**
+ * Conversion adjustment lag bucket from 10 to 11 days. 10 days is included,
+ * 11 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31;
+ */
+ const ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31;
+ /**
+ * Conversion adjustment lag bucket from 11 to 12 days. 11 days is included,
+ * 12 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32;
+ */
+ const ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32;
+ /**
+ * Conversion adjustment lag bucket from 12 to 13 days. 12 days is included,
+ * 13 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33;
+ */
+ const ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33;
+ /**
+ * Conversion adjustment lag bucket from 13 to 14 days. 13 days is included,
+ * 14 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34;
+ */
+ const ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34;
+ /**
+ * Conversion adjustment lag bucket from 14 to 21 days. 14 days is included,
+ * 21 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35;
+ */
+ const ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35;
+ /**
+ * Conversion adjustment lag bucket from 21 to 30 days. 21 days is included,
+ * 30 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36;
+ */
+ const ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36;
+ /**
+ * Conversion adjustment lag bucket from 30 to 45 days. 30 days is included,
+ * 45 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37;
+ */
+ const ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37;
+ /**
+ * Conversion adjustment lag bucket from 45 to 60 days. 45 days is included,
+ * 60 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38;
+ */
+ const ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38;
+ /**
+ * Conversion adjustment lag bucket from 60 to 90 days. 60 days is included,
+ * 90 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39;
+ */
+ const ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39;
+ /**
+ * Conversion adjustment lag bucket from 90 to 145 days. 90 days is
+ * included, 145 days is not.
+ *
+ * Generated from protobuf enum ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40;
+ */
+ const ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40;
+ /**
+ * Conversion lag bucket UNKNOWN. This is for dates before conversion lag
+ * bucket was available in Google Ads.
+ *
+ * Generated from protobuf enum CONVERSION_UNKNOWN = 41;
+ */
+ const CONVERSION_UNKNOWN = 41;
+ /**
+ * Conversion adjustment lag bucket UNKNOWN. This is for dates before
+ * conversion adjustment lag bucket was available in Google Ads.
+ *
+ * Generated from protobuf enum ADJUSTMENT_UNKNOWN = 42;
+ */
+ const ADJUSTMENT_UNKNOWN = 42;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CONVERSION_LESS_THAN_ONE_DAY => 'CONVERSION_LESS_THAN_ONE_DAY',
+ self::CONVERSION_ONE_TO_TWO_DAYS => 'CONVERSION_ONE_TO_TWO_DAYS',
+ self::CONVERSION_TWO_TO_THREE_DAYS => 'CONVERSION_TWO_TO_THREE_DAYS',
+ self::CONVERSION_THREE_TO_FOUR_DAYS => 'CONVERSION_THREE_TO_FOUR_DAYS',
+ self::CONVERSION_FOUR_TO_FIVE_DAYS => 'CONVERSION_FOUR_TO_FIVE_DAYS',
+ self::CONVERSION_FIVE_TO_SIX_DAYS => 'CONVERSION_FIVE_TO_SIX_DAYS',
+ self::CONVERSION_SIX_TO_SEVEN_DAYS => 'CONVERSION_SIX_TO_SEVEN_DAYS',
+ self::CONVERSION_SEVEN_TO_EIGHT_DAYS => 'CONVERSION_SEVEN_TO_EIGHT_DAYS',
+ self::CONVERSION_EIGHT_TO_NINE_DAYS => 'CONVERSION_EIGHT_TO_NINE_DAYS',
+ self::CONVERSION_NINE_TO_TEN_DAYS => 'CONVERSION_NINE_TO_TEN_DAYS',
+ self::CONVERSION_TEN_TO_ELEVEN_DAYS => 'CONVERSION_TEN_TO_ELEVEN_DAYS',
+ self::CONVERSION_ELEVEN_TO_TWELVE_DAYS => 'CONVERSION_ELEVEN_TO_TWELVE_DAYS',
+ self::CONVERSION_TWELVE_TO_THIRTEEN_DAYS => 'CONVERSION_TWELVE_TO_THIRTEEN_DAYS',
+ self::CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS => 'CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS',
+ self::CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS => 'CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS',
+ self::CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS => 'CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS',
+ self::CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS => 'CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS',
+ self::CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS => 'CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS',
+ self::CONVERSION_SIXTY_TO_NINETY_DAYS => 'CONVERSION_SIXTY_TO_NINETY_DAYS',
+ self::ADJUSTMENT_LESS_THAN_ONE_DAY => 'ADJUSTMENT_LESS_THAN_ONE_DAY',
+ self::ADJUSTMENT_ONE_TO_TWO_DAYS => 'ADJUSTMENT_ONE_TO_TWO_DAYS',
+ self::ADJUSTMENT_TWO_TO_THREE_DAYS => 'ADJUSTMENT_TWO_TO_THREE_DAYS',
+ self::ADJUSTMENT_THREE_TO_FOUR_DAYS => 'ADJUSTMENT_THREE_TO_FOUR_DAYS',
+ self::ADJUSTMENT_FOUR_TO_FIVE_DAYS => 'ADJUSTMENT_FOUR_TO_FIVE_DAYS',
+ self::ADJUSTMENT_FIVE_TO_SIX_DAYS => 'ADJUSTMENT_FIVE_TO_SIX_DAYS',
+ self::ADJUSTMENT_SIX_TO_SEVEN_DAYS => 'ADJUSTMENT_SIX_TO_SEVEN_DAYS',
+ self::ADJUSTMENT_SEVEN_TO_EIGHT_DAYS => 'ADJUSTMENT_SEVEN_TO_EIGHT_DAYS',
+ self::ADJUSTMENT_EIGHT_TO_NINE_DAYS => 'ADJUSTMENT_EIGHT_TO_NINE_DAYS',
+ self::ADJUSTMENT_NINE_TO_TEN_DAYS => 'ADJUSTMENT_NINE_TO_TEN_DAYS',
+ self::ADJUSTMENT_TEN_TO_ELEVEN_DAYS => 'ADJUSTMENT_TEN_TO_ELEVEN_DAYS',
+ self::ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS => 'ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS',
+ self::ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS => 'ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS',
+ self::ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS => 'ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS',
+ self::ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS => 'ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS',
+ self::ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS => 'ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS',
+ self::ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS => 'ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS',
+ self::ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS => 'ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS',
+ self::ADJUSTMENT_SIXTY_TO_NINETY_DAYS => 'ADJUSTMENT_SIXTY_TO_NINETY_DAYS',
+ self::ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS => 'ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS',
+ self::CONVERSION_UNKNOWN => 'CONVERSION_UNKNOWN',
+ self::ADJUSTMENT_UNKNOWN => 'ADJUSTMENT_UNKNOWN',
+ ];
+
+ 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(ConversionOrAdjustmentLagBucket::class, \Google\Ads\GoogleAds\V2\Enums\ConversionOrAdjustmentLagBucketEnum_ConversionOrAdjustmentLagBucket::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum_ConversionOrAdjustmentLagBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum_ConversionOrAdjustmentLagBucket.php
new file mode 100644
index 000000000..109702ba4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ConversionOrAdjustmentLagBucketEnum_ConversionOrAdjustmentLagBucket.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CriterionCategoryChannelAvailabilityModeEnum
+ */
+final class CriterionCategoryChannelAvailabilityModeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CriterionCategoryChannelAvailabilityMode::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum/CriterionCategoryChannelAvailabilityMode.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum/CriterionCategoryChannelAvailabilityMode.php
new file mode 100644
index 000000000..5b8615f29
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum/CriterionCategoryChannelAvailabilityMode.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode
+ */
+class CriterionCategoryChannelAvailabilityMode
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The category is available to campaigns of all channel types and subtypes.
+ *
+ * Generated from protobuf enum ALL_CHANNELS = 2;
+ */
+ const ALL_CHANNELS = 2;
+ /**
+ * The category is available to campaigns of a specific channel type,
+ * including all subtypes under it.
+ *
+ * Generated from protobuf enum CHANNEL_TYPE_AND_ALL_SUBTYPES = 3;
+ */
+ const CHANNEL_TYPE_AND_ALL_SUBTYPES = 3;
+ /**
+ * The category is available to campaigns of a specific channel type and
+ * subtype(s).
+ *
+ * Generated from protobuf enum CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4;
+ */
+ const CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ALL_CHANNELS => 'ALL_CHANNELS',
+ self::CHANNEL_TYPE_AND_ALL_SUBTYPES => 'CHANNEL_TYPE_AND_ALL_SUBTYPES',
+ self::CHANNEL_TYPE_AND_SUBSET_SUBTYPES => 'CHANNEL_TYPE_AND_SUBSET_SUBTYPES',
+ ];
+
+ 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(CriterionCategoryChannelAvailabilityMode::class, \Google\Ads\GoogleAds\V2\Enums\CriterionCategoryChannelAvailabilityModeEnum_CriterionCategoryChannelAvailabilityMode::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum_CriterionCategoryChannelAvailabilityMode.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum_CriterionCategoryChannelAvailabilityMode.php
new file mode 100644
index 000000000..dcb277205
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryChannelAvailabilityModeEnum_CriterionCategoryChannelAvailabilityMode.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CriterionCategoryLocaleAvailabilityModeEnum
+ */
+final class CriterionCategoryLocaleAvailabilityModeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CriterionCategoryLocaleAvailabilityMode::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum/CriterionCategoryLocaleAvailabilityMode.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum/CriterionCategoryLocaleAvailabilityMode.php
new file mode 100644
index 000000000..00a3bd94f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum/CriterionCategoryLocaleAvailabilityMode.php
@@ -0,0 +1,88 @@
+google.ads.googleads.v2.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode
+ */
+class CriterionCategoryLocaleAvailabilityMode
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The category is available to campaigns of all locales.
+ *
+ * Generated from protobuf enum ALL_LOCALES = 2;
+ */
+ const ALL_LOCALES = 2;
+ /**
+ * The category is available to campaigns within a list of countries,
+ * regardless of language.
+ *
+ * Generated from protobuf enum COUNTRY_AND_ALL_LANGUAGES = 3;
+ */
+ const COUNTRY_AND_ALL_LANGUAGES = 3;
+ /**
+ * The category is available to campaigns within a list of languages,
+ * regardless of country.
+ *
+ * Generated from protobuf enum LANGUAGE_AND_ALL_COUNTRIES = 4;
+ */
+ const LANGUAGE_AND_ALL_COUNTRIES = 4;
+ /**
+ * The category is available to campaigns within a list of country, language
+ * pairs.
+ *
+ * Generated from protobuf enum COUNTRY_AND_LANGUAGE = 5;
+ */
+ const COUNTRY_AND_LANGUAGE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ALL_LOCALES => 'ALL_LOCALES',
+ self::COUNTRY_AND_ALL_LANGUAGES => 'COUNTRY_AND_ALL_LANGUAGES',
+ self::LANGUAGE_AND_ALL_COUNTRIES => 'LANGUAGE_AND_ALL_COUNTRIES',
+ self::COUNTRY_AND_LANGUAGE => 'COUNTRY_AND_LANGUAGE',
+ ];
+
+ 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(CriterionCategoryLocaleAvailabilityMode::class, \Google\Ads\GoogleAds\V2\Enums\CriterionCategoryLocaleAvailabilityModeEnum_CriterionCategoryLocaleAvailabilityMode::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum_CriterionCategoryLocaleAvailabilityMode.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum_CriterionCategoryLocaleAvailabilityMode.php
new file mode 100644
index 000000000..04f1033e5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionCategoryLocaleAvailabilityModeEnum_CriterionCategoryLocaleAvailabilityMode.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CriterionSystemServingStatusEnum
+ */
+final class CriterionSystemServingStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CriterionSystemServingStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum/CriterionSystemServingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum/CriterionSystemServingStatus.php
new file mode 100644
index 000000000..7d3c1d505
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum/CriterionSystemServingStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus
+ */
+class CriterionSystemServingStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Eligible.
+ *
+ * Generated from protobuf enum ELIGIBLE = 2;
+ */
+ const ELIGIBLE = 2;
+ /**
+ * Low search volume.
+ *
+ * Generated from protobuf enum RARELY_SERVED = 3;
+ */
+ const RARELY_SERVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ELIGIBLE => 'ELIGIBLE',
+ self::RARELY_SERVED => 'RARELY_SERVED',
+ ];
+
+ 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(CriterionSystemServingStatus::class, \Google\Ads\GoogleAds\V2\Enums\CriterionSystemServingStatusEnum_CriterionSystemServingStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum_CriterionSystemServingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum_CriterionSystemServingStatus.php
new file mode 100644
index 000000000..c814588da
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionSystemServingStatusEnum_CriterionSystemServingStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CriterionTypeEnum
+ */
+final class CriterionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CriterionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum/CriterionType.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum/CriterionType.php
new file mode 100644
index 000000000..541a26b3d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum/CriterionType.php
@@ -0,0 +1,267 @@
+google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType
+ */
+class CriterionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Keyword. e.g. 'mars cruise'.
+ *
+ * Generated from protobuf enum KEYWORD = 2;
+ */
+ const KEYWORD = 2;
+ /**
+ * Placement, aka Website. e.g. 'www.flowers4sale.com'
+ *
+ * Generated from protobuf enum PLACEMENT = 3;
+ */
+ const PLACEMENT = 3;
+ /**
+ * Mobile application categories to target.
+ *
+ * Generated from protobuf enum MOBILE_APP_CATEGORY = 4;
+ */
+ const MOBILE_APP_CATEGORY = 4;
+ /**
+ * Mobile applications to target.
+ *
+ * Generated from protobuf enum MOBILE_APPLICATION = 5;
+ */
+ const MOBILE_APPLICATION = 5;
+ /**
+ * Devices to target.
+ *
+ * Generated from protobuf enum DEVICE = 6;
+ */
+ const DEVICE = 6;
+ /**
+ * Locations to target.
+ *
+ * Generated from protobuf enum LOCATION = 7;
+ */
+ const LOCATION = 7;
+ /**
+ * Listing groups to target.
+ *
+ * Generated from protobuf enum LISTING_GROUP = 8;
+ */
+ const LISTING_GROUP = 8;
+ /**
+ * Ad Schedule.
+ *
+ * Generated from protobuf enum AD_SCHEDULE = 9;
+ */
+ const AD_SCHEDULE = 9;
+ /**
+ * Age range.
+ *
+ * Generated from protobuf enum AGE_RANGE = 10;
+ */
+ const AGE_RANGE = 10;
+ /**
+ * Gender.
+ *
+ * Generated from protobuf enum GENDER = 11;
+ */
+ const GENDER = 11;
+ /**
+ * Income Range.
+ *
+ * Generated from protobuf enum INCOME_RANGE = 12;
+ */
+ const INCOME_RANGE = 12;
+ /**
+ * Parental status.
+ *
+ * Generated from protobuf enum PARENTAL_STATUS = 13;
+ */
+ const PARENTAL_STATUS = 13;
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf enum YOUTUBE_VIDEO = 14;
+ */
+ const YOUTUBE_VIDEO = 14;
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf enum YOUTUBE_CHANNEL = 15;
+ */
+ const YOUTUBE_CHANNEL = 15;
+ /**
+ * User list.
+ *
+ * Generated from protobuf enum USER_LIST = 16;
+ */
+ const USER_LIST = 16;
+ /**
+ * Proximity.
+ *
+ * Generated from protobuf enum PROXIMITY = 17;
+ */
+ const PROXIMITY = 17;
+ /**
+ * A topic target on the display network (e.g. "Pets & Animals").
+ *
+ * Generated from protobuf enum TOPIC = 18;
+ */
+ const TOPIC = 18;
+ /**
+ * Listing scope to target.
+ *
+ * Generated from protobuf enum LISTING_SCOPE = 19;
+ */
+ const LISTING_SCOPE = 19;
+ /**
+ * Language.
+ *
+ * Generated from protobuf enum LANGUAGE = 20;
+ */
+ const LANGUAGE = 20;
+ /**
+ * IpBlock.
+ *
+ * Generated from protobuf enum IP_BLOCK = 21;
+ */
+ const IP_BLOCK = 21;
+ /**
+ * Content Label for category exclusion.
+ *
+ * Generated from protobuf enum CONTENT_LABEL = 22;
+ */
+ const CONTENT_LABEL = 22;
+ /**
+ * Carrier.
+ *
+ * Generated from protobuf enum CARRIER = 23;
+ */
+ const CARRIER = 23;
+ /**
+ * A category the user is interested in.
+ *
+ * Generated from protobuf enum USER_INTEREST = 24;
+ */
+ const USER_INTEREST = 24;
+ /**
+ * Webpage criterion for dynamic search ads.
+ *
+ * Generated from protobuf enum WEBPAGE = 25;
+ */
+ const WEBPAGE = 25;
+ /**
+ * Operating system version.
+ *
+ * Generated from protobuf enum OPERATING_SYSTEM_VERSION = 26;
+ */
+ const OPERATING_SYSTEM_VERSION = 26;
+ /**
+ * App payment model.
+ *
+ * Generated from protobuf enum APP_PAYMENT_MODEL = 27;
+ */
+ const APP_PAYMENT_MODEL = 27;
+ /**
+ * Mobile device.
+ *
+ * Generated from protobuf enum MOBILE_DEVICE = 28;
+ */
+ const MOBILE_DEVICE = 28;
+ /**
+ * Custom affinity.
+ *
+ * Generated from protobuf enum CUSTOM_AFFINITY = 29;
+ */
+ const CUSTOM_AFFINITY = 29;
+ /**
+ * Custom intent.
+ *
+ * Generated from protobuf enum CUSTOM_INTENT = 30;
+ */
+ const CUSTOM_INTENT = 30;
+ /**
+ * Location group.
+ *
+ * Generated from protobuf enum LOCATION_GROUP = 31;
+ */
+ const LOCATION_GROUP = 31;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::KEYWORD => 'KEYWORD',
+ self::PLACEMENT => 'PLACEMENT',
+ self::MOBILE_APP_CATEGORY => 'MOBILE_APP_CATEGORY',
+ self::MOBILE_APPLICATION => 'MOBILE_APPLICATION',
+ self::DEVICE => 'DEVICE',
+ self::LOCATION => 'LOCATION',
+ self::LISTING_GROUP => 'LISTING_GROUP',
+ self::AD_SCHEDULE => 'AD_SCHEDULE',
+ self::AGE_RANGE => 'AGE_RANGE',
+ self::GENDER => 'GENDER',
+ self::INCOME_RANGE => 'INCOME_RANGE',
+ self::PARENTAL_STATUS => 'PARENTAL_STATUS',
+ self::YOUTUBE_VIDEO => 'YOUTUBE_VIDEO',
+ self::YOUTUBE_CHANNEL => 'YOUTUBE_CHANNEL',
+ self::USER_LIST => 'USER_LIST',
+ self::PROXIMITY => 'PROXIMITY',
+ self::TOPIC => 'TOPIC',
+ self::LISTING_SCOPE => 'LISTING_SCOPE',
+ self::LANGUAGE => 'LANGUAGE',
+ self::IP_BLOCK => 'IP_BLOCK',
+ self::CONTENT_LABEL => 'CONTENT_LABEL',
+ self::CARRIER => 'CARRIER',
+ self::USER_INTEREST => 'USER_INTEREST',
+ self::WEBPAGE => 'WEBPAGE',
+ self::OPERATING_SYSTEM_VERSION => 'OPERATING_SYSTEM_VERSION',
+ self::APP_PAYMENT_MODEL => 'APP_PAYMENT_MODEL',
+ self::MOBILE_DEVICE => 'MOBILE_DEVICE',
+ self::CUSTOM_AFFINITY => 'CUSTOM_AFFINITY',
+ self::CUSTOM_INTENT => 'CUSTOM_INTENT',
+ self::LOCATION_GROUP => 'LOCATION_GROUP',
+ ];
+
+ 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(CriterionType::class, \Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum_CriterionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum_CriterionType.php b/src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum_CriterionType.php
new file mode 100644
index 000000000..1d9b95474
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CriterionTypeEnum_CriterionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CustomInterestMemberTypeEnum
+ */
+final class CustomInterestMemberTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CustomInterestMemberType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum/CustomInterestMemberType.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum/CustomInterestMemberType.php
new file mode 100644
index 000000000..0cbf610f4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum/CustomInterestMemberType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType
+ */
+class CustomInterestMemberType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Custom interest member type KEYWORD.
+ *
+ * Generated from protobuf enum KEYWORD = 2;
+ */
+ const KEYWORD = 2;
+ /**
+ * Custom interest member type URL.
+ *
+ * Generated from protobuf enum URL = 3;
+ */
+ const URL = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::KEYWORD => 'KEYWORD',
+ self::URL => 'URL',
+ ];
+
+ 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(CustomInterestMemberType::class, \Google\Ads\GoogleAds\V2\Enums\CustomInterestMemberTypeEnum_CustomInterestMemberType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum_CustomInterestMemberType.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum_CustomInterestMemberType.php
new file mode 100644
index 000000000..006637537
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestMemberTypeEnum_CustomInterestMemberType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CustomInterestStatusEnum
+ */
+final class CustomInterestStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CustomInterestStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum/CustomInterestStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum/CustomInterestStatus.php
new file mode 100644
index 000000000..2299418bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum/CustomInterestStatus.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.CustomInterestStatusEnum.CustomInterestStatus
+ */
+class CustomInterestStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Enabled status - custom interest is enabled and can be targeted to.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Removed status - custom interest is removed and cannot be used for
+ * targeting.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(CustomInterestStatus::class, \Google\Ads\GoogleAds\V2\Enums\CustomInterestStatusEnum_CustomInterestStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum_CustomInterestStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum_CustomInterestStatus.php
new file mode 100644
index 000000000..f673f3599
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestStatusEnum_CustomInterestStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CustomInterestTypeEnum
+ */
+final class CustomInterestTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CustomInterestType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum/CustomInterestType.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum/CustomInterestType.php
new file mode 100644
index 000000000..cbe9de7c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum/CustomInterestType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.CustomInterestTypeEnum.CustomInterestType
+ */
+class CustomInterestType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Allows brand advertisers to define custom affinity audience lists.
+ *
+ * Generated from protobuf enum CUSTOM_AFFINITY = 2;
+ */
+ const CUSTOM_AFFINITY = 2;
+ /**
+ * Allows advertisers to define custom intent audience lists.
+ *
+ * Generated from protobuf enum CUSTOM_INTENT = 3;
+ */
+ const CUSTOM_INTENT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CUSTOM_AFFINITY => 'CUSTOM_AFFINITY',
+ self::CUSTOM_INTENT => 'CUSTOM_INTENT',
+ ];
+
+ 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(CustomInterestType::class, \Google\Ads\GoogleAds\V2\Enums\CustomInterestTypeEnum_CustomInterestType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum_CustomInterestType.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum_CustomInterestType.php
new file mode 100644
index 000000000..8e57a4f64
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomInterestTypeEnum_CustomInterestType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CustomPlaceholderFieldEnum
+ */
+final class CustomPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CustomPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum/CustomPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum/CustomPlaceholderField.php
new file mode 100644
index 000000000..442c5a259
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum/CustomPlaceholderField.php
@@ -0,0 +1,220 @@
+google.ads.googleads.v2.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField
+ */
+class CustomPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. Combination ID and ID2 must be unique per
+ * offer.
+ *
+ * Generated from protobuf enum ID = 2;
+ */
+ const ID = 2;
+ /**
+ * Data Type: STRING. Combination ID and ID2 must be unique per offer.
+ *
+ * Generated from protobuf enum ID2 = 3;
+ */
+ const ID2 = 3;
+ /**
+ * Data Type: STRING. Required. Main headline with product name to be shown
+ * in dynamic ad.
+ *
+ * Generated from protobuf enum ITEM_TITLE = 4;
+ */
+ const ITEM_TITLE = 4;
+ /**
+ * Data Type: STRING. Optional text to be shown in the image ad.
+ *
+ * Generated from protobuf enum ITEM_SUBTITLE = 5;
+ */
+ const ITEM_SUBTITLE = 5;
+ /**
+ * Data Type: STRING. Optional description of the product to be shown in the
+ * ad.
+ *
+ * Generated from protobuf enum ITEM_DESCRIPTION = 6;
+ */
+ const ITEM_DESCRIPTION = 6;
+ /**
+ * Data Type: STRING. Full address of your offer or service, including
+ * postal code. This will be used to identify the closest product to the
+ * user when there are multiple offers in the feed that are relevant to the
+ * user.
+ *
+ * Generated from protobuf enum ITEM_ADDRESS = 7;
+ */
+ const ITEM_ADDRESS = 7;
+ /**
+ * Data Type: STRING. Price to be shown in the ad.
+ * Example: "100.00 USD"
+ *
+ * Generated from protobuf enum PRICE = 8;
+ */
+ const PRICE = 8;
+ /**
+ * Data Type: STRING. Formatted price to be shown in the ad.
+ * Example: "Starting at $100.00 USD", "$80 - $100"
+ *
+ * Generated from protobuf enum FORMATTED_PRICE = 9;
+ */
+ const FORMATTED_PRICE = 9;
+ /**
+ * Data Type: STRING. Sale price to be shown in the ad.
+ * Example: "80.00 USD"
+ *
+ * Generated from protobuf enum SALE_PRICE = 10;
+ */
+ const SALE_PRICE = 10;
+ /**
+ * Data Type: STRING. Formatted sale price to be shown in the ad.
+ * Example: "On sale for $80.00", "$60 - $80"
+ *
+ * Generated from protobuf enum FORMATTED_SALE_PRICE = 11;
+ */
+ const FORMATTED_SALE_PRICE = 11;
+ /**
+ * Data Type: URL. Image to be displayed in the ad. Highly recommended for
+ * image ads.
+ *
+ * Generated from protobuf enum IMAGE_URL = 12;
+ */
+ const IMAGE_URL = 12;
+ /**
+ * Data Type: STRING. Used as a recommendation engine signal to serve items
+ * in the same category.
+ *
+ * Generated from protobuf enum ITEM_CATEGORY = 13;
+ */
+ const ITEM_CATEGORY = 13;
+ /**
+ * Data Type: URL_LIST. Final URLs for the ad when using Upgraded
+ * URLs. User will be redirected to these URLs when they click on an ad, or
+ * when they click on a specific product for ads that have multiple
+ * products.
+ *
+ * Generated from protobuf enum FINAL_URLS = 14;
+ */
+ const FINAL_URLS = 14;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 15;
+ */
+ const FINAL_MOBILE_URLS = 15;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 16;
+ */
+ const TRACKING_URL = 16;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 17;
+ */
+ const CONTEXTUAL_KEYWORDS = 17;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 18;
+ */
+ const ANDROID_APP_LINK = 18;
+ /**
+ * Data Type: STRING_LIST. List of recommended IDs to show together with
+ * this item.
+ *
+ * Generated from protobuf enum SIMILAR_IDS = 19;
+ */
+ const SIMILAR_IDS = 19;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 20;
+ */
+ const IOS_APP_LINK = 20;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 21;
+ */
+ const IOS_APP_STORE_ID = 21;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ID => 'ID',
+ self::ID2 => 'ID2',
+ self::ITEM_TITLE => 'ITEM_TITLE',
+ self::ITEM_SUBTITLE => 'ITEM_SUBTITLE',
+ self::ITEM_DESCRIPTION => 'ITEM_DESCRIPTION',
+ self::ITEM_ADDRESS => 'ITEM_ADDRESS',
+ self::PRICE => 'PRICE',
+ self::FORMATTED_PRICE => 'FORMATTED_PRICE',
+ self::SALE_PRICE => 'SALE_PRICE',
+ self::FORMATTED_SALE_PRICE => 'FORMATTED_SALE_PRICE',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::ITEM_CATEGORY => 'ITEM_CATEGORY',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_IDS => 'SIMILAR_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(CustomPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\CustomPlaceholderFieldEnum_CustomPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum_CustomPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum_CustomPlaceholderField.php
new file mode 100644
index 000000000..5505b6604
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomPlaceholderFieldEnum_CustomPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CustomerMatchUploadKeyTypeEnum
+ */
+final class CustomerMatchUploadKeyTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CustomerMatchUploadKeyType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum/CustomerMatchUploadKeyType.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum/CustomerMatchUploadKeyType.php
new file mode 100644
index 000000000..b18e434f8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum/CustomerMatchUploadKeyType.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType
+ */
+class CustomerMatchUploadKeyType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Members are matched from customer info such as email address, phone
+ * number or physical address.
+ *
+ * Generated from protobuf enum CONTACT_INFO = 2;
+ */
+ const CONTACT_INFO = 2;
+ /**
+ * Members are matched from a user id generated and assigned by the
+ * advertiser.
+ *
+ * Generated from protobuf enum CRM_ID = 3;
+ */
+ const CRM_ID = 3;
+ /**
+ * Members are matched from mobile advertising ids.
+ *
+ * Generated from protobuf enum MOBILE_ADVERTISING_ID = 4;
+ */
+ const MOBILE_ADVERTISING_ID = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CONTACT_INFO => 'CONTACT_INFO',
+ self::CRM_ID => 'CRM_ID',
+ self::MOBILE_ADVERTISING_ID => 'MOBILE_ADVERTISING_ID',
+ ];
+
+ 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(CustomerMatchUploadKeyType::class, \Google\Ads\GoogleAds\V2\Enums\CustomerMatchUploadKeyTypeEnum_CustomerMatchUploadKeyType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum_CustomerMatchUploadKeyType.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum_CustomerMatchUploadKeyType.php
new file mode 100644
index 000000000..737329711
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomerMatchUploadKeyTypeEnum_CustomerMatchUploadKeyType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.CustomerPayPerConversionEligibilityFailureReasonEnum
+ */
+final class CustomerPayPerConversionEligibilityFailureReasonEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\CustomerPayPerConversionEligibilityFailureReason::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum/CustomerPayPerConversionEligibilityFailureReason.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum/CustomerPayPerConversionEligibilityFailureReason.php
new file mode 100644
index 000000000..295a426e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum/CustomerPayPerConversionEligibilityFailureReason.php
@@ -0,0 +1,108 @@
+google.ads.googleads.v2.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason
+ */
+class CustomerPayPerConversionEligibilityFailureReason
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Customer does not have enough conversions.
+ *
+ * Generated from protobuf enum NOT_ENOUGH_CONVERSIONS = 2;
+ */
+ const NOT_ENOUGH_CONVERSIONS = 2;
+ /**
+ * Customer's conversion lag is too high.
+ *
+ * Generated from protobuf enum CONVERSION_LAG_TOO_HIGH = 3;
+ */
+ const CONVERSION_LAG_TOO_HIGH = 3;
+ /**
+ * Customer uses shared budgets.
+ *
+ * Generated from protobuf enum HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4;
+ */
+ const HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4;
+ /**
+ * Customer has conversions with ConversionActionType.UPLOAD_CLICKS.
+ *
+ * Generated from protobuf enum HAS_UPLOAD_CLICKS_CONVERSION = 5;
+ */
+ const HAS_UPLOAD_CLICKS_CONVERSION = 5;
+ /**
+ * Customer's average daily spend is too high.
+ *
+ * Generated from protobuf enum AVERAGE_DAILY_SPEND_TOO_HIGH = 6;
+ */
+ const AVERAGE_DAILY_SPEND_TOO_HIGH = 6;
+ /**
+ * Customer's eligibility has not yet been calculated by the Google Ads
+ * backend. Check back soon.
+ *
+ * Generated from protobuf enum ANALYSIS_NOT_COMPLETE = 7;
+ */
+ const ANALYSIS_NOT_COMPLETE = 7;
+ /**
+ * Customer is not eligible due to other reasons.
+ *
+ * Generated from protobuf enum OTHER = 8;
+ */
+ const OTHER = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NOT_ENOUGH_CONVERSIONS => 'NOT_ENOUGH_CONVERSIONS',
+ self::CONVERSION_LAG_TOO_HIGH => 'CONVERSION_LAG_TOO_HIGH',
+ self::HAS_CAMPAIGN_WITH_SHARED_BUDGET => 'HAS_CAMPAIGN_WITH_SHARED_BUDGET',
+ self::HAS_UPLOAD_CLICKS_CONVERSION => 'HAS_UPLOAD_CLICKS_CONVERSION',
+ self::AVERAGE_DAILY_SPEND_TOO_HIGH => 'AVERAGE_DAILY_SPEND_TOO_HIGH',
+ self::ANALYSIS_NOT_COMPLETE => 'ANALYSIS_NOT_COMPLETE',
+ self::OTHER => 'OTHER',
+ ];
+
+ 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(CustomerPayPerConversionEligibilityFailureReason::class, \Google\Ads\GoogleAds\V2\Enums\CustomerPayPerConversionEligibilityFailureReasonEnum_CustomerPayPerConversionEligibilityFailureReason::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum_CustomerPayPerConversionEligibilityFailureReason.php b/src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum_CustomerPayPerConversionEligibilityFailureReason.php
new file mode 100644
index 000000000..0bbc885b9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/CustomerPayPerConversionEligibilityFailureReasonEnum_CustomerPayPerConversionEligibilityFailureReason.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DataDrivenModelStatusEnum
+ */
+final class DataDrivenModelStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\DataDrivenModelStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum/DataDrivenModelStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum/DataDrivenModelStatus.php
new file mode 100644
index 000000000..8f1ef5912
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum/DataDrivenModelStatus.php
@@ -0,0 +1,91 @@
+google.ads.googleads.v2.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus
+ */
+class DataDrivenModelStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The data driven model is available.
+ *
+ * Generated from protobuf enum AVAILABLE = 2;
+ */
+ const AVAILABLE = 2;
+ /**
+ * The data driven model is stale. It hasn't been updated for at least 7
+ * days. It is still being used, but will become expired if it does not get
+ * updated for 30 days.
+ *
+ * Generated from protobuf enum STALE = 3;
+ */
+ const STALE = 3;
+ /**
+ * The data driven model expired. It hasn't been updated for at least 30
+ * days and cannot be used. Most commonly this is because there hasn't been
+ * the required number of events in a recent 30-day period.
+ *
+ * Generated from protobuf enum EXPIRED = 4;
+ */
+ const EXPIRED = 4;
+ /**
+ * The data driven model has never been generated. Most commonly this is
+ * because there has never been the required number of events in any 30-day
+ * period.
+ *
+ * Generated from protobuf enum NEVER_GENERATED = 5;
+ */
+ const NEVER_GENERATED = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AVAILABLE => 'AVAILABLE',
+ self::STALE => 'STALE',
+ self::EXPIRED => 'EXPIRED',
+ self::NEVER_GENERATED => 'NEVER_GENERATED',
+ ];
+
+ 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(DataDrivenModelStatus::class, \Google\Ads\GoogleAds\V2\Enums\DataDrivenModelStatusEnum_DataDrivenModelStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum_DataDrivenModelStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum_DataDrivenModelStatus.php
new file mode 100644
index 000000000..ee1478185
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DataDrivenModelStatusEnum_DataDrivenModelStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DayOfWeekEnum
+ */
+final class DayOfWeekEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\DayOfWeek::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum/DayOfWeek.php b/src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum/DayOfWeek.php
new file mode 100644
index 000000000..00473874d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum/DayOfWeek.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek
+ */
+class DayOfWeek
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Monday.
+ *
+ * Generated from protobuf enum MONDAY = 2;
+ */
+ const MONDAY = 2;
+ /**
+ * Tuesday.
+ *
+ * Generated from protobuf enum TUESDAY = 3;
+ */
+ const TUESDAY = 3;
+ /**
+ * Wednesday.
+ *
+ * Generated from protobuf enum WEDNESDAY = 4;
+ */
+ const WEDNESDAY = 4;
+ /**
+ * Thursday.
+ *
+ * Generated from protobuf enum THURSDAY = 5;
+ */
+ const THURSDAY = 5;
+ /**
+ * Friday.
+ *
+ * Generated from protobuf enum FRIDAY = 6;
+ */
+ const FRIDAY = 6;
+ /**
+ * Saturday.
+ *
+ * Generated from protobuf enum SATURDAY = 7;
+ */
+ const SATURDAY = 7;
+ /**
+ * Sunday.
+ *
+ * Generated from protobuf enum SUNDAY = 8;
+ */
+ const SUNDAY = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MONDAY => 'MONDAY',
+ self::TUESDAY => 'TUESDAY',
+ self::WEDNESDAY => 'WEDNESDAY',
+ self::THURSDAY => 'THURSDAY',
+ self::FRIDAY => 'FRIDAY',
+ self::SATURDAY => 'SATURDAY',
+ self::SUNDAY => 'SUNDAY',
+ ];
+
+ 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(DayOfWeek::class, \Google\Ads\GoogleAds\V2\Enums\DayOfWeekEnum_DayOfWeek::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum_DayOfWeek.php b/src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum_DayOfWeek.php
new file mode 100644
index 000000000..d15671464
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DayOfWeekEnum_DayOfWeek.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DeviceEnum
+ */
+final class DeviceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\Device::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum/Device.php b/src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum/Device.php
new file mode 100644
index 000000000..882a107fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum/Device.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.DeviceEnum.Device
+ */
+class Device
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Mobile devices with full browsers.
+ *
+ * Generated from protobuf enum MOBILE = 2;
+ */
+ const MOBILE = 2;
+ /**
+ * Tablets with full browsers.
+ *
+ * Generated from protobuf enum TABLET = 3;
+ */
+ const TABLET = 3;
+ /**
+ * Computers.
+ *
+ * Generated from protobuf enum DESKTOP = 4;
+ */
+ const DESKTOP = 4;
+ /**
+ * Smart TVs and game consoles.
+ *
+ * Generated from protobuf enum CONNECTED_TV = 6;
+ */
+ const CONNECTED_TV = 6;
+ /**
+ * Other device types.
+ *
+ * Generated from protobuf enum OTHER = 5;
+ */
+ const OTHER = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MOBILE => 'MOBILE',
+ self::TABLET => 'TABLET',
+ self::DESKTOP => 'DESKTOP',
+ self::CONNECTED_TV => 'CONNECTED_TV',
+ self::OTHER => 'OTHER',
+ ];
+
+ 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(Device::class, \Google\Ads\GoogleAds\V2\Enums\DeviceEnum_Device::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum_Device.php b/src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum_Device.php
new file mode 100644
index 000000000..60c22d511
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DeviceEnum_Device.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum
+ */
+final class DisplayAdFormatSettingEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\DisplayAdFormatSetting::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum/DisplayAdFormatSetting.php b/src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum/DisplayAdFormatSetting.php
new file mode 100644
index 000000000..08149bc50
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum/DisplayAdFormatSetting.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
+ */
+class DisplayAdFormatSetting
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Text, image and native formats.
+ *
+ * Generated from protobuf enum ALL_FORMATS = 2;
+ */
+ const ALL_FORMATS = 2;
+ /**
+ * Text and image formats.
+ *
+ * Generated from protobuf enum NON_NATIVE = 3;
+ */
+ const NON_NATIVE = 3;
+ /**
+ * Native format, i.e. the format rendering is controlled by the publisher
+ * and not by Google.
+ *
+ * Generated from protobuf enum NATIVE = 4;
+ */
+ const NATIVE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ALL_FORMATS => 'ALL_FORMATS',
+ self::NON_NATIVE => 'NON_NATIVE',
+ self::NATIVE => 'NATIVE',
+ ];
+
+ 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(DisplayAdFormatSetting::class, \Google\Ads\GoogleAds\V2\Enums\DisplayAdFormatSettingEnum_DisplayAdFormatSetting::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum_DisplayAdFormatSetting.php b/src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum_DisplayAdFormatSetting.php
new file mode 100644
index 000000000..7b0b85382
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DisplayAdFormatSettingEnum_DisplayAdFormatSetting.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum
+ */
+final class DisplayUploadProductTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\DisplayUploadProductType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum/DisplayUploadProductType.php b/src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum/DisplayUploadProductType.php
new file mode 100644
index 000000000..1d9a2beff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum/DisplayUploadProductType.php
@@ -0,0 +1,146 @@
+google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
+ */
+class DisplayUploadProductType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * HTML5 upload ad. This product type requires the upload_media_bundle
+ * field in DisplayUploadAdInfo to be set.
+ *
+ * Generated from protobuf enum HTML5_UPLOAD_AD = 2;
+ */
+ const HTML5_UPLOAD_AD = 2;
+ /**
+ * Dynamic HTML5 education ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in an education campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_EDUCATION_AD = 3;
+ */
+ const DYNAMIC_HTML5_EDUCATION_AD = 3;
+ /**
+ * Dynamic HTML5 flight ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a flight campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_FLIGHT_AD = 4;
+ */
+ const DYNAMIC_HTML5_FLIGHT_AD = 4;
+ /**
+ * Dynamic HTML5 hotel and rental ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a hotel campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5;
+ */
+ const DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5;
+ /**
+ * Dynamic HTML5 job ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a job campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_JOB_AD = 6;
+ */
+ const DYNAMIC_HTML5_JOB_AD = 6;
+ /**
+ * Dynamic HTML5 local ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a local campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_LOCAL_AD = 7;
+ */
+ const DYNAMIC_HTML5_LOCAL_AD = 7;
+ /**
+ * Dynamic HTML5 real estate ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a real estate campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_REAL_ESTATE_AD = 8;
+ */
+ const DYNAMIC_HTML5_REAL_ESTATE_AD = 8;
+ /**
+ * Dynamic HTML5 custom ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a custom campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_CUSTOM_AD = 9;
+ */
+ const DYNAMIC_HTML5_CUSTOM_AD = 9;
+ /**
+ * Dynamic HTML5 travel ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a travel campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_TRAVEL_AD = 10;
+ */
+ const DYNAMIC_HTML5_TRAVEL_AD = 10;
+ /**
+ * Dynamic HTML5 hotel ad. This product type requires the
+ * upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
+ * used in a hotel campaign.
+ *
+ * Generated from protobuf enum DYNAMIC_HTML5_HOTEL_AD = 11;
+ */
+ const DYNAMIC_HTML5_HOTEL_AD = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::HTML5_UPLOAD_AD => 'HTML5_UPLOAD_AD',
+ self::DYNAMIC_HTML5_EDUCATION_AD => 'DYNAMIC_HTML5_EDUCATION_AD',
+ self::DYNAMIC_HTML5_FLIGHT_AD => 'DYNAMIC_HTML5_FLIGHT_AD',
+ self::DYNAMIC_HTML5_HOTEL_RENTAL_AD => 'DYNAMIC_HTML5_HOTEL_RENTAL_AD',
+ self::DYNAMIC_HTML5_JOB_AD => 'DYNAMIC_HTML5_JOB_AD',
+ self::DYNAMIC_HTML5_LOCAL_AD => 'DYNAMIC_HTML5_LOCAL_AD',
+ self::DYNAMIC_HTML5_REAL_ESTATE_AD => 'DYNAMIC_HTML5_REAL_ESTATE_AD',
+ self::DYNAMIC_HTML5_CUSTOM_AD => 'DYNAMIC_HTML5_CUSTOM_AD',
+ self::DYNAMIC_HTML5_TRAVEL_AD => 'DYNAMIC_HTML5_TRAVEL_AD',
+ self::DYNAMIC_HTML5_HOTEL_AD => 'DYNAMIC_HTML5_HOTEL_AD',
+ ];
+
+ 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(DisplayUploadProductType::class, \Google\Ads\GoogleAds\V2\Enums\DisplayUploadProductTypeEnum_DisplayUploadProductType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum_DisplayUploadProductType.php b/src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum_DisplayUploadProductType.php
new file mode 100644
index 000000000..022d6c2ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DisplayUploadProductTypeEnum_DisplayUploadProductType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DistanceBucketEnum
+ */
+final class DistanceBucketEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\DistanceBucket::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum/DistanceBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum/DistanceBucket.php
new file mode 100644
index 000000000..7be10adf9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum/DistanceBucket.php
@@ -0,0 +1,247 @@
+google.ads.googleads.v2.enums.DistanceBucketEnum.DistanceBucket
+ */
+class DistanceBucket
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * User was within 700m of the location.
+ *
+ * Generated from protobuf enum WITHIN_700M = 2;
+ */
+ const WITHIN_700M = 2;
+ /**
+ * User was within 1KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_1KM = 3;
+ */
+ const WITHIN_1KM = 3;
+ /**
+ * User was within 5KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_5KM = 4;
+ */
+ const WITHIN_5KM = 4;
+ /**
+ * User was within 10KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_10KM = 5;
+ */
+ const WITHIN_10KM = 5;
+ /**
+ * User was within 15KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_15KM = 6;
+ */
+ const WITHIN_15KM = 6;
+ /**
+ * User was within 20KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_20KM = 7;
+ */
+ const WITHIN_20KM = 7;
+ /**
+ * User was within 25KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_25KM = 8;
+ */
+ const WITHIN_25KM = 8;
+ /**
+ * User was within 30KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_30KM = 9;
+ */
+ const WITHIN_30KM = 9;
+ /**
+ * User was within 35KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_35KM = 10;
+ */
+ const WITHIN_35KM = 10;
+ /**
+ * User was within 40KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_40KM = 11;
+ */
+ const WITHIN_40KM = 11;
+ /**
+ * User was within 45KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_45KM = 12;
+ */
+ const WITHIN_45KM = 12;
+ /**
+ * User was within 50KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_50KM = 13;
+ */
+ const WITHIN_50KM = 13;
+ /**
+ * User was within 55KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_55KM = 14;
+ */
+ const WITHIN_55KM = 14;
+ /**
+ * User was within 60KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_60KM = 15;
+ */
+ const WITHIN_60KM = 15;
+ /**
+ * User was within 65KM of the location.
+ *
+ * Generated from protobuf enum WITHIN_65KM = 16;
+ */
+ const WITHIN_65KM = 16;
+ /**
+ * User was beyond 65KM of the location.
+ *
+ * Generated from protobuf enum BEYOND_65KM = 17;
+ */
+ const BEYOND_65KM = 17;
+ /**
+ * User was within 0.7 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_0_7MILES = 18;
+ */
+ const WITHIN_0_7MILES = 18;
+ /**
+ * User was within 1 mile of the location.
+ *
+ * Generated from protobuf enum WITHIN_1MILE = 19;
+ */
+ const WITHIN_1MILE = 19;
+ /**
+ * User was within 5 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_5MILES = 20;
+ */
+ const WITHIN_5MILES = 20;
+ /**
+ * User was within 10 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_10MILES = 21;
+ */
+ const WITHIN_10MILES = 21;
+ /**
+ * User was within 15 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_15MILES = 22;
+ */
+ const WITHIN_15MILES = 22;
+ /**
+ * User was within 20 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_20MILES = 23;
+ */
+ const WITHIN_20MILES = 23;
+ /**
+ * User was within 25 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_25MILES = 24;
+ */
+ const WITHIN_25MILES = 24;
+ /**
+ * User was within 30 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_30MILES = 25;
+ */
+ const WITHIN_30MILES = 25;
+ /**
+ * User was within 35 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_35MILES = 26;
+ */
+ const WITHIN_35MILES = 26;
+ /**
+ * User was within 40 miles of the location.
+ *
+ * Generated from protobuf enum WITHIN_40MILES = 27;
+ */
+ const WITHIN_40MILES = 27;
+ /**
+ * User was beyond 40 miles of the location.
+ *
+ * Generated from protobuf enum BEYOND_40MILES = 28;
+ */
+ const BEYOND_40MILES = 28;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::WITHIN_700M => 'WITHIN_700M',
+ self::WITHIN_1KM => 'WITHIN_1KM',
+ self::WITHIN_5KM => 'WITHIN_5KM',
+ self::WITHIN_10KM => 'WITHIN_10KM',
+ self::WITHIN_15KM => 'WITHIN_15KM',
+ self::WITHIN_20KM => 'WITHIN_20KM',
+ self::WITHIN_25KM => 'WITHIN_25KM',
+ self::WITHIN_30KM => 'WITHIN_30KM',
+ self::WITHIN_35KM => 'WITHIN_35KM',
+ self::WITHIN_40KM => 'WITHIN_40KM',
+ self::WITHIN_45KM => 'WITHIN_45KM',
+ self::WITHIN_50KM => 'WITHIN_50KM',
+ self::WITHIN_55KM => 'WITHIN_55KM',
+ self::WITHIN_60KM => 'WITHIN_60KM',
+ self::WITHIN_65KM => 'WITHIN_65KM',
+ self::BEYOND_65KM => 'BEYOND_65KM',
+ self::WITHIN_0_7MILES => 'WITHIN_0_7MILES',
+ self::WITHIN_1MILE => 'WITHIN_1MILE',
+ self::WITHIN_5MILES => 'WITHIN_5MILES',
+ self::WITHIN_10MILES => 'WITHIN_10MILES',
+ self::WITHIN_15MILES => 'WITHIN_15MILES',
+ self::WITHIN_20MILES => 'WITHIN_20MILES',
+ self::WITHIN_25MILES => 'WITHIN_25MILES',
+ self::WITHIN_30MILES => 'WITHIN_30MILES',
+ self::WITHIN_35MILES => 'WITHIN_35MILES',
+ self::WITHIN_40MILES => 'WITHIN_40MILES',
+ self::BEYOND_40MILES => 'BEYOND_40MILES',
+ ];
+
+ 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(DistanceBucket::class, \Google\Ads\GoogleAds\V2\Enums\DistanceBucketEnum_DistanceBucket::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum_DistanceBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum_DistanceBucket.php
new file mode 100644
index 000000000..e0c2c2590
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DistanceBucketEnum_DistanceBucket.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.DsaPageFeedCriterionFieldEnum
+ */
+final class DsaPageFeedCriterionFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\DsaPageFeedCriterionField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum/DsaPageFeedCriterionField.php b/src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum/DsaPageFeedCriterionField.php
new file mode 100644
index 000000000..bdb9eb604
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum/DsaPageFeedCriterionField.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField
+ */
+class DsaPageFeedCriterionField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: URL or URL_LIST. URL of the web page you want to target.
+ *
+ * Generated from protobuf enum PAGE_URL = 2;
+ */
+ const PAGE_URL = 2;
+ /**
+ * Data Type: STRING_LIST. The labels that will help you target ads within
+ * your page feed.
+ *
+ * Generated from protobuf enum LABEL = 3;
+ */
+ const LABEL = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PAGE_URL => 'PAGE_URL',
+ self::LABEL => 'LABEL',
+ ];
+
+ 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(DsaPageFeedCriterionField::class, \Google\Ads\GoogleAds\V2\Enums\DsaPageFeedCriterionFieldEnum_DsaPageFeedCriterionField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum_DsaPageFeedCriterionField.php b/src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum_DsaPageFeedCriterionField.php
new file mode 100644
index 000000000..8bba3235f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/DsaPageFeedCriterionFieldEnum_DsaPageFeedCriterionField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.EducationPlaceholderFieldEnum
+ */
+final class EducationPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\EducationPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum/EducationPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum/EducationPlaceholderField.php
new file mode 100644
index 000000000..f76c95619
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum/EducationPlaceholderField.php
@@ -0,0 +1,190 @@
+google.ads.googleads.v2.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField
+ */
+class EducationPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID
+ * must be unique per offer.
+ *
+ * Generated from protobuf enum PROGRAM_ID = 2;
+ */
+ const PROGRAM_ID = 2;
+ /**
+ * Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be
+ * unique per offer.
+ *
+ * Generated from protobuf enum LOCATION_ID = 3;
+ */
+ const LOCATION_ID = 3;
+ /**
+ * Data Type: STRING. Required. Main headline with program name to be shown
+ * in dynamic ad.
+ *
+ * Generated from protobuf enum PROGRAM_NAME = 4;
+ */
+ const PROGRAM_NAME = 4;
+ /**
+ * Data Type: STRING. Area of study that can be shown in dynamic ad.
+ *
+ * Generated from protobuf enum AREA_OF_STUDY = 5;
+ */
+ const AREA_OF_STUDY = 5;
+ /**
+ * Data Type: STRING. Description of program that can be shown in dynamic
+ * ad.
+ *
+ * Generated from protobuf enum PROGRAM_DESCRIPTION = 6;
+ */
+ const PROGRAM_DESCRIPTION = 6;
+ /**
+ * Data Type: STRING. Name of school that can be shown in dynamic ad.
+ *
+ * Generated from protobuf enum SCHOOL_NAME = 7;
+ */
+ const SCHOOL_NAME = 7;
+ /**
+ * Data Type: STRING. Complete school address, including postal code.
+ *
+ * Generated from protobuf enum ADDRESS = 8;
+ */
+ const ADDRESS = 8;
+ /**
+ * Data Type: URL. Image to be displayed in ads.
+ *
+ * Generated from protobuf enum THUMBNAIL_IMAGE_URL = 9;
+ */
+ const THUMBNAIL_IMAGE_URL = 9;
+ /**
+ * Data Type: URL. Alternative hosted file of image to be used in the ad.
+ *
+ * Generated from protobuf enum ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10;
+ */
+ const ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10;
+ /**
+ * Data Type: URL_LIST. Required. Final URLs to be used in ad when using
+ * Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ * specific program and its location).
+ *
+ * Generated from protobuf enum FINAL_URLS = 11;
+ */
+ const FINAL_URLS = 11;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 12;
+ */
+ const FINAL_MOBILE_URLS = 12;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 13;
+ */
+ const TRACKING_URL = 13;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 14;
+ */
+ const CONTEXTUAL_KEYWORDS = 14;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 15;
+ */
+ const ANDROID_APP_LINK = 15;
+ /**
+ * Data Type: STRING_LIST. List of recommended program IDs to show together
+ * with this item.
+ *
+ * Generated from protobuf enum SIMILAR_PROGRAM_IDS = 16;
+ */
+ const SIMILAR_PROGRAM_IDS = 16;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 17;
+ */
+ const IOS_APP_LINK = 17;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 18;
+ */
+ const IOS_APP_STORE_ID = 18;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PROGRAM_ID => 'PROGRAM_ID',
+ self::LOCATION_ID => 'LOCATION_ID',
+ self::PROGRAM_NAME => 'PROGRAM_NAME',
+ self::AREA_OF_STUDY => 'AREA_OF_STUDY',
+ self::PROGRAM_DESCRIPTION => 'PROGRAM_DESCRIPTION',
+ self::SCHOOL_NAME => 'SCHOOL_NAME',
+ self::ADDRESS => 'ADDRESS',
+ self::THUMBNAIL_IMAGE_URL => 'THUMBNAIL_IMAGE_URL',
+ self::ALTERNATIVE_THUMBNAIL_IMAGE_URL => 'ALTERNATIVE_THUMBNAIL_IMAGE_URL',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_PROGRAM_IDS => 'SIMILAR_PROGRAM_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(EducationPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\EducationPlaceholderFieldEnum_EducationPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum_EducationPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum_EducationPlaceholderField.php
new file mode 100644
index 000000000..94b74b66a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/EducationPlaceholderFieldEnum_EducationPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum
+ */
+final class ExtensionSettingDeviceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ExtensionSettingDevice::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum/ExtensionSettingDevice.php b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum/ExtensionSettingDevice.php
new file mode 100644
index 000000000..1a8260daa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum/ExtensionSettingDevice.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice
+ */
+class ExtensionSettingDevice
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Mobile. The extensions in the extension setting will only serve on
+ * mobile devices.
+ *
+ * Generated from protobuf enum MOBILE = 2;
+ */
+ const MOBILE = 2;
+ /**
+ * Desktop. The extensions in the extension setting will only serve on
+ * desktop devices.
+ *
+ * Generated from protobuf enum DESKTOP = 3;
+ */
+ const DESKTOP = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MOBILE => 'MOBILE',
+ self::DESKTOP => 'DESKTOP',
+ ];
+
+ 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(ExtensionSettingDevice::class, \Google\Ads\GoogleAds\V2\Enums\ExtensionSettingDeviceEnum_ExtensionSettingDevice::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum_ExtensionSettingDevice.php b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum_ExtensionSettingDevice.php
new file mode 100644
index 000000000..6a6ed1a2e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionSettingDeviceEnum_ExtensionSettingDevice.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ExtensionTypeEnum
+ */
+final class ExtensionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ExtensionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum/ExtensionType.php b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum/ExtensionType.php
new file mode 100644
index 000000000..08b252551
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum/ExtensionType.php
@@ -0,0 +1,134 @@
+google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType
+ */
+class ExtensionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * None.
+ *
+ * Generated from protobuf enum NONE = 2;
+ */
+ const NONE = 2;
+ /**
+ * App.
+ *
+ * Generated from protobuf enum APP = 3;
+ */
+ const APP = 3;
+ /**
+ * Call.
+ *
+ * Generated from protobuf enum CALL = 4;
+ */
+ const CALL = 4;
+ /**
+ * Callout.
+ *
+ * Generated from protobuf enum CALLOUT = 5;
+ */
+ const CALLOUT = 5;
+ /**
+ * Message.
+ *
+ * Generated from protobuf enum MESSAGE = 6;
+ */
+ const MESSAGE = 6;
+ /**
+ * Price.
+ *
+ * Generated from protobuf enum PRICE = 7;
+ */
+ const PRICE = 7;
+ /**
+ * Promotion.
+ *
+ * Generated from protobuf enum PROMOTION = 8;
+ */
+ const PROMOTION = 8;
+ /**
+ * Sitelink.
+ *
+ * Generated from protobuf enum SITELINK = 10;
+ */
+ const SITELINK = 10;
+ /**
+ * Structured snippet.
+ *
+ * Generated from protobuf enum STRUCTURED_SNIPPET = 11;
+ */
+ const STRUCTURED_SNIPPET = 11;
+ /**
+ * Location.
+ *
+ * Generated from protobuf enum LOCATION = 12;
+ */
+ const LOCATION = 12;
+ /**
+ * Affiliate location.
+ *
+ * Generated from protobuf enum AFFILIATE_LOCATION = 13;
+ */
+ const AFFILIATE_LOCATION = 13;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NONE => 'NONE',
+ self::APP => 'APP',
+ self::CALL => 'CALL',
+ self::CALLOUT => 'CALLOUT',
+ self::MESSAGE => 'MESSAGE',
+ self::PRICE => 'PRICE',
+ self::PROMOTION => 'PROMOTION',
+ self::SITELINK => 'SITELINK',
+ self::STRUCTURED_SNIPPET => 'STRUCTURED_SNIPPET',
+ self::LOCATION => 'LOCATION',
+ self::AFFILIATE_LOCATION => 'AFFILIATE_LOCATION',
+ ];
+
+ 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(ExtensionType::class, \Google\Ads\GoogleAds\V2\Enums\ExtensionTypeEnum_ExtensionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum_ExtensionType.php b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum_ExtensionType.php
new file mode 100644
index 000000000..aeb113742
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ExtensionTypeEnum_ExtensionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ExternalConversionSourceEnum
+ */
+final class ExternalConversionSourceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ExternalConversionSource::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum/ExternalConversionSource.php b/src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum/ExternalConversionSource.php
new file mode 100644
index 000000000..624006956
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum/ExternalConversionSource.php
@@ -0,0 +1,228 @@
+google.ads.googleads.v2.enums.ExternalConversionSourceEnum.ExternalConversionSource
+ */
+class ExternalConversionSource
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Conversion that occurs when a user navigates to a particular webpage
+ * after viewing an ad; Displayed in Google Ads UI as 'Website'.
+ *
+ * Generated from protobuf enum WEBPAGE = 2;
+ */
+ const WEBPAGE = 2;
+ /**
+ * Conversion that comes from linked Google Analytics goal or transaction;
+ * Displayed in Google Ads UI as 'Analytics'.
+ *
+ * Generated from protobuf enum ANALYTICS = 3;
+ */
+ const ANALYTICS = 3;
+ /**
+ * Website conversion that is uploaded through ConversionUploadService;
+ * Displayed in Google Ads UI as 'Import from clicks'.
+ *
+ * Generated from protobuf enum UPLOAD = 4;
+ */
+ const UPLOAD = 4;
+ /**
+ * Conversion that occurs when a user clicks on a call extension directly on
+ * an ad; Displayed in Google Ads UI as 'Calls from ads'.
+ *
+ * Generated from protobuf enum AD_CALL_METRICS = 5;
+ */
+ const AD_CALL_METRICS = 5;
+ /**
+ * Conversion that occurs when a user calls a dynamically-generated phone
+ * number (by installed javascript) from an advertiser's website after
+ * clicking on an ad; Displayed in Google Ads UI as 'Calls from website'.
+ *
+ * Generated from protobuf enum WEBSITE_CALL_METRICS = 6;
+ */
+ const WEBSITE_CALL_METRICS = 6;
+ /**
+ * Conversion that occurs when a user visits an advertiser's retail store
+ * after clicking on a Google ad;
+ * Displayed in Google Ads UI as 'Store visits'.
+ *
+ * Generated from protobuf enum STORE_VISITS = 7;
+ */
+ const STORE_VISITS = 7;
+ /**
+ * Conversion that occurs when a user takes an in-app action such as a
+ * purchase in an Android app;
+ * Displayed in Google Ads UI as 'Android in-app action'.
+ *
+ * Generated from protobuf enum ANDROID_IN_APP = 8;
+ */
+ const ANDROID_IN_APP = 8;
+ /**
+ * Conversion that occurs when a user takes an in-app action such as a
+ * purchase in an iOS app;
+ * Displayed in Google Ads UI as 'iOS in-app action'.
+ *
+ * Generated from protobuf enum IOS_IN_APP = 9;
+ */
+ const IOS_IN_APP = 9;
+ /**
+ * Conversion that occurs when a user opens an iOS app for the first time;
+ * Displayed in Google Ads UI as 'iOS app install (first open)'.
+ *
+ * Generated from protobuf enum IOS_FIRST_OPEN = 10;
+ */
+ const IOS_FIRST_OPEN = 10;
+ /**
+ * Legacy app conversions that do not have an AppPlatform provided;
+ * Displayed in Google Ads UI as 'Mobile app'.
+ *
+ * Generated from protobuf enum APP_UNSPECIFIED = 11;
+ */
+ const APP_UNSPECIFIED = 11;
+ /**
+ * Conversion that occurs when a user opens an Android app for the first
+ * time; Displayed in Google Ads UI as 'Android app install (first open)'.
+ *
+ * Generated from protobuf enum ANDROID_FIRST_OPEN = 12;
+ */
+ const ANDROID_FIRST_OPEN = 12;
+ /**
+ * Call conversion that is uploaded through ConversionUploadService;
+ * Displayed in Google Ads UI as 'Import from calls'.
+ *
+ * Generated from protobuf enum UPLOAD_CALLS = 13;
+ */
+ const UPLOAD_CALLS = 13;
+ /**
+ * Conversion that comes from a linked Firebase event;
+ * Displayed in Google Ads UI as 'Firebase'.
+ *
+ * Generated from protobuf enum FIREBASE = 14;
+ */
+ const FIREBASE = 14;
+ /**
+ * Conversion that occurs when a user clicks on a mobile phone number;
+ * Displayed in Google Ads UI as 'Phone number clicks'.
+ *
+ * Generated from protobuf enum CLICK_TO_CALL = 15;
+ */
+ const CLICK_TO_CALL = 15;
+ /**
+ * Conversion that comes from Salesforce;
+ * Displayed in Google Ads UI as 'Salesforce.com'.
+ *
+ * Generated from protobuf enum SALESFORCE = 16;
+ */
+ const SALESFORCE = 16;
+ /**
+ * Conversion that comes from in-store purchases recorded by CRM;
+ * Displayed in Google Ads UI as 'Store sales (data partner)'.
+ *
+ * Generated from protobuf enum STORE_SALES_CRM = 17;
+ */
+ const STORE_SALES_CRM = 17;
+ /**
+ * Conversion that comes from in-store purchases from payment network;
+ * Displayed in Google Ads UI as 'Store sales (payment network)'.
+ *
+ * Generated from protobuf enum STORE_SALES_PAYMENT_NETWORK = 18;
+ */
+ const STORE_SALES_PAYMENT_NETWORK = 18;
+ /**
+ * Codeless Google Play conversion;
+ * Displayed in Google Ads UI as 'Google Play'.
+ *
+ * Generated from protobuf enum GOOGLE_PLAY = 19;
+ */
+ const GOOGLE_PLAY = 19;
+ /**
+ * Conversion that comes from a linked third-party app analytics event;
+ * Displayed in Google Ads UI as 'Third-party app analytics'.
+ *
+ * Generated from protobuf enum THIRD_PARTY_APP_ANALYTICS = 20;
+ */
+ const THIRD_PARTY_APP_ANALYTICS = 20;
+ /**
+ * Conversion that is controlled by Google Attribution.
+ *
+ * Generated from protobuf enum GOOGLE_ATTRIBUTION = 21;
+ */
+ const GOOGLE_ATTRIBUTION = 21;
+ /**
+ * Store Sales conversion based on first-party or third-party merchant data
+ * uploads. Displayed in Google Ads UI as 'Store sales (direct)'.
+ *
+ * Generated from protobuf enum STORE_SALES_DIRECT = 22;
+ */
+ const STORE_SALES_DIRECT = 22;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::WEBPAGE => 'WEBPAGE',
+ self::ANALYTICS => 'ANALYTICS',
+ self::UPLOAD => 'UPLOAD',
+ self::AD_CALL_METRICS => 'AD_CALL_METRICS',
+ self::WEBSITE_CALL_METRICS => 'WEBSITE_CALL_METRICS',
+ self::STORE_VISITS => 'STORE_VISITS',
+ self::ANDROID_IN_APP => 'ANDROID_IN_APP',
+ self::IOS_IN_APP => 'IOS_IN_APP',
+ self::IOS_FIRST_OPEN => 'IOS_FIRST_OPEN',
+ self::APP_UNSPECIFIED => 'APP_UNSPECIFIED',
+ self::ANDROID_FIRST_OPEN => 'ANDROID_FIRST_OPEN',
+ self::UPLOAD_CALLS => 'UPLOAD_CALLS',
+ self::FIREBASE => 'FIREBASE',
+ self::CLICK_TO_CALL => 'CLICK_TO_CALL',
+ self::SALESFORCE => 'SALESFORCE',
+ self::STORE_SALES_CRM => 'STORE_SALES_CRM',
+ self::STORE_SALES_PAYMENT_NETWORK => 'STORE_SALES_PAYMENT_NETWORK',
+ self::GOOGLE_PLAY => 'GOOGLE_PLAY',
+ self::THIRD_PARTY_APP_ANALYTICS => 'THIRD_PARTY_APP_ANALYTICS',
+ self::GOOGLE_ATTRIBUTION => 'GOOGLE_ATTRIBUTION',
+ self::STORE_SALES_DIRECT => 'STORE_SALES_DIRECT',
+ ];
+
+ 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(ExternalConversionSource::class, \Google\Ads\GoogleAds\V2\Enums\ExternalConversionSourceEnum_ExternalConversionSource::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum_ExternalConversionSource.php b/src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum_ExternalConversionSource.php
new file mode 100644
index 000000000..4287fa93d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ExternalConversionSourceEnum_ExternalConversionSource.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedAttributeTypeEnum
+ */
+final class FeedAttributeTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedAttributeType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum/FeedAttributeType.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum/FeedAttributeType.php
new file mode 100644
index 000000000..840791a4f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum/FeedAttributeType.php
@@ -0,0 +1,148 @@
+google.ads.googleads.v2.enums.FeedAttributeTypeEnum.FeedAttributeType
+ */
+class FeedAttributeType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Int64.
+ *
+ * Generated from protobuf enum INT64 = 2;
+ */
+ const INT64 = 2;
+ /**
+ * Double.
+ *
+ * Generated from protobuf enum DOUBLE = 3;
+ */
+ const DOUBLE = 3;
+ /**
+ * String.
+ *
+ * Generated from protobuf enum STRING = 4;
+ */
+ const STRING = 4;
+ /**
+ * Boolean.
+ *
+ * Generated from protobuf enum BOOLEAN = 5;
+ */
+ const BOOLEAN = 5;
+ /**
+ * Url.
+ *
+ * Generated from protobuf enum URL = 6;
+ */
+ const URL = 6;
+ /**
+ * Datetime.
+ *
+ * Generated from protobuf enum DATE_TIME = 7;
+ */
+ const DATE_TIME = 7;
+ /**
+ * Int64 list.
+ *
+ * Generated from protobuf enum INT64_LIST = 8;
+ */
+ const INT64_LIST = 8;
+ /**
+ * Double (8 bytes) list.
+ *
+ * Generated from protobuf enum DOUBLE_LIST = 9;
+ */
+ const DOUBLE_LIST = 9;
+ /**
+ * String list.
+ *
+ * Generated from protobuf enum STRING_LIST = 10;
+ */
+ const STRING_LIST = 10;
+ /**
+ * Boolean list.
+ *
+ * Generated from protobuf enum BOOLEAN_LIST = 11;
+ */
+ const BOOLEAN_LIST = 11;
+ /**
+ * Url list.
+ *
+ * Generated from protobuf enum URL_LIST = 12;
+ */
+ const URL_LIST = 12;
+ /**
+ * Datetime list.
+ *
+ * Generated from protobuf enum DATE_TIME_LIST = 13;
+ */
+ const DATE_TIME_LIST = 13;
+ /**
+ * Price.
+ *
+ * Generated from protobuf enum PRICE = 14;
+ */
+ const PRICE = 14;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INT64 => 'INT64',
+ self::DOUBLE => 'DOUBLE',
+ self::STRING => 'STRING',
+ self::BOOLEAN => 'BOOLEAN',
+ self::URL => 'URL',
+ self::DATE_TIME => 'DATE_TIME',
+ self::INT64_LIST => 'INT64_LIST',
+ self::DOUBLE_LIST => 'DOUBLE_LIST',
+ self::STRING_LIST => 'STRING_LIST',
+ self::BOOLEAN_LIST => 'BOOLEAN_LIST',
+ self::URL_LIST => 'URL_LIST',
+ self::DATE_TIME_LIST => 'DATE_TIME_LIST',
+ self::PRICE => 'PRICE',
+ ];
+
+ 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(FeedAttributeType::class, \Google\Ads\GoogleAds\V2\Enums\FeedAttributeTypeEnum_FeedAttributeType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum_FeedAttributeType.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum_FeedAttributeType.php
new file mode 100644
index 000000000..62b7efb90
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedAttributeTypeEnum_FeedAttributeType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum
+ */
+final class FeedItemQualityApprovalStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedItemQualityApprovalStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum/FeedItemQualityApprovalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum/FeedItemQualityApprovalStatus.php
new file mode 100644
index 000000000..7664b7add
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum/FeedItemQualityApprovalStatus.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus
+ */
+class FeedItemQualityApprovalStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Meets all quality expectations.
+ *
+ * Generated from protobuf enum APPROVED = 2;
+ */
+ const APPROVED = 2;
+ /**
+ * Does not meet some quality expectations. The specific reason is found in
+ * the quality_disapproval_reasons field.
+ *
+ * Generated from protobuf enum DISAPPROVED = 3;
+ */
+ const DISAPPROVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::APPROVED => 'APPROVED',
+ self::DISAPPROVED => 'DISAPPROVED',
+ ];
+
+ 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(FeedItemQualityApprovalStatus::class, \Google\Ads\GoogleAds\V2\Enums\FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus.php
new file mode 100644
index 000000000..f331dedda
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum
+ */
+final class FeedItemQualityDisapprovalReasonEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedItemQualityDisapprovalReason::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum/FeedItemQualityDisapprovalReason.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum/FeedItemQualityDisapprovalReason.php
new file mode 100644
index 000000000..5b21f2c40
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum/FeedItemQualityDisapprovalReason.php
@@ -0,0 +1,183 @@
+google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason
+ */
+class FeedItemQualityDisapprovalReason
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Price contains repetitive headers.
+ *
+ * Generated from protobuf enum PRICE_TABLE_REPETITIVE_HEADERS = 2;
+ */
+ const PRICE_TABLE_REPETITIVE_HEADERS = 2;
+ /**
+ * Price contains repetitive description.
+ *
+ * Generated from protobuf enum PRICE_TABLE_REPETITIVE_DESCRIPTION = 3;
+ */
+ const PRICE_TABLE_REPETITIVE_DESCRIPTION = 3;
+ /**
+ * Price contains inconsistent items.
+ *
+ * Generated from protobuf enum PRICE_TABLE_INCONSISTENT_ROWS = 4;
+ */
+ const PRICE_TABLE_INCONSISTENT_ROWS = 4;
+ /**
+ * Price contains qualifiers in description.
+ *
+ * Generated from protobuf enum PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5;
+ */
+ const PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5;
+ /**
+ * Price contains an unsupported language.
+ *
+ * Generated from protobuf enum PRICE_UNSUPPORTED_LANGUAGE = 6;
+ */
+ const PRICE_UNSUPPORTED_LANGUAGE = 6;
+ /**
+ * Price item header is not relevant to the price type.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7;
+ */
+ const PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7;
+ /**
+ * Price item header has promotional text.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8;
+ */
+ const PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8;
+ /**
+ * Price item description is not relevant to the item header.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9;
+ */
+ const PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9;
+ /**
+ * Price item description contains promotional text.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10;
+ */
+ const PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10;
+ /**
+ * Price item header and description are repetitive.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11;
+ */
+ const PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11;
+ /**
+ * Price item is in a foreign language, nonsense, or can't be rated.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_UNRATEABLE = 12;
+ */
+ const PRICE_TABLE_ROW_UNRATEABLE = 12;
+ /**
+ * Price item price is invalid or inaccurate.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_PRICE_INVALID = 13;
+ */
+ const PRICE_TABLE_ROW_PRICE_INVALID = 13;
+ /**
+ * Price item URL is invalid or irrelevant.
+ *
+ * Generated from protobuf enum PRICE_TABLE_ROW_URL_INVALID = 14;
+ */
+ const PRICE_TABLE_ROW_URL_INVALID = 14;
+ /**
+ * Price item header or description has price.
+ *
+ * Generated from protobuf enum PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15;
+ */
+ const PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15;
+ /**
+ * Structured snippet values do not match the header.
+ *
+ * Generated from protobuf enum STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16;
+ */
+ const STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16;
+ /**
+ * Structured snippet values are repeated.
+ *
+ * Generated from protobuf enum STRUCTURED_SNIPPETS_REPEATED_VALUES = 17;
+ */
+ const STRUCTURED_SNIPPETS_REPEATED_VALUES = 17;
+ /**
+ * Structured snippet values violate editorial guidelines like punctuation.
+ *
+ * Generated from protobuf enum STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18;
+ */
+ const STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18;
+ /**
+ * Structured snippet contain promotional text.
+ *
+ * Generated from protobuf enum STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19;
+ */
+ const STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PRICE_TABLE_REPETITIVE_HEADERS => 'PRICE_TABLE_REPETITIVE_HEADERS',
+ self::PRICE_TABLE_REPETITIVE_DESCRIPTION => 'PRICE_TABLE_REPETITIVE_DESCRIPTION',
+ self::PRICE_TABLE_INCONSISTENT_ROWS => 'PRICE_TABLE_INCONSISTENT_ROWS',
+ self::PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS => 'PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS',
+ self::PRICE_UNSUPPORTED_LANGUAGE => 'PRICE_UNSUPPORTED_LANGUAGE',
+ self::PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH => 'PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH',
+ self::PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT => 'PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT',
+ self::PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT => 'PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT',
+ self::PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT => 'PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT',
+ self::PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE => 'PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE',
+ self::PRICE_TABLE_ROW_UNRATEABLE => 'PRICE_TABLE_ROW_UNRATEABLE',
+ self::PRICE_TABLE_ROW_PRICE_INVALID => 'PRICE_TABLE_ROW_PRICE_INVALID',
+ self::PRICE_TABLE_ROW_URL_INVALID => 'PRICE_TABLE_ROW_URL_INVALID',
+ self::PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE => 'PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE',
+ self::STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED => 'STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED',
+ self::STRUCTURED_SNIPPETS_REPEATED_VALUES => 'STRUCTURED_SNIPPETS_REPEATED_VALUES',
+ self::STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES => 'STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES',
+ self::STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT => 'STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT',
+ ];
+
+ 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(FeedItemQualityDisapprovalReason::class, \Google\Ads\GoogleAds\V2\Enums\FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason.php
new file mode 100644
index 000000000..46f9b5ed5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedItemStatusEnum
+ */
+final class FeedItemStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedItemStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum/FeedItemStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum/FeedItemStatus.php
new file mode 100644
index 000000000..fe9040dd2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum/FeedItemStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus
+ */
+class FeedItemStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Feed item is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Feed item has been removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(FeedItemStatus::class, \Google\Ads\GoogleAds\V2\Enums\FeedItemStatusEnum_FeedItemStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum_FeedItemStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum_FeedItemStatus.php
new file mode 100644
index 000000000..f7a659fea
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemStatusEnum_FeedItemStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum
+ */
+final class FeedItemTargetDeviceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedItemTargetDevice::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum/FeedItemTargetDevice.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum/FeedItemTargetDevice.php
new file mode 100644
index 000000000..66307d8ba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum/FeedItemTargetDevice.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice
+ */
+class FeedItemTargetDevice
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Mobile.
+ *
+ * Generated from protobuf enum MOBILE = 2;
+ */
+ const MOBILE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MOBILE => 'MOBILE',
+ ];
+
+ 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(FeedItemTargetDevice::class, \Google\Ads\GoogleAds\V2\Enums\FeedItemTargetDeviceEnum_FeedItemTargetDevice::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum_FeedItemTargetDevice.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum_FeedItemTargetDevice.php
new file mode 100644
index 000000000..d4a2955eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetDeviceEnum_FeedItemTargetDevice.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedItemTargetTypeEnum
+ */
+final class FeedItemTargetTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedItemTargetType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum/FeedItemTargetType.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum/FeedItemTargetType.php
new file mode 100644
index 000000000..e0b2ba977
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum/FeedItemTargetType.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.FeedItemTargetTypeEnum.FeedItemTargetType
+ */
+class FeedItemTargetType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Feed item targets a campaign.
+ *
+ * Generated from protobuf enum CAMPAIGN = 2;
+ */
+ const CAMPAIGN = 2;
+ /**
+ * Feed item targets an ad group.
+ *
+ * Generated from protobuf enum AD_GROUP = 3;
+ */
+ const AD_GROUP = 3;
+ /**
+ * Feed item targets a criterion.
+ *
+ * Generated from protobuf enum CRITERION = 4;
+ */
+ const CRITERION = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CAMPAIGN => 'CAMPAIGN',
+ self::AD_GROUP => 'AD_GROUP',
+ self::CRITERION => 'CRITERION',
+ ];
+
+ 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(FeedItemTargetType::class, \Google\Ads\GoogleAds\V2\Enums\FeedItemTargetTypeEnum_FeedItemTargetType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum_FeedItemTargetType.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum_FeedItemTargetType.php
new file mode 100644
index 000000000..a0a44ca32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemTargetTypeEnum_FeedItemTargetType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedItemValidationStatusEnum
+ */
+final class FeedItemValidationStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedItemValidationStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum/FeedItemValidationStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum/FeedItemValidationStatus.php
new file mode 100644
index 000000000..af2d79264
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum/FeedItemValidationStatus.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus
+ */
+class FeedItemValidationStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Validation pending.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * An error was found.
+ *
+ * Generated from protobuf enum INVALID = 3;
+ */
+ const INVALID = 3;
+ /**
+ * Feed item is semantically well-formed.
+ *
+ * Generated from protobuf enum VALID = 4;
+ */
+ const VALID = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::INVALID => 'INVALID',
+ self::VALID => 'VALID',
+ ];
+
+ 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(FeedItemValidationStatus::class, \Google\Ads\GoogleAds\V2\Enums\FeedItemValidationStatusEnum_FeedItemValidationStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum_FeedItemValidationStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum_FeedItemValidationStatus.php
new file mode 100644
index 000000000..e5c589e69
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedItemValidationStatusEnum_FeedItemValidationStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedLinkStatusEnum
+ */
+final class FeedLinkStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedLinkStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum/FeedLinkStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum/FeedLinkStatus.php
new file mode 100644
index 000000000..5bc3b9e79
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum/FeedLinkStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus
+ */
+class FeedLinkStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Feed link is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Feed link has been removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(FeedLinkStatus::class, \Google\Ads\GoogleAds\V2\Enums\FeedLinkStatusEnum_FeedLinkStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum_FeedLinkStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum_FeedLinkStatus.php
new file mode 100644
index 000000000..e72bbb1f0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedLinkStatusEnum_FeedLinkStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedMappingCriterionTypeEnum
+ */
+final class FeedMappingCriterionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedMappingCriterionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum/FeedMappingCriterionType.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum/FeedMappingCriterionType.php
new file mode 100644
index 000000000..1604ccee4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum/FeedMappingCriterionType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType
+ */
+class FeedMappingCriterionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Allows campaign targeting at locations within a location feed.
+ *
+ * Generated from protobuf enum LOCATION_EXTENSION_TARGETING = 4;
+ */
+ const LOCATION_EXTENSION_TARGETING = 4;
+ /**
+ * Allows url targeting for your dynamic search ads within a page feed.
+ *
+ * Generated from protobuf enum DSA_PAGE_FEED = 3;
+ */
+ const DSA_PAGE_FEED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LOCATION_EXTENSION_TARGETING => 'LOCATION_EXTENSION_TARGETING',
+ self::DSA_PAGE_FEED => 'DSA_PAGE_FEED',
+ ];
+
+ 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(FeedMappingCriterionType::class, \Google\Ads\GoogleAds\V2\Enums\FeedMappingCriterionTypeEnum_FeedMappingCriterionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum_FeedMappingCriterionType.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum_FeedMappingCriterionType.php
new file mode 100644
index 000000000..74ee36fbc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingCriterionTypeEnum_FeedMappingCriterionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedMappingStatusEnum
+ */
+final class FeedMappingStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedMappingStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum/FeedMappingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum/FeedMappingStatus.php
new file mode 100644
index 000000000..d8dc11124
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum/FeedMappingStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.FeedMappingStatusEnum.FeedMappingStatus
+ */
+class FeedMappingStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Feed mapping is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Feed mapping has been removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(FeedMappingStatus::class, \Google\Ads\GoogleAds\V2\Enums\FeedMappingStatusEnum_FeedMappingStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum_FeedMappingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum_FeedMappingStatus.php
new file mode 100644
index 000000000..fbbfbab5a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedMappingStatusEnum_FeedMappingStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedOriginEnum
+ */
+final class FeedOriginEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedOrigin::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum/FeedOrigin.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum/FeedOrigin.php
new file mode 100644
index 000000000..db2d1b287
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum/FeedOrigin.php
@@ -0,0 +1,74 @@
+google.ads.googleads.v2.enums.FeedOriginEnum.FeedOrigin
+ */
+class FeedOrigin
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The FeedAttributes for this Feed are managed by the
+ * user. Users can add FeedAttributes to this Feed.
+ *
+ * Generated from protobuf enum USER = 2;
+ */
+ const USER = 2;
+ /**
+ * The FeedAttributes for an GOOGLE Feed are created by Google. A feed of
+ * this type is maintained by Google and will have the correct attributes
+ * for the placeholder type of the feed.
+ *
+ * Generated from protobuf enum GOOGLE = 3;
+ */
+ const GOOGLE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::USER => 'USER',
+ self::GOOGLE => 'GOOGLE',
+ ];
+
+ 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(FeedOrigin::class, \Google\Ads\GoogleAds\V2\Enums\FeedOriginEnum_FeedOrigin::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum_FeedOrigin.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum_FeedOrigin.php
new file mode 100644
index 000000000..74f7165e2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedOriginEnum_FeedOrigin.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FeedStatusEnum
+ */
+final class FeedStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FeedStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum/FeedStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum/FeedStatus.php
new file mode 100644
index 000000000..46dacbbe9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum/FeedStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.FeedStatusEnum.FeedStatus
+ */
+class FeedStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Feed is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Feed has been removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(FeedStatus::class, \Google\Ads\GoogleAds\V2\Enums\FeedStatusEnum_FeedStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum_FeedStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum_FeedStatus.php
new file mode 100644
index 000000000..8c55259cb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FeedStatusEnum_FeedStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FlightPlaceholderFieldEnum
+ */
+final class FlightPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FlightPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum/FlightPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum/FlightPlaceholderField.php
new file mode 100644
index 000000000..274fbc8b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum/FlightPlaceholderField.php
@@ -0,0 +1,197 @@
+google.ads.googleads.v2.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField
+ */
+class FlightPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. Destination id. Example: PAR, LON.
+ * For feed items that only have destination id, destination id must be a
+ * unique key. For feed items that have both destination id and origin id,
+ * then the combination must be a unique key.
+ *
+ * Generated from protobuf enum DESTINATION_ID = 2;
+ */
+ const DESTINATION_ID = 2;
+ /**
+ * Data Type: STRING. Origin id. Example: PAR, LON.
+ * Optional. Combination of destination id and origin id must be unique per
+ * offer.
+ *
+ * Generated from protobuf enum ORIGIN_ID = 3;
+ */
+ const ORIGIN_ID = 3;
+ /**
+ * Data Type: STRING. Required. Main headline with product name to be shown
+ * in dynamic ad.
+ *
+ * Generated from protobuf enum FLIGHT_DESCRIPTION = 4;
+ */
+ const FLIGHT_DESCRIPTION = 4;
+ /**
+ * Data Type: STRING. Shorter names are recommended.
+ *
+ * Generated from protobuf enum ORIGIN_NAME = 5;
+ */
+ const ORIGIN_NAME = 5;
+ /**
+ * Data Type: STRING. Shorter names are recommended.
+ *
+ * Generated from protobuf enum DESTINATION_NAME = 6;
+ */
+ const DESTINATION_NAME = 6;
+ /**
+ * Data Type: STRING. Price to be shown in the ad.
+ * Example: "100.00 USD"
+ *
+ * Generated from protobuf enum FLIGHT_PRICE = 7;
+ */
+ const FLIGHT_PRICE = 7;
+ /**
+ * Data Type: STRING. Formatted price to be shown in the ad.
+ * Example: "Starting at $100.00 USD", "$80 - $100"
+ *
+ * Generated from protobuf enum FORMATTED_PRICE = 8;
+ */
+ const FORMATTED_PRICE = 8;
+ /**
+ * Data Type: STRING. Sale price to be shown in the ad.
+ * Example: "80.00 USD"
+ *
+ * Generated from protobuf enum FLIGHT_SALE_PRICE = 9;
+ */
+ const FLIGHT_SALE_PRICE = 9;
+ /**
+ * Data Type: STRING. Formatted sale price to be shown in the ad.
+ * Example: "On sale for $80.00", "$60 - $80"
+ *
+ * Generated from protobuf enum FORMATTED_SALE_PRICE = 10;
+ */
+ const FORMATTED_SALE_PRICE = 10;
+ /**
+ * Data Type: URL. Image to be displayed in the ad.
+ *
+ * Generated from protobuf enum IMAGE_URL = 11;
+ */
+ const IMAGE_URL = 11;
+ /**
+ * Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded
+ * URLs. User will be redirected to these URLs when they click on an ad, or
+ * when they click on a specific flight for ads that show multiple
+ * flights.
+ *
+ * Generated from protobuf enum FINAL_URLS = 12;
+ */
+ const FINAL_URLS = 12;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 13;
+ */
+ const FINAL_MOBILE_URLS = 13;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 14;
+ */
+ const TRACKING_URL = 14;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 15;
+ */
+ const ANDROID_APP_LINK = 15;
+ /**
+ * Data Type: STRING_LIST. List of recommended destination IDs to show
+ * together with this item.
+ *
+ * Generated from protobuf enum SIMILAR_DESTINATION_IDS = 16;
+ */
+ const SIMILAR_DESTINATION_IDS = 16;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 17;
+ */
+ const IOS_APP_LINK = 17;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 18;
+ */
+ const IOS_APP_STORE_ID = 18;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DESTINATION_ID => 'DESTINATION_ID',
+ self::ORIGIN_ID => 'ORIGIN_ID',
+ self::FLIGHT_DESCRIPTION => 'FLIGHT_DESCRIPTION',
+ self::ORIGIN_NAME => 'ORIGIN_NAME',
+ self::DESTINATION_NAME => 'DESTINATION_NAME',
+ self::FLIGHT_PRICE => 'FLIGHT_PRICE',
+ self::FORMATTED_PRICE => 'FORMATTED_PRICE',
+ self::FLIGHT_SALE_PRICE => 'FLIGHT_SALE_PRICE',
+ self::FORMATTED_SALE_PRICE => 'FORMATTED_SALE_PRICE',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_DESTINATION_IDS => 'SIMILAR_DESTINATION_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(FlightPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\FlightPlaceholderFieldEnum_FlightPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum_FlightPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum_FlightPlaceholderField.php
new file mode 100644
index 000000000..7ec523ed3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FlightPlaceholderFieldEnum_FlightPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FrequencyCapEventTypeEnum
+ */
+final class FrequencyCapEventTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FrequencyCapEventType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum/FrequencyCapEventType.php b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum/FrequencyCapEventType.php
new file mode 100644
index 000000000..b41b42076
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum/FrequencyCapEventType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType
+ */
+class FrequencyCapEventType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The cap applies on ad impressions.
+ *
+ * Generated from protobuf enum IMPRESSION = 2;
+ */
+ const IMPRESSION = 2;
+ /**
+ * The cap applies on video ad views.
+ *
+ * Generated from protobuf enum VIDEO_VIEW = 3;
+ */
+ const VIDEO_VIEW = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::IMPRESSION => 'IMPRESSION',
+ self::VIDEO_VIEW => 'VIDEO_VIEW',
+ ];
+
+ 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(FrequencyCapEventType::class, \Google\Ads\GoogleAds\V2\Enums\FrequencyCapEventTypeEnum_FrequencyCapEventType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum_FrequencyCapEventType.php b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum_FrequencyCapEventType.php
new file mode 100644
index 000000000..1fcdb41a8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapEventTypeEnum_FrequencyCapEventType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FrequencyCapLevelEnum
+ */
+final class FrequencyCapLevelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FrequencyCapLevel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum/FrequencyCapLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum/FrequencyCapLevel.php
new file mode 100644
index 000000000..ba92a9baa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum/FrequencyCapLevel.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.FrequencyCapLevelEnum.FrequencyCapLevel
+ */
+class FrequencyCapLevel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The cap is applied at the ad group ad level.
+ *
+ * Generated from protobuf enum AD_GROUP_AD = 2;
+ */
+ const AD_GROUP_AD = 2;
+ /**
+ * The cap is applied at the ad group level.
+ *
+ * Generated from protobuf enum AD_GROUP = 3;
+ */
+ const AD_GROUP = 3;
+ /**
+ * The cap is applied at the campaign level.
+ *
+ * Generated from protobuf enum CAMPAIGN = 4;
+ */
+ const CAMPAIGN = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_GROUP_AD => 'AD_GROUP_AD',
+ self::AD_GROUP => 'AD_GROUP',
+ self::CAMPAIGN => 'CAMPAIGN',
+ ];
+
+ 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(FrequencyCapLevel::class, \Google\Ads\GoogleAds\V2\Enums\FrequencyCapLevelEnum_FrequencyCapLevel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum_FrequencyCapLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum_FrequencyCapLevel.php
new file mode 100644
index 000000000..489b76ff3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapLevelEnum_FrequencyCapLevel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.FrequencyCapTimeUnitEnum
+ */
+final class FrequencyCapTimeUnitEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\FrequencyCapTimeUnit::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum/FrequencyCapTimeUnit.php b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum/FrequencyCapTimeUnit.php
new file mode 100644
index 000000000..a5e7ba1c0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum/FrequencyCapTimeUnit.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit
+ */
+class FrequencyCapTimeUnit
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The cap would define limit per one day.
+ *
+ * Generated from protobuf enum DAY = 2;
+ */
+ const DAY = 2;
+ /**
+ * The cap would define limit per one week.
+ *
+ * Generated from protobuf enum WEEK = 3;
+ */
+ const WEEK = 3;
+ /**
+ * The cap would define limit per one month.
+ *
+ * Generated from protobuf enum MONTH = 4;
+ */
+ const MONTH = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DAY => 'DAY',
+ self::WEEK => 'WEEK',
+ self::MONTH => 'MONTH',
+ ];
+
+ 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(FrequencyCapTimeUnit::class, \Google\Ads\GoogleAds\V2\Enums\FrequencyCapTimeUnitEnum_FrequencyCapTimeUnit::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum_FrequencyCapTimeUnit.php b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum_FrequencyCapTimeUnit.php
new file mode 100644
index 000000000..b55d92271
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/FrequencyCapTimeUnitEnum_FrequencyCapTimeUnit.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.GenderTypeEnum
+ */
+final class GenderTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\GenderType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum/GenderType.php b/src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum/GenderType.php
new file mode 100644
index 000000000..222bd784e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum/GenderType.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.GenderTypeEnum.GenderType
+ */
+class GenderType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Male.
+ *
+ * Generated from protobuf enum MALE = 10;
+ */
+ const MALE = 10;
+ /**
+ * Female.
+ *
+ * Generated from protobuf enum FEMALE = 11;
+ */
+ const FEMALE = 11;
+ /**
+ * Undetermined gender.
+ *
+ * Generated from protobuf enum UNDETERMINED = 20;
+ */
+ const UNDETERMINED = 20;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MALE => 'MALE',
+ self::FEMALE => 'FEMALE',
+ self::UNDETERMINED => 'UNDETERMINED',
+ ];
+
+ 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(GenderType::class, \Google\Ads\GoogleAds\V2\Enums\GenderTypeEnum_GenderType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum_GenderType.php b/src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum_GenderType.php
new file mode 100644
index 000000000..a8ccad6ff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GenderTypeEnum_GenderType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.GeoTargetConstantStatusEnum
+ */
+final class GeoTargetConstantStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\GeoTargetConstantStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum/GeoTargetConstantStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum/GeoTargetConstantStatus.php
new file mode 100644
index 000000000..744f82e5f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum/GeoTargetConstantStatus.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus
+ */
+class GeoTargetConstantStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The geo target constant is valid.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The geo target constant is obsolete and will be removed.
+ *
+ * Generated from protobuf enum REMOVAL_PLANNED = 3;
+ */
+ const REMOVAL_PLANNED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVAL_PLANNED => 'REMOVAL_PLANNED',
+ ];
+
+ 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(GeoTargetConstantStatus::class, \Google\Ads\GoogleAds\V2\Enums\GeoTargetConstantStatusEnum_GeoTargetConstantStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum_GeoTargetConstantStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum_GeoTargetConstantStatus.php
new file mode 100644
index 000000000..7712e4794
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetConstantStatusEnum_GeoTargetConstantStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum
+ */
+final class GeoTargetingRestrictionEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\GeoTargetingRestriction::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum/GeoTargetingRestriction.php b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum/GeoTargetingRestriction.php
new file mode 100644
index 000000000..ba2783f18
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum/GeoTargetingRestriction.php
@@ -0,0 +1,66 @@
+google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction
+ */
+class GeoTargetingRestriction
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Indicates that request context should match the physical location of
+ * the user.
+ *
+ * Generated from protobuf enum LOCATION_OF_PRESENCE = 2;
+ */
+ const LOCATION_OF_PRESENCE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LOCATION_OF_PRESENCE => 'LOCATION_OF_PRESENCE',
+ ];
+
+ 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(GeoTargetingRestriction::class, \Google\Ads\GoogleAds\V2\Enums\GeoTargetingRestrictionEnum_GeoTargetingRestriction::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum_GeoTargetingRestriction.php b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum_GeoTargetingRestriction.php
new file mode 100644
index 000000000..050683c7d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingRestrictionEnum_GeoTargetingRestriction.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.GeoTargetingTypeEnum
+ */
+final class GeoTargetingTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\GeoTargetingType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum/GeoTargetingType.php b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum/GeoTargetingType.php
new file mode 100644
index 000000000..3118004e5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum/GeoTargetingType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.GeoTargetingTypeEnum.GeoTargetingType
+ */
+class GeoTargetingType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Location the user is interested in while making the query.
+ *
+ * Generated from protobuf enum AREA_OF_INTEREST = 2;
+ */
+ const AREA_OF_INTEREST = 2;
+ /**
+ * Location of the user issuing the query.
+ *
+ * Generated from protobuf enum LOCATION_OF_PRESENCE = 3;
+ */
+ const LOCATION_OF_PRESENCE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AREA_OF_INTEREST => 'AREA_OF_INTEREST',
+ self::LOCATION_OF_PRESENCE => 'LOCATION_OF_PRESENCE',
+ ];
+
+ 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(GeoTargetingType::class, \Google\Ads\GoogleAds\V2\Enums\GeoTargetingTypeEnum_GeoTargetingType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum_GeoTargetingType.php b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum_GeoTargetingType.php
new file mode 100644
index 000000000..57b541b21
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GeoTargetingTypeEnum_GeoTargetingType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.GoogleAdsFieldCategoryEnum
+ */
+final class GoogleAdsFieldCategoryEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldCategory::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum/GoogleAdsFieldCategory.php b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum/GoogleAdsFieldCategory.php
new file mode 100644
index 000000000..51ef953a8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum/GoogleAdsFieldCategory.php
@@ -0,0 +1,89 @@
+google.ads.googleads.v2.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory
+ */
+class GoogleAdsFieldCategory
+{
+ /**
+ * Unspecified
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Unknown
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The described artifact is a resource.
+ *
+ * Generated from protobuf enum RESOURCE = 2;
+ */
+ const RESOURCE = 2;
+ /**
+ * The described artifact is a field and is an attribute of a resource.
+ * Including a resource attribute field in a query may segment the query if
+ * the resource to which it is attributed segments the resource found in
+ * the FROM clause.
+ *
+ * Generated from protobuf enum ATTRIBUTE = 3;
+ */
+ const ATTRIBUTE = 3;
+ /**
+ * The described artifact is a field and always segments search queries.
+ *
+ * Generated from protobuf enum SEGMENT = 5;
+ */
+ const SEGMENT = 5;
+ /**
+ * The described artifact is a field and is a metric. It never segments
+ * search queries.
+ *
+ * Generated from protobuf enum METRIC = 6;
+ */
+ const METRIC = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::RESOURCE => 'RESOURCE',
+ self::ATTRIBUTE => 'ATTRIBUTE',
+ self::SEGMENT => 'SEGMENT',
+ self::METRIC => 'METRIC',
+ ];
+
+ 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(GoogleAdsFieldCategory::class, \Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldCategoryEnum_GoogleAdsFieldCategory::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum_GoogleAdsFieldCategory.php b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum_GoogleAdsFieldCategory.php
new file mode 100644
index 000000000..537e6408a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldCategoryEnum_GoogleAdsFieldCategory.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.GoogleAdsFieldDataTypeEnum
+ */
+final class GoogleAdsFieldDataTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldDataType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum/GoogleAdsFieldDataType.php b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum/GoogleAdsFieldDataType.php
new file mode 100644
index 000000000..5879349b7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum/GoogleAdsFieldDataType.php
@@ -0,0 +1,148 @@
+google.ads.googleads.v2.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType
+ */
+class GoogleAdsFieldDataType
+{
+ /**
+ * Unspecified
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Unknown
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Maps to google.protobuf.BoolValue
+ * Applicable operators: =, !=
+ *
+ * Generated from protobuf enum BOOLEAN = 2;
+ */
+ const BOOLEAN = 2;
+ /**
+ * Maps to google.protobuf.StringValue. It can be compared using the set of
+ * operators specific to dates however.
+ * Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN
+ *
+ * Generated from protobuf enum DATE = 3;
+ */
+ const DATE = 3;
+ /**
+ * Maps to google.protobuf.DoubleValue
+ * Applicable operators: =, !=, <, >, IN, NOT IN
+ *
+ * Generated from protobuf enum DOUBLE = 4;
+ */
+ const DOUBLE = 4;
+ /**
+ * Maps to an enum. It's specific definition can be found at type_url.
+ * Applicable operators: =, !=, IN, NOT IN
+ *
+ * Generated from protobuf enum ENUM = 5;
+ */
+ const ENUM = 5;
+ /**
+ * Maps to google.protobuf.FloatValue
+ * Applicable operators: =, !=, <, >, IN, NOT IN
+ *
+ * Generated from protobuf enum FLOAT = 6;
+ */
+ const FLOAT = 6;
+ /**
+ * Maps to google.protobuf.Int32Value
+ * Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN
+ *
+ * Generated from protobuf enum INT32 = 7;
+ */
+ const INT32 = 7;
+ /**
+ * Maps to google.protobuf.Int64Value
+ * Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN
+ *
+ * Generated from protobuf enum INT64 = 8;
+ */
+ const INT64 = 8;
+ /**
+ * Maps to a protocol buffer message type. The data type's details can be
+ * found in type_url.
+ * No operators work with MESSAGE fields.
+ *
+ * Generated from protobuf enum MESSAGE = 9;
+ */
+ const MESSAGE = 9;
+ /**
+ * Maps to google.protobuf.StringValue. Represents the resource name
+ * (unique id) of a resource or one of its foreign keys.
+ * No operators work with RESOURCE_NAME fields.
+ *
+ * Generated from protobuf enum RESOURCE_NAME = 10;
+ */
+ const RESOURCE_NAME = 10;
+ /**
+ * Maps to google.protobuf.StringValue.
+ * Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN
+ *
+ * Generated from protobuf enum STRING = 11;
+ */
+ const STRING = 11;
+ /**
+ * Maps to google.protobuf.UInt64Value
+ * Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN
+ *
+ * Generated from protobuf enum UINT64 = 12;
+ */
+ const UINT64 = 12;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BOOLEAN => 'BOOLEAN',
+ self::DATE => 'DATE',
+ self::DOUBLE => 'DOUBLE',
+ self::ENUM => 'ENUM',
+ self::FLOAT => 'FLOAT',
+ self::INT32 => 'INT32',
+ self::INT64 => 'INT64',
+ self::MESSAGE => 'MESSAGE',
+ self::RESOURCE_NAME => 'RESOURCE_NAME',
+ self::STRING => 'STRING',
+ self::UINT64 => 'UINT64',
+ ];
+
+ 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(GoogleAdsFieldDataType::class, \Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldDataTypeEnum_GoogleAdsFieldDataType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum_GoogleAdsFieldDataType.php b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum_GoogleAdsFieldDataType.php
new file mode 100644
index 000000000..0e5b41cad
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/GoogleAdsFieldDataTypeEnum_GoogleAdsFieldDataType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum
+ */
+final class HotelDateSelectionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\HotelDateSelectionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum/HotelDateSelectionType.php b/src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum/HotelDateSelectionType.php
new file mode 100644
index 000000000..c1bf3fa7b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum/HotelDateSelectionType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType
+ */
+class HotelDateSelectionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Dates selected by default.
+ *
+ * Generated from protobuf enum DEFAULT_SELECTION = 50;
+ */
+ const DEFAULT_SELECTION = 50;
+ /**
+ * Dates selected by the user.
+ *
+ * Generated from protobuf enum USER_SELECTED = 51;
+ */
+ const USER_SELECTED = 51;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DEFAULT_SELECTION => 'DEFAULT_SELECTION',
+ self::USER_SELECTED => 'USER_SELECTED',
+ ];
+
+ 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(HotelDateSelectionType::class, \Google\Ads\GoogleAds\V2\Enums\HotelDateSelectionTypeEnum_HotelDateSelectionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum_HotelDateSelectionType.php b/src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum_HotelDateSelectionType.php
new file mode 100644
index 000000000..27390cd3f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/HotelDateSelectionTypeEnum_HotelDateSelectionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.HotelPlaceholderFieldEnum
+ */
+final class HotelPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\HotelPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum/HotelPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum/HotelPlaceholderField.php
new file mode 100644
index 000000000..aea7c51ab
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum/HotelPlaceholderField.php
@@ -0,0 +1,215 @@
+google.ads.googleads.v2.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField
+ */
+class HotelPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. Unique ID.
+ *
+ * Generated from protobuf enum PROPERTY_ID = 2;
+ */
+ const PROPERTY_ID = 2;
+ /**
+ * Data Type: STRING. Required. Main headline with property name to be shown
+ * in dynamic ad.
+ *
+ * Generated from protobuf enum PROPERTY_NAME = 3;
+ */
+ const PROPERTY_NAME = 3;
+ /**
+ * Data Type: STRING. Name of destination to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum DESTINATION_NAME = 4;
+ */
+ const DESTINATION_NAME = 4;
+ /**
+ * Data Type: STRING. Description of destination to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum DESCRIPTION = 5;
+ */
+ const DESCRIPTION = 5;
+ /**
+ * Data Type: STRING. Complete property address, including postal code.
+ *
+ * Generated from protobuf enum ADDRESS = 6;
+ */
+ const ADDRESS = 6;
+ /**
+ * Data Type: STRING. Price to be shown in the ad.
+ * Example: "100.00 USD"
+ *
+ * Generated from protobuf enum PRICE = 7;
+ */
+ const PRICE = 7;
+ /**
+ * Data Type: STRING. Formatted price to be shown in the ad.
+ * Example: "Starting at $100.00 USD", "$80 - $100"
+ *
+ * Generated from protobuf enum FORMATTED_PRICE = 8;
+ */
+ const FORMATTED_PRICE = 8;
+ /**
+ * Data Type: STRING. Sale price to be shown in the ad.
+ * Example: "80.00 USD"
+ *
+ * Generated from protobuf enum SALE_PRICE = 9;
+ */
+ const SALE_PRICE = 9;
+ /**
+ * Data Type: STRING. Formatted sale price to be shown in the ad.
+ * Example: "On sale for $80.00", "$60 - $80"
+ *
+ * Generated from protobuf enum FORMATTED_SALE_PRICE = 10;
+ */
+ const FORMATTED_SALE_PRICE = 10;
+ /**
+ * Data Type: URL. Image to be displayed in the ad.
+ *
+ * Generated from protobuf enum IMAGE_URL = 11;
+ */
+ const IMAGE_URL = 11;
+ /**
+ * Data Type: STRING. Category of property used to group like items together
+ * for recommendation engine.
+ *
+ * Generated from protobuf enum CATEGORY = 12;
+ */
+ const CATEGORY = 12;
+ /**
+ * Data Type: INT64. Star rating (1 to 5) used to group like items
+ * together for recommendation engine.
+ *
+ * Generated from protobuf enum STAR_RATING = 13;
+ */
+ const STAR_RATING = 13;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 14;
+ */
+ const CONTEXTUAL_KEYWORDS = 14;
+ /**
+ * Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded
+ * URLs. User will be redirected to these URLs when they click on an ad, or
+ * when they click on a specific flight for ads that show multiple
+ * flights.
+ *
+ * Generated from protobuf enum FINAL_URLS = 15;
+ */
+ const FINAL_URLS = 15;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 16;
+ */
+ const FINAL_MOBILE_URLS = 16;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 17;
+ */
+ const TRACKING_URL = 17;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 18;
+ */
+ const ANDROID_APP_LINK = 18;
+ /**
+ * Data Type: STRING_LIST. List of recommended property IDs to show together
+ * with this item.
+ *
+ * Generated from protobuf enum SIMILAR_PROPERTY_IDS = 19;
+ */
+ const SIMILAR_PROPERTY_IDS = 19;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 20;
+ */
+ const IOS_APP_LINK = 20;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 21;
+ */
+ const IOS_APP_STORE_ID = 21;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PROPERTY_ID => 'PROPERTY_ID',
+ self::PROPERTY_NAME => 'PROPERTY_NAME',
+ self::DESTINATION_NAME => 'DESTINATION_NAME',
+ self::DESCRIPTION => 'DESCRIPTION',
+ self::ADDRESS => 'ADDRESS',
+ self::PRICE => 'PRICE',
+ self::FORMATTED_PRICE => 'FORMATTED_PRICE',
+ self::SALE_PRICE => 'SALE_PRICE',
+ self::FORMATTED_SALE_PRICE => 'FORMATTED_SALE_PRICE',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::CATEGORY => 'CATEGORY',
+ self::STAR_RATING => 'STAR_RATING',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_PROPERTY_IDS => 'SIMILAR_PROPERTY_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(HotelPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\HotelPlaceholderFieldEnum_HotelPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum_HotelPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum_HotelPlaceholderField.php
new file mode 100644
index 000000000..ea3eaf9fc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/HotelPlaceholderFieldEnum_HotelPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.HotelRateTypeEnum
+ */
+final class HotelRateTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\HotelRateType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum/HotelRateType.php b/src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum/HotelRateType.php
new file mode 100644
index 000000000..4ad637f9b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum/HotelRateType.php
@@ -0,0 +1,91 @@
+google.ads.googleads.v2.enums.HotelRateTypeEnum.HotelRateType
+ */
+class HotelRateType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Rate type information is unavailable.
+ *
+ * Generated from protobuf enum UNAVAILABLE = 2;
+ */
+ const UNAVAILABLE = 2;
+ /**
+ * Rates available to everyone.
+ *
+ * Generated from protobuf enum PUBLIC_RATE = 3;
+ */
+ const PUBLIC_RATE = 3;
+ /**
+ * A membership program rate is available and satisfies basic requirements
+ * like having a public rate available. UI treatment will strikethrough the
+ * public rate and indicate that a discount is available to the user. For
+ * more on Qualified Rates, visit
+ * https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates
+ *
+ * Generated from protobuf enum QUALIFIED_RATE = 4;
+ */
+ const QUALIFIED_RATE = 4;
+ /**
+ * Rates available to users that satisfy some eligibility criteria. e.g.
+ * all signed-in users, 20% of mobile users, all mobile users in Canada,
+ * etc.
+ *
+ * Generated from protobuf enum PRIVATE_RATE = 5;
+ */
+ const PRIVATE_RATE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UNAVAILABLE => 'UNAVAILABLE',
+ self::PUBLIC_RATE => 'PUBLIC_RATE',
+ self::QUALIFIED_RATE => 'QUALIFIED_RATE',
+ self::PRIVATE_RATE => 'PRIVATE_RATE',
+ ];
+
+ 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(HotelRateType::class, \Google\Ads\GoogleAds\V2\Enums\HotelRateTypeEnum_HotelRateType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum_HotelRateType.php b/src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum_HotelRateType.php
new file mode 100644
index 000000000..648fa1cff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/HotelRateTypeEnum_HotelRateType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.IncomeRangeTypeEnum
+ */
+final class IncomeRangeTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\IncomeRangeType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum/IncomeRangeType.php b/src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum/IncomeRangeType.php
new file mode 100644
index 000000000..cca2d5b31
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum/IncomeRangeType.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType
+ */
+class IncomeRangeType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * 0%-50%.
+ *
+ * Generated from protobuf enum INCOME_RANGE_0_50 = 510001;
+ */
+ const INCOME_RANGE_0_50 = 510001;
+ /**
+ * 50% to 60%.
+ *
+ * Generated from protobuf enum INCOME_RANGE_50_60 = 510002;
+ */
+ const INCOME_RANGE_50_60 = 510002;
+ /**
+ * 60% to 70%.
+ *
+ * Generated from protobuf enum INCOME_RANGE_60_70 = 510003;
+ */
+ const INCOME_RANGE_60_70 = 510003;
+ /**
+ * 70% to 80%.
+ *
+ * Generated from protobuf enum INCOME_RANGE_70_80 = 510004;
+ */
+ const INCOME_RANGE_70_80 = 510004;
+ /**
+ * 80% to 90%.
+ *
+ * Generated from protobuf enum INCOME_RANGE_80_90 = 510005;
+ */
+ const INCOME_RANGE_80_90 = 510005;
+ /**
+ * Greater than 90%.
+ *
+ * Generated from protobuf enum INCOME_RANGE_90_UP = 510006;
+ */
+ const INCOME_RANGE_90_UP = 510006;
+ /**
+ * Undetermined income range.
+ *
+ * Generated from protobuf enum INCOME_RANGE_UNDETERMINED = 510000;
+ */
+ const INCOME_RANGE_UNDETERMINED = 510000;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INCOME_RANGE_0_50 => 'INCOME_RANGE_0_50',
+ self::INCOME_RANGE_50_60 => 'INCOME_RANGE_50_60',
+ self::INCOME_RANGE_60_70 => 'INCOME_RANGE_60_70',
+ self::INCOME_RANGE_70_80 => 'INCOME_RANGE_70_80',
+ self::INCOME_RANGE_80_90 => 'INCOME_RANGE_80_90',
+ self::INCOME_RANGE_90_UP => 'INCOME_RANGE_90_UP',
+ self::INCOME_RANGE_UNDETERMINED => 'INCOME_RANGE_UNDETERMINED',
+ ];
+
+ 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(IncomeRangeType::class, \Google\Ads\GoogleAds\V2\Enums\IncomeRangeTypeEnum_IncomeRangeType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum_IncomeRangeType.php b/src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum_IncomeRangeType.php
new file mode 100644
index 000000000..d8ce10f5d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/IncomeRangeTypeEnum_IncomeRangeType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.InteractionEventTypeEnum
+ */
+final class InteractionEventTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\InteractionEventType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum/InteractionEventType.php b/src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum/InteractionEventType.php
new file mode 100644
index 000000000..decd321b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum/InteractionEventType.php
@@ -0,0 +1,91 @@
+google.ads.googleads.v2.enums.InteractionEventTypeEnum.InteractionEventType
+ */
+class InteractionEventType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Click to site. In most cases, this interaction navigates to an external
+ * location, usually the advertiser's landing page. This is also the default
+ * InteractionEventType for click events.
+ *
+ * Generated from protobuf enum CLICK = 2;
+ */
+ const CLICK = 2;
+ /**
+ * The user's expressed intent to engage with the ad in-place.
+ *
+ * Generated from protobuf enum ENGAGEMENT = 3;
+ */
+ const ENGAGEMENT = 3;
+ /**
+ * User viewed a video ad.
+ *
+ * Generated from protobuf enum VIDEO_VIEW = 4;
+ */
+ const VIDEO_VIEW = 4;
+ /**
+ * The default InteractionEventType for ad conversion events.
+ * This is used when an ad conversion row does NOT indicate
+ * that the free interactions (i.e., the ad conversions)
+ * should be 'promoted' and reported as part of the core metrics.
+ * These are simply other (ad) conversions.
+ *
+ * Generated from protobuf enum NONE = 5;
+ */
+ const NONE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CLICK => 'CLICK',
+ self::ENGAGEMENT => 'ENGAGEMENT',
+ self::VIDEO_VIEW => 'VIDEO_VIEW',
+ self::NONE => 'NONE',
+ ];
+
+ 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(InteractionEventType::class, \Google\Ads\GoogleAds\V2\Enums\InteractionEventTypeEnum_InteractionEventType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum_InteractionEventType.php b/src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum_InteractionEventType.php
new file mode 100644
index 000000000..937da767c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/InteractionEventTypeEnum_InteractionEventType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.InteractionTypeEnum
+ */
+final class InteractionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\InteractionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum/InteractionType.php b/src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum/InteractionType.php
new file mode 100644
index 000000000..d8971a315
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum/InteractionType.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType
+ */
+class InteractionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Calls.
+ *
+ * Generated from protobuf enum CALLS = 8000;
+ */
+ const CALLS = 8000;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CALLS => 'CALLS',
+ ];
+
+ 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(InteractionType::class, \Google\Ads\GoogleAds\V2\Enums\InteractionTypeEnum_InteractionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum_InteractionType.php b/src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum_InteractionType.php
new file mode 100644
index 000000000..dd86c4471
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/InteractionTypeEnum_InteractionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.JobPlaceholderFieldEnum
+ */
+final class JobPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\JobPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum/JobPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum/JobPlaceholderField.php
new file mode 100644
index 000000000..96a824260
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum/JobPlaceholderField.php
@@ -0,0 +1,194 @@
+google.ads.googleads.v2.enums.JobPlaceholderFieldEnum.JobPlaceholderField
+ */
+class JobPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. If only JOB_ID is specified, then it must be
+ * unique. If both JOB_ID and LOCATION_ID are specified, then the
+ * pair must be unique.
+ * ID) pair must be unique.
+ *
+ * Generated from protobuf enum JOB_ID = 2;
+ */
+ const JOB_ID = 2;
+ /**
+ * Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique
+ * per offer.
+ *
+ * Generated from protobuf enum LOCATION_ID = 3;
+ */
+ const LOCATION_ID = 3;
+ /**
+ * Data Type: STRING. Required. Main headline with job title to be shown in
+ * dynamic ad.
+ *
+ * Generated from protobuf enum TITLE = 4;
+ */
+ const TITLE = 4;
+ /**
+ * Data Type: STRING. Job subtitle to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum SUBTITLE = 5;
+ */
+ const SUBTITLE = 5;
+ /**
+ * Data Type: STRING. Description of job to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum DESCRIPTION = 6;
+ */
+ const DESCRIPTION = 6;
+ /**
+ * Data Type: URL. Image to be displayed in the ad. Highly recommended for
+ * image ads.
+ *
+ * Generated from protobuf enum IMAGE_URL = 7;
+ */
+ const IMAGE_URL = 7;
+ /**
+ * Data Type: STRING. Category of property used to group like items together
+ * for recommendation engine.
+ *
+ * Generated from protobuf enum CATEGORY = 8;
+ */
+ const CATEGORY = 8;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 9;
+ */
+ const CONTEXTUAL_KEYWORDS = 9;
+ /**
+ * Data Type: STRING. Complete property address, including postal code.
+ *
+ * Generated from protobuf enum ADDRESS = 10;
+ */
+ const ADDRESS = 10;
+ /**
+ * Data Type: STRING. Salary or salary range of job to be shown in dynamic
+ * ad.
+ *
+ * Generated from protobuf enum SALARY = 11;
+ */
+ const SALARY = 11;
+ /**
+ * Data Type: URL_LIST. Required. Final URLs to be used in ad when using
+ * Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ * specific job and its location).
+ *
+ * Generated from protobuf enum FINAL_URLS = 12;
+ */
+ const FINAL_URLS = 12;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 14;
+ */
+ const FINAL_MOBILE_URLS = 14;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 15;
+ */
+ const TRACKING_URL = 15;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 16;
+ */
+ const ANDROID_APP_LINK = 16;
+ /**
+ * Data Type: STRING_LIST. List of recommended job IDs to show together with
+ * this item.
+ *
+ * Generated from protobuf enum SIMILAR_JOB_IDS = 17;
+ */
+ const SIMILAR_JOB_IDS = 17;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 18;
+ */
+ const IOS_APP_LINK = 18;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 19;
+ */
+ const IOS_APP_STORE_ID = 19;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::JOB_ID => 'JOB_ID',
+ self::LOCATION_ID => 'LOCATION_ID',
+ self::TITLE => 'TITLE',
+ self::SUBTITLE => 'SUBTITLE',
+ self::DESCRIPTION => 'DESCRIPTION',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::CATEGORY => 'CATEGORY',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::ADDRESS => 'ADDRESS',
+ self::SALARY => 'SALARY',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_JOB_IDS => 'SIMILAR_JOB_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(JobPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\JobPlaceholderFieldEnum_JobPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum_JobPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum_JobPlaceholderField.php
new file mode 100644
index 000000000..ef2d6c918
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/JobPlaceholderFieldEnum_JobPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.KeywordMatchTypeEnum
+ */
+final class KeywordMatchTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\KeywordMatchType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum/KeywordMatchType.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum/KeywordMatchType.php
new file mode 100644
index 000000000..fbb32834a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum/KeywordMatchType.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType
+ */
+class KeywordMatchType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Exact match.
+ *
+ * Generated from protobuf enum EXACT = 2;
+ */
+ const EXACT = 2;
+ /**
+ * Phrase match.
+ *
+ * Generated from protobuf enum PHRASE = 3;
+ */
+ const PHRASE = 3;
+ /**
+ * Broad match.
+ *
+ * Generated from protobuf enum BROAD = 4;
+ */
+ const BROAD = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EXACT => 'EXACT',
+ self::PHRASE => 'PHRASE',
+ self::BROAD => 'BROAD',
+ ];
+
+ 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(KeywordMatchType::class, \Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum_KeywordMatchType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum_KeywordMatchType.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum_KeywordMatchType.php
new file mode 100644
index 000000000..515d7311d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordMatchTypeEnum_KeywordMatchType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.KeywordPlanCompetitionLevelEnum
+ */
+final class KeywordPlanCompetitionLevelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\KeywordPlanCompetitionLevel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum/KeywordPlanCompetitionLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum/KeywordPlanCompetitionLevel.php
new file mode 100644
index 000000000..e32164cc8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum/KeywordPlanCompetitionLevel.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel
+ */
+class KeywordPlanCompetitionLevel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Low competition.
+ *
+ * Generated from protobuf enum LOW = 2;
+ */
+ const LOW = 2;
+ /**
+ * Medium competition.
+ *
+ * Generated from protobuf enum MEDIUM = 3;
+ */
+ const MEDIUM = 3;
+ /**
+ * High competition.
+ *
+ * Generated from protobuf enum HIGH = 4;
+ */
+ const HIGH = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LOW => 'LOW',
+ self::MEDIUM => 'MEDIUM',
+ self::HIGH => 'HIGH',
+ ];
+
+ 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(KeywordPlanCompetitionLevel::class, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel.php
new file mode 100644
index 000000000..3c557a1f8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanCompetitionLevelEnum_KeywordPlanCompetitionLevel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.KeywordPlanForecastIntervalEnum
+ */
+final class KeywordPlanForecastIntervalEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\KeywordPlanForecastInterval::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum/KeywordPlanForecastInterval.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum/KeywordPlanForecastInterval.php
new file mode 100644
index 000000000..1916fb474
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum/KeywordPlanForecastInterval.php
@@ -0,0 +1,81 @@
+google.ads.googleads.v2.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval
+ */
+class KeywordPlanForecastInterval
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The next week date range for keyword plan. The next week is based
+ * on the default locale of the user's account and is mostly SUN-SAT or
+ * MON-SUN.
+ * This can be different from next-7 days.
+ *
+ * Generated from protobuf enum NEXT_WEEK = 3;
+ */
+ const NEXT_WEEK = 3;
+ /**
+ * The next month date range for keyword plan.
+ *
+ * Generated from protobuf enum NEXT_MONTH = 4;
+ */
+ const NEXT_MONTH = 4;
+ /**
+ * The next quarter date range for keyword plan.
+ *
+ * Generated from protobuf enum NEXT_QUARTER = 5;
+ */
+ const NEXT_QUARTER = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NEXT_WEEK => 'NEXT_WEEK',
+ self::NEXT_MONTH => 'NEXT_MONTH',
+ self::NEXT_QUARTER => 'NEXT_QUARTER',
+ ];
+
+ 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(KeywordPlanForecastInterval::class, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanForecastIntervalEnum_KeywordPlanForecastInterval::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum_KeywordPlanForecastInterval.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum_KeywordPlanForecastInterval.php
new file mode 100644
index 000000000..321c64199
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanForecastIntervalEnum_KeywordPlanForecastInterval.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.KeywordPlanNetworkEnum
+ */
+final class KeywordPlanNetworkEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\KeywordPlanNetwork::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum/KeywordPlanNetwork.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum/KeywordPlanNetwork.php
new file mode 100644
index 000000000..0749a4d96
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum/KeywordPlanNetwork.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork
+ */
+class KeywordPlanNetwork
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Google Search.
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH = 2;
+ */
+ const GOOGLE_SEARCH = 2;
+ /**
+ * Google Search + Search partners.
+ *
+ * Generated from protobuf enum GOOGLE_SEARCH_AND_PARTNERS = 3;
+ */
+ const GOOGLE_SEARCH_AND_PARTNERS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::GOOGLE_SEARCH => 'GOOGLE_SEARCH',
+ self::GOOGLE_SEARCH_AND_PARTNERS => 'GOOGLE_SEARCH_AND_PARTNERS',
+ ];
+
+ 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(KeywordPlanNetwork::class, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanNetworkEnum_KeywordPlanNetwork::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum_KeywordPlanNetwork.php b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum_KeywordPlanNetwork.php
new file mode 100644
index 000000000..5a532c1c6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/KeywordPlanNetworkEnum_KeywordPlanNetwork.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.LabelStatusEnum
+ */
+final class LabelStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\LabelStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum/LabelStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum/LabelStatus.php
new file mode 100644
index 000000000..db7bc1dae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum/LabelStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.LabelStatusEnum.LabelStatus
+ */
+class LabelStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Label is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * Label is removed.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(LabelStatus::class, \Google\Ads\GoogleAds\V2\Enums\LabelStatusEnum_LabelStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum_LabelStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum_LabelStatus.php
new file mode 100644
index 000000000..415c4b51f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LabelStatusEnum_LabelStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum
+ */
+final class LegacyAppInstallAdAppStoreEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\LegacyAppInstallAdAppStore::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum/LegacyAppInstallAdAppStore.php b/src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum/LegacyAppInstallAdAppStore.php
new file mode 100644
index 000000000..88f281894
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum/LegacyAppInstallAdAppStore.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
+ */
+class LegacyAppInstallAdAppStore
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Apple iTunes.
+ *
+ * Generated from protobuf enum APPLE_APP_STORE = 2;
+ */
+ const APPLE_APP_STORE = 2;
+ /**
+ * Google Play.
+ *
+ * Generated from protobuf enum GOOGLE_PLAY = 3;
+ */
+ const GOOGLE_PLAY = 3;
+ /**
+ * Windows Store.
+ *
+ * Generated from protobuf enum WINDOWS_STORE = 4;
+ */
+ const WINDOWS_STORE = 4;
+ /**
+ * Windows Phone Store.
+ *
+ * Generated from protobuf enum WINDOWS_PHONE_STORE = 5;
+ */
+ const WINDOWS_PHONE_STORE = 5;
+ /**
+ * The app is hosted in a Chinese app store.
+ *
+ * Generated from protobuf enum CN_APP_STORE = 6;
+ */
+ const CN_APP_STORE = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::APPLE_APP_STORE => 'APPLE_APP_STORE',
+ self::GOOGLE_PLAY => 'GOOGLE_PLAY',
+ self::WINDOWS_STORE => 'WINDOWS_STORE',
+ self::WINDOWS_PHONE_STORE => 'WINDOWS_PHONE_STORE',
+ self::CN_APP_STORE => 'CN_APP_STORE',
+ ];
+
+ 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(LegacyAppInstallAdAppStore::class, \Google\Ads\GoogleAds\V2\Enums\LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore.php b/src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore.php
new file mode 100644
index 000000000..efa31681a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum
+ */
+final class ListingCustomAttributeIndexEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ListingCustomAttributeIndex::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum/ListingCustomAttributeIndex.php b/src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum/ListingCustomAttributeIndex.php
new file mode 100644
index 000000000..964f6385c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum/ListingCustomAttributeIndex.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex
+ */
+class ListingCustomAttributeIndex
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * First listing custom attribute.
+ *
+ * Generated from protobuf enum INDEX0 = 7;
+ */
+ const INDEX0 = 7;
+ /**
+ * Second listing custom attribute.
+ *
+ * Generated from protobuf enum INDEX1 = 8;
+ */
+ const INDEX1 = 8;
+ /**
+ * Third listing custom attribute.
+ *
+ * Generated from protobuf enum INDEX2 = 9;
+ */
+ const INDEX2 = 9;
+ /**
+ * Fourth listing custom attribute.
+ *
+ * Generated from protobuf enum INDEX3 = 10;
+ */
+ const INDEX3 = 10;
+ /**
+ * Fifth listing custom attribute.
+ *
+ * Generated from protobuf enum INDEX4 = 11;
+ */
+ const INDEX4 = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INDEX0 => 'INDEX0',
+ self::INDEX1 => 'INDEX1',
+ self::INDEX2 => 'INDEX2',
+ self::INDEX3 => 'INDEX3',
+ self::INDEX4 => 'INDEX4',
+ ];
+
+ 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(ListingCustomAttributeIndex::class, \Google\Ads\GoogleAds\V2\Enums\ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex.php b/src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex.php
new file mode 100644
index 000000000..83f3a1524
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ListingGroupTypeEnum
+ */
+final class ListingGroupTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ListingGroupType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum/ListingGroupType.php b/src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum/ListingGroupType.php
new file mode 100644
index 000000000..533a9568d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum/ListingGroupType.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType
+ */
+class ListingGroupType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Subdivision of products along some listing dimension. These nodes
+ * are not used by serving to target listing entries, but is purely
+ * to define the structure of the tree.
+ *
+ * Generated from protobuf enum SUBDIVISION = 2;
+ */
+ const SUBDIVISION = 2;
+ /**
+ * Listing group unit that defines a bid.
+ *
+ * Generated from protobuf enum UNIT = 3;
+ */
+ const UNIT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SUBDIVISION => 'SUBDIVISION',
+ self::UNIT => 'UNIT',
+ ];
+
+ 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(ListingGroupType::class, \Google\Ads\GoogleAds\V2\Enums\ListingGroupTypeEnum_ListingGroupType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum_ListingGroupType.php b/src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum_ListingGroupType.php
new file mode 100644
index 000000000..6f032485a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ListingGroupTypeEnum_ListingGroupType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.LocalPlaceholderFieldEnum
+ */
+final class LocalPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\LocalPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum/LocalPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum/LocalPlaceholderField.php
new file mode 100644
index 000000000..ccf96baf8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum/LocalPlaceholderField.php
@@ -0,0 +1,206 @@
+google.ads.googleads.v2.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField
+ */
+class LocalPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. Unique ID.
+ *
+ * Generated from protobuf enum DEAL_ID = 2;
+ */
+ const DEAL_ID = 2;
+ /**
+ * Data Type: STRING. Required. Main headline with local deal title to be
+ * shown in dynamic ad.
+ *
+ * Generated from protobuf enum DEAL_NAME = 3;
+ */
+ const DEAL_NAME = 3;
+ /**
+ * Data Type: STRING. Local deal subtitle to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum SUBTITLE = 4;
+ */
+ const SUBTITLE = 4;
+ /**
+ * Data Type: STRING. Description of local deal to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum DESCRIPTION = 5;
+ */
+ const DESCRIPTION = 5;
+ /**
+ * Data Type: STRING. Price to be shown in the ad. Highly recommended for
+ * dynamic ads. Example: "100.00 USD"
+ *
+ * Generated from protobuf enum PRICE = 6;
+ */
+ const PRICE = 6;
+ /**
+ * Data Type: STRING. Formatted price to be shown in the ad.
+ * Example: "Starting at $100.00 USD", "$80 - $100"
+ *
+ * Generated from protobuf enum FORMATTED_PRICE = 7;
+ */
+ const FORMATTED_PRICE = 7;
+ /**
+ * Data Type: STRING. Sale price to be shown in the ad.
+ * Example: "80.00 USD"
+ *
+ * Generated from protobuf enum SALE_PRICE = 8;
+ */
+ const SALE_PRICE = 8;
+ /**
+ * Data Type: STRING. Formatted sale price to be shown in the ad.
+ * Example: "On sale for $80.00", "$60 - $80"
+ *
+ * Generated from protobuf enum FORMATTED_SALE_PRICE = 9;
+ */
+ const FORMATTED_SALE_PRICE = 9;
+ /**
+ * Data Type: URL. Image to be displayed in the ad.
+ *
+ * Generated from protobuf enum IMAGE_URL = 10;
+ */
+ const IMAGE_URL = 10;
+ /**
+ * Data Type: STRING. Complete property address, including postal code.
+ *
+ * Generated from protobuf enum ADDRESS = 11;
+ */
+ const ADDRESS = 11;
+ /**
+ * Data Type: STRING. Category of local deal used to group like items
+ * together for recommendation engine.
+ *
+ * Generated from protobuf enum CATEGORY = 12;
+ */
+ const CATEGORY = 12;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 13;
+ */
+ const CONTEXTUAL_KEYWORDS = 13;
+ /**
+ * Data Type: URL_LIST. Required. Final URLs to be used in ad when using
+ * Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ * specific local deal and its location).
+ *
+ * Generated from protobuf enum FINAL_URLS = 14;
+ */
+ const FINAL_URLS = 14;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 15;
+ */
+ const FINAL_MOBILE_URLS = 15;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 16;
+ */
+ const TRACKING_URL = 16;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 17;
+ */
+ const ANDROID_APP_LINK = 17;
+ /**
+ * Data Type: STRING_LIST. List of recommended local deal IDs to show
+ * together with this item.
+ *
+ * Generated from protobuf enum SIMILAR_DEAL_IDS = 18;
+ */
+ const SIMILAR_DEAL_IDS = 18;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 19;
+ */
+ const IOS_APP_LINK = 19;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 20;
+ */
+ const IOS_APP_STORE_ID = 20;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DEAL_ID => 'DEAL_ID',
+ self::DEAL_NAME => 'DEAL_NAME',
+ self::SUBTITLE => 'SUBTITLE',
+ self::DESCRIPTION => 'DESCRIPTION',
+ self::PRICE => 'PRICE',
+ self::FORMATTED_PRICE => 'FORMATTED_PRICE',
+ self::SALE_PRICE => 'SALE_PRICE',
+ self::FORMATTED_SALE_PRICE => 'FORMATTED_SALE_PRICE',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::ADDRESS => 'ADDRESS',
+ self::CATEGORY => 'CATEGORY',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_DEAL_IDS => 'SIMILAR_DEAL_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(LocalPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\LocalPlaceholderFieldEnum_LocalPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum_LocalPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum_LocalPlaceholderField.php
new file mode 100644
index 000000000..95a17fa02
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocalPlaceholderFieldEnum_LocalPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.LocationExtensionTargetingCriterionFieldEnum
+ */
+final class LocationExtensionTargetingCriterionFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\LocationExtensionTargetingCriterionField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum/LocationExtensionTargetingCriterionField.php b/src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum/LocationExtensionTargetingCriterionField.php
new file mode 100644
index 000000000..cda88e93e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum/LocationExtensionTargetingCriterionField.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField
+ */
+class LocationExtensionTargetingCriterionField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Line 1 of the business address.
+ *
+ * Generated from protobuf enum ADDRESS_LINE_1 = 2;
+ */
+ const ADDRESS_LINE_1 = 2;
+ /**
+ * Data Type: STRING. Line 2 of the business address.
+ *
+ * Generated from protobuf enum ADDRESS_LINE_2 = 3;
+ */
+ const ADDRESS_LINE_2 = 3;
+ /**
+ * Data Type: STRING. City of the business address.
+ *
+ * Generated from protobuf enum CITY = 4;
+ */
+ const CITY = 4;
+ /**
+ * Data Type: STRING. Province of the business address.
+ *
+ * Generated from protobuf enum PROVINCE = 5;
+ */
+ const PROVINCE = 5;
+ /**
+ * Data Type: STRING. Postal code of the business address.
+ *
+ * Generated from protobuf enum POSTAL_CODE = 6;
+ */
+ const POSTAL_CODE = 6;
+ /**
+ * Data Type: STRING. Country code of the business address.
+ *
+ * Generated from protobuf enum COUNTRY_CODE = 7;
+ */
+ const COUNTRY_CODE = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ADDRESS_LINE_1 => 'ADDRESS_LINE_1',
+ self::ADDRESS_LINE_2 => 'ADDRESS_LINE_2',
+ self::CITY => 'CITY',
+ self::PROVINCE => 'PROVINCE',
+ self::POSTAL_CODE => 'POSTAL_CODE',
+ self::COUNTRY_CODE => 'COUNTRY_CODE',
+ ];
+
+ 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(LocationExtensionTargetingCriterionField::class, \Google\Ads\GoogleAds\V2\Enums\LocationExtensionTargetingCriterionFieldEnum_LocationExtensionTargetingCriterionField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum_LocationExtensionTargetingCriterionField.php b/src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum_LocationExtensionTargetingCriterionField.php
new file mode 100644
index 000000000..de1f079c6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocationExtensionTargetingCriterionFieldEnum_LocationExtensionTargetingCriterionField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum
+ */
+final class LocationGroupRadiusUnitsEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\LocationGroupRadiusUnits::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum/LocationGroupRadiusUnits.php b/src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum/LocationGroupRadiusUnits.php
new file mode 100644
index 000000000..c61bdd4d0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum/LocationGroupRadiusUnits.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits
+ */
+class LocationGroupRadiusUnits
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Meters
+ *
+ * Generated from protobuf enum METERS = 2;
+ */
+ const METERS = 2;
+ /**
+ * Miles
+ *
+ * Generated from protobuf enum MILES = 3;
+ */
+ const MILES = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::METERS => 'METERS',
+ self::MILES => 'MILES',
+ ];
+
+ 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(LocationGroupRadiusUnits::class, \Google\Ads\GoogleAds\V2\Enums\LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits.php b/src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits.php
new file mode 100644
index 000000000..a19b3dd2c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.LocationPlaceholderFieldEnum
+ */
+final class LocationPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\LocationPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum/LocationPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum/LocationPlaceholderField.php
new file mode 100644
index 000000000..219816fcf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum/LocationPlaceholderField.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField
+ */
+class LocationPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The name of the business.
+ *
+ * Generated from protobuf enum BUSINESS_NAME = 2;
+ */
+ const BUSINESS_NAME = 2;
+ /**
+ * Data Type: STRING. Line 1 of the business address.
+ *
+ * Generated from protobuf enum ADDRESS_LINE_1 = 3;
+ */
+ const ADDRESS_LINE_1 = 3;
+ /**
+ * Data Type: STRING. Line 2 of the business address.
+ *
+ * Generated from protobuf enum ADDRESS_LINE_2 = 4;
+ */
+ const ADDRESS_LINE_2 = 4;
+ /**
+ * Data Type: STRING. City of the business address.
+ *
+ * Generated from protobuf enum CITY = 5;
+ */
+ const CITY = 5;
+ /**
+ * Data Type: STRING. Province of the business address.
+ *
+ * Generated from protobuf enum PROVINCE = 6;
+ */
+ const PROVINCE = 6;
+ /**
+ * Data Type: STRING. Postal code of the business address.
+ *
+ * Generated from protobuf enum POSTAL_CODE = 7;
+ */
+ const POSTAL_CODE = 7;
+ /**
+ * Data Type: STRING. Country code of the business address.
+ *
+ * Generated from protobuf enum COUNTRY_CODE = 8;
+ */
+ const COUNTRY_CODE = 8;
+ /**
+ * Data Type: STRING. Phone number of the business.
+ *
+ * Generated from protobuf enum PHONE_NUMBER = 9;
+ */
+ const PHONE_NUMBER = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BUSINESS_NAME => 'BUSINESS_NAME',
+ self::ADDRESS_LINE_1 => 'ADDRESS_LINE_1',
+ self::ADDRESS_LINE_2 => 'ADDRESS_LINE_2',
+ self::CITY => 'CITY',
+ self::PROVINCE => 'PROVINCE',
+ self::POSTAL_CODE => 'POSTAL_CODE',
+ self::COUNTRY_CODE => 'COUNTRY_CODE',
+ self::PHONE_NUMBER => 'PHONE_NUMBER',
+ ];
+
+ 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(LocationPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\LocationPlaceholderFieldEnum_LocationPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum_LocationPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum_LocationPlaceholderField.php
new file mode 100644
index 000000000..4b86259be
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/LocationPlaceholderFieldEnum_LocationPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ManagerLinkStatusEnum
+ */
+final class ManagerLinkStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ManagerLinkStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum/ManagerLinkStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum/ManagerLinkStatus.php
new file mode 100644
index 000000000..9d46c8db2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum/ManagerLinkStatus.php
@@ -0,0 +1,94 @@
+google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus
+ */
+class ManagerLinkStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Indicates current in-effect relationship
+ *
+ * Generated from protobuf enum ACTIVE = 2;
+ */
+ const ACTIVE = 2;
+ /**
+ * Indicates terminated relationship
+ *
+ * Generated from protobuf enum INACTIVE = 3;
+ */
+ const INACTIVE = 3;
+ /**
+ * Indicates relationship has been requested by manager, but the client
+ * hasn't accepted yet.
+ *
+ * Generated from protobuf enum PENDING = 4;
+ */
+ const PENDING = 4;
+ /**
+ * Relationship was requested by the manager, but the client has refused.
+ *
+ * Generated from protobuf enum REFUSED = 5;
+ */
+ const REFUSED = 5;
+ /**
+ * Indicates relationship has been requested by manager, but manager
+ * canceled it.
+ *
+ * Generated from protobuf enum CANCELED = 6;
+ */
+ const CANCELED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ACTIVE => 'ACTIVE',
+ self::INACTIVE => 'INACTIVE',
+ self::PENDING => 'PENDING',
+ self::REFUSED => 'REFUSED',
+ self::CANCELED => 'CANCELED',
+ ];
+
+ 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(ManagerLinkStatus::class, \Google\Ads\GoogleAds\V2\Enums\ManagerLinkStatusEnum_ManagerLinkStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum_ManagerLinkStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum_ManagerLinkStatus.php
new file mode 100644
index 000000000..2736bda98
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ManagerLinkStatusEnum_ManagerLinkStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MatchingFunctionContextTypeEnum
+ */
+final class MatchingFunctionContextTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MatchingFunctionContextType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum/MatchingFunctionContextType.php b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum/MatchingFunctionContextType.php
new file mode 100644
index 000000000..65ade6343
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum/MatchingFunctionContextType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType
+ */
+class MatchingFunctionContextType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Feed item id in the request context.
+ *
+ * Generated from protobuf enum FEED_ITEM_ID = 2;
+ */
+ const FEED_ITEM_ID = 2;
+ /**
+ * The device being used (possible values are 'Desktop' or 'Mobile').
+ *
+ * Generated from protobuf enum DEVICE_NAME = 3;
+ */
+ const DEVICE_NAME = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FEED_ITEM_ID => 'FEED_ITEM_ID',
+ self::DEVICE_NAME => 'DEVICE_NAME',
+ ];
+
+ 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(MatchingFunctionContextType::class, \Google\Ads\GoogleAds\V2\Enums\MatchingFunctionContextTypeEnum_MatchingFunctionContextType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum_MatchingFunctionContextType.php b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum_MatchingFunctionContextType.php
new file mode 100644
index 000000000..c326a7c1a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionContextTypeEnum_MatchingFunctionContextType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MatchingFunctionOperatorEnum
+ */
+final class MatchingFunctionOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MatchingFunctionOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum/MatchingFunctionOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum/MatchingFunctionOperator.php
new file mode 100644
index 000000000..3d18bee92
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum/MatchingFunctionOperator.php
@@ -0,0 +1,98 @@
+google.ads.googleads.v2.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator
+ */
+class MatchingFunctionOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The IN operator.
+ *
+ * Generated from protobuf enum IN = 2;
+ */
+ const IN = 2;
+ /**
+ * The IDENTITY operator.
+ *
+ * Generated from protobuf enum IDENTITY = 3;
+ */
+ const IDENTITY = 3;
+ /**
+ * The EQUALS operator
+ *
+ * Generated from protobuf enum EQUALS = 4;
+ */
+ const EQUALS = 4;
+ /**
+ * Operator that takes two or more operands that are of type
+ * FunctionOperand and checks that all the operands evaluate to true.
+ * For functions related to ad formats, all the operands must be in
+ * left_operands.
+ *
+ * Generated from protobuf enum AND = 5;
+ */
+ const PBAND = 5;
+ /**
+ * Operator that returns true if the elements in left_operands contain any
+ * of the elements in right_operands. Otherwise, return false. The
+ * right_operands must contain at least 1 and no more than 3
+ * ConstantOperands.
+ *
+ * Generated from protobuf enum CONTAINS_ANY = 6;
+ */
+ const CONTAINS_ANY = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::IN => 'IN',
+ self::IDENTITY => 'IDENTITY',
+ self::EQUALS => 'EQUALS',
+ self::PBAND => 'PBAND',
+ self::CONTAINS_ANY => 'CONTAINS_ANY',
+ ];
+
+ 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(MatchingFunctionOperator::class, \Google\Ads\GoogleAds\V2\Enums\MatchingFunctionOperatorEnum_MatchingFunctionOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum_MatchingFunctionOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum_MatchingFunctionOperator.php
new file mode 100644
index 000000000..f7a66c72f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MatchingFunctionOperatorEnum_MatchingFunctionOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MediaTypeEnum
+ */
+final class MediaTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MediaType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum/MediaType.php b/src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum/MediaType.php
new file mode 100644
index 000000000..2ee6d0cd2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum/MediaType.php
@@ -0,0 +1,100 @@
+google.ads.googleads.v2.enums.MediaTypeEnum.MediaType
+ */
+class MediaType
+{
+ /**
+ * The media type has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Static image, used for image ad.
+ *
+ * Generated from protobuf enum IMAGE = 2;
+ */
+ const IMAGE = 2;
+ /**
+ * Small image, used for map ad.
+ *
+ * Generated from protobuf enum ICON = 3;
+ */
+ const ICON = 3;
+ /**
+ * ZIP file, used in fields of template ads.
+ *
+ * Generated from protobuf enum MEDIA_BUNDLE = 4;
+ */
+ const MEDIA_BUNDLE = 4;
+ /**
+ * Audio file.
+ *
+ * Generated from protobuf enum AUDIO = 5;
+ */
+ const AUDIO = 5;
+ /**
+ * Video file.
+ *
+ * Generated from protobuf enum VIDEO = 6;
+ */
+ const VIDEO = 6;
+ /**
+ * Animated image, such as animated GIF.
+ *
+ * Generated from protobuf enum DYNAMIC_IMAGE = 7;
+ */
+ const DYNAMIC_IMAGE = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::IMAGE => 'IMAGE',
+ self::ICON => 'ICON',
+ self::MEDIA_BUNDLE => 'MEDIA_BUNDLE',
+ self::AUDIO => 'AUDIO',
+ self::VIDEO => 'VIDEO',
+ self::DYNAMIC_IMAGE => 'DYNAMIC_IMAGE',
+ ];
+
+ 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(MediaType::class, \Google\Ads\GoogleAds\V2\Enums\MediaTypeEnum_MediaType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum_MediaType.php b/src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum_MediaType.php
new file mode 100644
index 000000000..bbc2c381c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MediaTypeEnum_MediaType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MerchantCenterLinkStatusEnum
+ */
+final class MerchantCenterLinkStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MerchantCenterLinkStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum/MerchantCenterLinkStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum/MerchantCenterLinkStatus.php
new file mode 100644
index 000000000..cda623069
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum/MerchantCenterLinkStatus.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus
+ */
+class MerchantCenterLinkStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The link is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The link has no effect. It was proposed by the Merchant Center Account
+ * owner and hasn't been confirmed by the customer.
+ *
+ * Generated from protobuf enum PENDING = 3;
+ */
+ const PENDING = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::PENDING => 'PENDING',
+ ];
+
+ 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(MerchantCenterLinkStatus::class, \Google\Ads\GoogleAds\V2\Enums\MerchantCenterLinkStatusEnum_MerchantCenterLinkStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum_MerchantCenterLinkStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum_MerchantCenterLinkStatus.php
new file mode 100644
index 000000000..2d59c6db2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MerchantCenterLinkStatusEnum_MerchantCenterLinkStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MessagePlaceholderFieldEnum
+ */
+final class MessagePlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MessagePlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum/MessagePlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum/MessagePlaceholderField.php
new file mode 100644
index 000000000..b46062dc8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum/MessagePlaceholderField.php
@@ -0,0 +1,94 @@
+google.ads.googleads.v2.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField
+ */
+class MessagePlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The name of your business.
+ *
+ * Generated from protobuf enum BUSINESS_NAME = 2;
+ */
+ const BUSINESS_NAME = 2;
+ /**
+ * Data Type: STRING. Country code of phone number.
+ *
+ * Generated from protobuf enum COUNTRY_CODE = 3;
+ */
+ const COUNTRY_CODE = 3;
+ /**
+ * Data Type: STRING. A phone number that's capable of sending and receiving
+ * text messages.
+ *
+ * Generated from protobuf enum PHONE_NUMBER = 4;
+ */
+ const PHONE_NUMBER = 4;
+ /**
+ * Data Type: STRING. The text that will go in your click-to-message ad.
+ *
+ * Generated from protobuf enum MESSAGE_EXTENSION_TEXT = 5;
+ */
+ const MESSAGE_EXTENSION_TEXT = 5;
+ /**
+ * Data Type: STRING. The message text automatically shows in people's
+ * messaging apps when they tap to send you a message.
+ *
+ * Generated from protobuf enum MESSAGE_TEXT = 6;
+ */
+ const MESSAGE_TEXT = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BUSINESS_NAME => 'BUSINESS_NAME',
+ self::COUNTRY_CODE => 'COUNTRY_CODE',
+ self::PHONE_NUMBER => 'PHONE_NUMBER',
+ self::MESSAGE_EXTENSION_TEXT => 'MESSAGE_EXTENSION_TEXT',
+ self::MESSAGE_TEXT => 'MESSAGE_TEXT',
+ ];
+
+ 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(MessagePlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\MessagePlaceholderFieldEnum_MessagePlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum_MessagePlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum_MessagePlaceholderField.php
new file mode 100644
index 000000000..62cb343e4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MessagePlaceholderFieldEnum_MessagePlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MimeTypeEnum
+ */
+final class MimeTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MimeType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum/MimeType.php b/src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum/MimeType.php
new file mode 100644
index 000000000..ab62c39b1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum/MimeType.php
@@ -0,0 +1,142 @@
+google.ads.googleads.v2.enums.MimeTypeEnum.MimeType
+ */
+class MimeType
+{
+ /**
+ * The mime type has not been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * MIME type of image/jpeg.
+ *
+ * Generated from protobuf enum IMAGE_JPEG = 2;
+ */
+ const IMAGE_JPEG = 2;
+ /**
+ * MIME type of image/gif.
+ *
+ * Generated from protobuf enum IMAGE_GIF = 3;
+ */
+ const IMAGE_GIF = 3;
+ /**
+ * MIME type of image/png.
+ *
+ * Generated from protobuf enum IMAGE_PNG = 4;
+ */
+ const IMAGE_PNG = 4;
+ /**
+ * MIME type of application/x-shockwave-flash.
+ *
+ * Generated from protobuf enum FLASH = 5;
+ */
+ const FLASH = 5;
+ /**
+ * MIME type of text/html.
+ *
+ * Generated from protobuf enum TEXT_HTML = 6;
+ */
+ const TEXT_HTML = 6;
+ /**
+ * MIME type of application/pdf.
+ *
+ * Generated from protobuf enum PDF = 7;
+ */
+ const PDF = 7;
+ /**
+ * MIME type of application/msword.
+ *
+ * Generated from protobuf enum MSWORD = 8;
+ */
+ const MSWORD = 8;
+ /**
+ * MIME type of application/vnd.ms-excel.
+ *
+ * Generated from protobuf enum MSEXCEL = 9;
+ */
+ const MSEXCEL = 9;
+ /**
+ * MIME type of application/rtf.
+ *
+ * Generated from protobuf enum RTF = 10;
+ */
+ const RTF = 10;
+ /**
+ * MIME type of audio/wav.
+ *
+ * Generated from protobuf enum AUDIO_WAV = 11;
+ */
+ const AUDIO_WAV = 11;
+ /**
+ * MIME type of audio/mp3.
+ *
+ * Generated from protobuf enum AUDIO_MP3 = 12;
+ */
+ const AUDIO_MP3 = 12;
+ /**
+ * MIME type of application/x-html5-ad-zip.
+ *
+ * Generated from protobuf enum HTML5_AD_ZIP = 13;
+ */
+ const HTML5_AD_ZIP = 13;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::IMAGE_JPEG => 'IMAGE_JPEG',
+ self::IMAGE_GIF => 'IMAGE_GIF',
+ self::IMAGE_PNG => 'IMAGE_PNG',
+ self::FLASH => 'FLASH',
+ self::TEXT_HTML => 'TEXT_HTML',
+ self::PDF => 'PDF',
+ self::MSWORD => 'MSWORD',
+ self::MSEXCEL => 'MSEXCEL',
+ self::RTF => 'RTF',
+ self::AUDIO_WAV => 'AUDIO_WAV',
+ self::AUDIO_MP3 => 'AUDIO_MP3',
+ self::HTML5_AD_ZIP => 'HTML5_AD_ZIP',
+ ];
+
+ 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(MimeType::class, \Google\Ads\GoogleAds\V2\Enums\MimeTypeEnum_MimeType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum_MimeType.php b/src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum_MimeType.php
new file mode 100644
index 000000000..f3a2c9ba3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MimeTypeEnum_MimeType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MinuteOfHourEnum
+ */
+final class MinuteOfHourEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MinuteOfHour::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum/MinuteOfHour.php b/src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum/MinuteOfHour.php
new file mode 100644
index 000000000..02d086072
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum/MinuteOfHour.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour
+ */
+class MinuteOfHour
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Zero minutes past the hour.
+ *
+ * Generated from protobuf enum ZERO = 2;
+ */
+ const ZERO = 2;
+ /**
+ * Fifteen minutes past the hour.
+ *
+ * Generated from protobuf enum FIFTEEN = 3;
+ */
+ const FIFTEEN = 3;
+ /**
+ * Thirty minutes past the hour.
+ *
+ * Generated from protobuf enum THIRTY = 4;
+ */
+ const THIRTY = 4;
+ /**
+ * Forty-five minutes past the hour.
+ *
+ * Generated from protobuf enum FORTY_FIVE = 5;
+ */
+ const FORTY_FIVE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ZERO => 'ZERO',
+ self::FIFTEEN => 'FIFTEEN',
+ self::THIRTY => 'THIRTY',
+ self::FORTY_FIVE => 'FORTY_FIVE',
+ ];
+
+ 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(MinuteOfHour::class, \Google\Ads\GoogleAds\V2\Enums\MinuteOfHourEnum_MinuteOfHour::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum_MinuteOfHour.php b/src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum_MinuteOfHour.php
new file mode 100644
index 000000000..64c9637ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MinuteOfHourEnum_MinuteOfHour.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MobileDeviceTypeEnum
+ */
+final class MobileDeviceTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MobileDeviceType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum/MobileDeviceType.php b/src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum/MobileDeviceType.php
new file mode 100644
index 000000000..a5a6f47a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum/MobileDeviceType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.MobileDeviceTypeEnum.MobileDeviceType
+ */
+class MobileDeviceType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Mobile phones.
+ *
+ * Generated from protobuf enum MOBILE = 2;
+ */
+ const MOBILE = 2;
+ /**
+ * Tablets.
+ *
+ * Generated from protobuf enum TABLET = 3;
+ */
+ const TABLET = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MOBILE => 'MOBILE',
+ self::TABLET => 'TABLET',
+ ];
+
+ 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(MobileDeviceType::class, \Google\Ads\GoogleAds\V2\Enums\MobileDeviceTypeEnum_MobileDeviceType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum_MobileDeviceType.php b/src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum_MobileDeviceType.php
new file mode 100644
index 000000000..684d4240e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MobileDeviceTypeEnum_MobileDeviceType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MonthOfYearEnum
+ */
+final class MonthOfYearEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MonthOfYear::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum/MonthOfYear.php b/src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum/MonthOfYear.php
new file mode 100644
index 000000000..d0c09cc99
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum/MonthOfYear.php
@@ -0,0 +1,141 @@
+google.ads.googleads.v2.enums.MonthOfYearEnum.MonthOfYear
+ */
+class MonthOfYear
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * January.
+ *
+ * Generated from protobuf enum JANUARY = 2;
+ */
+ const JANUARY = 2;
+ /**
+ * February.
+ *
+ * Generated from protobuf enum FEBRUARY = 3;
+ */
+ const FEBRUARY = 3;
+ /**
+ * March.
+ *
+ * Generated from protobuf enum MARCH = 4;
+ */
+ const MARCH = 4;
+ /**
+ * April.
+ *
+ * Generated from protobuf enum APRIL = 5;
+ */
+ const APRIL = 5;
+ /**
+ * May.
+ *
+ * Generated from protobuf enum MAY = 6;
+ */
+ const MAY = 6;
+ /**
+ * June.
+ *
+ * Generated from protobuf enum JUNE = 7;
+ */
+ const JUNE = 7;
+ /**
+ * July.
+ *
+ * Generated from protobuf enum JULY = 8;
+ */
+ const JULY = 8;
+ /**
+ * August.
+ *
+ * Generated from protobuf enum AUGUST = 9;
+ */
+ const AUGUST = 9;
+ /**
+ * September.
+ *
+ * Generated from protobuf enum SEPTEMBER = 10;
+ */
+ const SEPTEMBER = 10;
+ /**
+ * October.
+ *
+ * Generated from protobuf enum OCTOBER = 11;
+ */
+ const OCTOBER = 11;
+ /**
+ * November.
+ *
+ * Generated from protobuf enum NOVEMBER = 12;
+ */
+ const NOVEMBER = 12;
+ /**
+ * December.
+ *
+ * Generated from protobuf enum DECEMBER = 13;
+ */
+ const DECEMBER = 13;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::JANUARY => 'JANUARY',
+ self::FEBRUARY => 'FEBRUARY',
+ self::MARCH => 'MARCH',
+ self::APRIL => 'APRIL',
+ self::MAY => 'MAY',
+ self::JUNE => 'JUNE',
+ self::JULY => 'JULY',
+ self::AUGUST => 'AUGUST',
+ self::SEPTEMBER => 'SEPTEMBER',
+ self::OCTOBER => 'OCTOBER',
+ self::NOVEMBER => 'NOVEMBER',
+ self::DECEMBER => 'DECEMBER',
+ ];
+
+ 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(MonthOfYear::class, \Google\Ads\GoogleAds\V2\Enums\MonthOfYearEnum_MonthOfYear::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum_MonthOfYear.php b/src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum_MonthOfYear.php
new file mode 100644
index 000000000..b83ba8e54
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MonthOfYearEnum_MonthOfYear.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.MutateJobStatusEnum
+ */
+final class MutateJobStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\MutateJobStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum/MutateJobStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum/MutateJobStatus.php
new file mode 100644
index 000000000..c9c05bdbe
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum/MutateJobStatus.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.MutateJobStatusEnum.MutateJobStatus
+ */
+class MutateJobStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The job is not currently running.
+ *
+ * Generated from protobuf enum PENDING = 2;
+ */
+ const PENDING = 2;
+ /**
+ * The job is running.
+ *
+ * Generated from protobuf enum RUNNING = 3;
+ */
+ const RUNNING = 3;
+ /**
+ * The job is done.
+ *
+ * Generated from protobuf enum DONE = 4;
+ */
+ const DONE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PENDING => 'PENDING',
+ self::RUNNING => 'RUNNING',
+ self::DONE => 'DONE',
+ ];
+
+ 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(MutateJobStatus::class, \Google\Ads\GoogleAds\V2\Enums\MutateJobStatusEnum_MutateJobStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum_MutateJobStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum_MutateJobStatus.php
new file mode 100644
index 000000000..dd6526625
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/MutateJobStatusEnum_MutateJobStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.NegativeGeoTargetTypeEnum
+ */
+final class NegativeGeoTargetTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\NegativeGeoTargetType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum/NegativeGeoTargetType.php b/src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum/NegativeGeoTargetType.php
new file mode 100644
index 000000000..fd12e3c24
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum/NegativeGeoTargetType.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType
+ */
+class NegativeGeoTargetType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Specifies that a user is excluded from seeing the ad if they
+ * are in, or show interest in, advertiser's excluded locations.
+ *
+ * Generated from protobuf enum PRESENCE_OR_INTEREST = 4;
+ */
+ const PRESENCE_OR_INTEREST = 4;
+ /**
+ * Specifies that a user is excluded from seeing the ad if they
+ * are in advertiser's excluded locations.
+ *
+ * Generated from protobuf enum PRESENCE = 5;
+ */
+ const PRESENCE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PRESENCE_OR_INTEREST => 'PRESENCE_OR_INTEREST',
+ self::PRESENCE => 'PRESENCE',
+ ];
+
+ 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(NegativeGeoTargetType::class, \Google\Ads\GoogleAds\V2\Enums\NegativeGeoTargetTypeEnum_NegativeGeoTargetType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum_NegativeGeoTargetType.php b/src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum_NegativeGeoTargetType.php
new file mode 100644
index 000000000..8fdd992d9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/NegativeGeoTargetTypeEnum_NegativeGeoTargetType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.OperatingSystemVersionOperatorTypeEnum
+ */
+final class OperatingSystemVersionOperatorTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\OperatingSystemVersionOperatorType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum/OperatingSystemVersionOperatorType.php b/src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum/OperatingSystemVersionOperatorType.php
new file mode 100644
index 000000000..0cd667257
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum/OperatingSystemVersionOperatorType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType
+ */
+class OperatingSystemVersionOperatorType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Equals to the specified version.
+ *
+ * Generated from protobuf enum EQUALS_TO = 2;
+ */
+ const EQUALS_TO = 2;
+ /**
+ * Greater than or equals to the specified version.
+ *
+ * Generated from protobuf enum GREATER_THAN_EQUALS_TO = 4;
+ */
+ const GREATER_THAN_EQUALS_TO = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EQUALS_TO => 'EQUALS_TO',
+ self::GREATER_THAN_EQUALS_TO => 'GREATER_THAN_EQUALS_TO',
+ ];
+
+ 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(OperatingSystemVersionOperatorType::class, \Google\Ads\GoogleAds\V2\Enums\OperatingSystemVersionOperatorTypeEnum_OperatingSystemVersionOperatorType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum_OperatingSystemVersionOperatorType.php b/src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum_OperatingSystemVersionOperatorType.php
new file mode 100644
index 000000000..f9dbc3955
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/OperatingSystemVersionOperatorTypeEnum_OperatingSystemVersionOperatorType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum
+ */
+final class PageOnePromotedStrategyGoalEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PageOnePromotedStrategyGoal::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum/PageOnePromotedStrategyGoal.php b/src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum/PageOnePromotedStrategyGoal.php
new file mode 100644
index 000000000..c3f04cf76
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum/PageOnePromotedStrategyGoal.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal
+ */
+class PageOnePromotedStrategyGoal
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * First page on google.com.
+ *
+ * Generated from protobuf enum FIRST_PAGE = 2;
+ */
+ const FIRST_PAGE = 2;
+ /**
+ * Top slots of the first page on google.com.
+ *
+ * Generated from protobuf enum FIRST_PAGE_PROMOTED = 3;
+ */
+ const FIRST_PAGE_PROMOTED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FIRST_PAGE => 'FIRST_PAGE',
+ self::FIRST_PAGE_PROMOTED => 'FIRST_PAGE_PROMOTED',
+ ];
+
+ 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(PageOnePromotedStrategyGoal::class, \Google\Ads\GoogleAds\V2\Enums\PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal.php b/src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal.php
new file mode 100644
index 000000000..a7c143a5a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PageOnePromotedStrategyGoalEnum_PageOnePromotedStrategyGoal.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ParentalStatusTypeEnum
+ */
+final class ParentalStatusTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ParentalStatusType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum/ParentalStatusType.php b/src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum/ParentalStatusType.php
new file mode 100644
index 000000000..4e354928c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum/ParentalStatusType.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType
+ */
+class ParentalStatusType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Parent.
+ *
+ * Generated from protobuf enum PARENT = 300;
+ */
+ const PARENT = 300;
+ /**
+ * Not a parent.
+ *
+ * Generated from protobuf enum NOT_A_PARENT = 301;
+ */
+ const NOT_A_PARENT = 301;
+ /**
+ * Undetermined parental status.
+ *
+ * Generated from protobuf enum UNDETERMINED = 302;
+ */
+ const UNDETERMINED = 302;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PARENT => 'PARENT',
+ self::NOT_A_PARENT => 'NOT_A_PARENT',
+ self::UNDETERMINED => 'UNDETERMINED',
+ ];
+
+ 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(ParentalStatusType::class, \Google\Ads\GoogleAds\V2\Enums\ParentalStatusTypeEnum_ParentalStatusType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum_ParentalStatusType.php b/src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum_ParentalStatusType.php
new file mode 100644
index 000000000..e4e8019de
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ParentalStatusTypeEnum_ParentalStatusType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PaymentModeEnum
+ */
+final class PaymentModeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PaymentMode::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum/PaymentMode.php b/src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum/PaymentMode.php
new file mode 100644
index 000000000..1cb1e99e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum/PaymentMode.php
@@ -0,0 +1,84 @@
+google.ads.googleads.v2.enums.PaymentModeEnum.PaymentMode
+ */
+class PaymentMode
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Pay per click.
+ *
+ * Generated from protobuf enum CLICKS = 4;
+ */
+ const CLICKS = 4;
+ /**
+ * Pay per conversion value. This mode is only supported by campaigns with
+ * AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and
+ * BudgetType.HOTEL_ADS_COMMISSION.
+ *
+ * Generated from protobuf enum CONVERSION_VALUE = 5;
+ */
+ const CONVERSION_VALUE = 5;
+ /**
+ * Pay per conversion. This mode is only supported by campaigns with
+ * AdvertisingChannelType.DISPLAY (excluding
+ * AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA,
+ * and BudgetType.FIXED_CPA. The customer must also be eligible for this
+ * mode. See Customer.eligibility_failure_reasons for details.
+ *
+ * Generated from protobuf enum CONVERSIONS = 6;
+ */
+ const CONVERSIONS = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CLICKS => 'CLICKS',
+ self::CONVERSION_VALUE => 'CONVERSION_VALUE',
+ self::CONVERSIONS => 'CONVERSIONS',
+ ];
+
+ 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(PaymentMode::class, \Google\Ads\GoogleAds\V2\Enums\PaymentModeEnum_PaymentMode::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum_PaymentMode.php b/src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum_PaymentMode.php
new file mode 100644
index 000000000..7a6f4cf92
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PaymentModeEnum_PaymentMode.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PlaceholderTypeEnum
+ */
+final class PlaceholderTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PlaceholderType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum/PlaceholderType.php b/src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum/PlaceholderType.php
new file mode 100644
index 000000000..06d570c97
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum/PlaceholderType.php
@@ -0,0 +1,210 @@
+google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType
+ */
+class PlaceholderType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Lets you show links in your ad to pages from your website, including the
+ * main landing page.
+ *
+ * Generated from protobuf enum SITELINK = 2;
+ */
+ const SITELINK = 2;
+ /**
+ * Lets you attach a phone number to an ad, allowing customers to call
+ * directly from the ad.
+ *
+ * Generated from protobuf enum CALL = 3;
+ */
+ const CALL = 3;
+ /**
+ * Lets you provide users with a link that points to a mobile app in
+ * addition to a website.
+ *
+ * Generated from protobuf enum APP = 4;
+ */
+ const APP = 4;
+ /**
+ * Lets you show locations of businesses from your Google My Business
+ * account in your ad. This helps people find your locations by showing your
+ * ads with your address, a map to your location, or the distance to your
+ * business. This extension type is useful to draw customers to your
+ * brick-and-mortar location.
+ *
+ * Generated from protobuf enum LOCATION = 5;
+ */
+ const LOCATION = 5;
+ /**
+ * If you sell your product through retail chains, affiliate location
+ * extensions let you show nearby stores that carry your products.
+ *
+ * Generated from protobuf enum AFFILIATE_LOCATION = 6;
+ */
+ const AFFILIATE_LOCATION = 6;
+ /**
+ * Lets you include additional text with your search ads that provide
+ * detailed information about your business, including products and services
+ * you offer. Callouts appear in ads at the top and bottom of Google search
+ * results.
+ *
+ * Generated from protobuf enum CALLOUT = 7;
+ */
+ const CALLOUT = 7;
+ /**
+ * Lets you add more info to your ad, specific to some predefined categories
+ * such as types, brands, styles, etc. A minimum of 3 text (SNIPPETS) values
+ * are required.
+ *
+ * Generated from protobuf enum STRUCTURED_SNIPPET = 8;
+ */
+ const STRUCTURED_SNIPPET = 8;
+ /**
+ * Allows users to see your ad, click an icon, and contact you directly by
+ * text message. With one tap on your ad, people can contact you to book an
+ * appointment, get a quote, ask for information, or request a service.
+ *
+ * Generated from protobuf enum MESSAGE = 9;
+ */
+ const MESSAGE = 9;
+ /**
+ * Lets you display prices for a list of items along with your ads. A price
+ * feed is composed of three to eight price table rows.
+ *
+ * Generated from protobuf enum PRICE = 10;
+ */
+ const PRICE = 10;
+ /**
+ * Allows you to highlight sales and other promotions that let users see how
+ * they can save by buying now.
+ *
+ * Generated from protobuf enum PROMOTION = 11;
+ */
+ const PROMOTION = 11;
+ /**
+ * Lets you dynamically inject custom data into the title and description
+ * of your ads.
+ *
+ * Generated from protobuf enum AD_CUSTOMIZER = 12;
+ */
+ const AD_CUSTOMIZER = 12;
+ /**
+ * Indicates that this feed is for education dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_EDUCATION = 13;
+ */
+ const DYNAMIC_EDUCATION = 13;
+ /**
+ * Indicates that this feed is for flight dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_FLIGHT = 14;
+ */
+ const DYNAMIC_FLIGHT = 14;
+ /**
+ * Indicates that this feed is for a custom dynamic remarketing type. Use
+ * this only if the other business types don't apply to your products or
+ * services.
+ *
+ * Generated from protobuf enum DYNAMIC_CUSTOM = 15;
+ */
+ const DYNAMIC_CUSTOM = 15;
+ /**
+ * Indicates that this feed is for hotels and rentals dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_HOTEL = 16;
+ */
+ const DYNAMIC_HOTEL = 16;
+ /**
+ * Indicates that this feed is for real estate dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_REAL_ESTATE = 17;
+ */
+ const DYNAMIC_REAL_ESTATE = 17;
+ /**
+ * Indicates that this feed is for travel dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_TRAVEL = 18;
+ */
+ const DYNAMIC_TRAVEL = 18;
+ /**
+ * Indicates that this feed is for local deals dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_LOCAL = 19;
+ */
+ const DYNAMIC_LOCAL = 19;
+ /**
+ * Indicates that this feed is for job dynamic remarketing.
+ *
+ * Generated from protobuf enum DYNAMIC_JOB = 20;
+ */
+ const DYNAMIC_JOB = 20;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SITELINK => 'SITELINK',
+ self::CALL => 'CALL',
+ self::APP => 'APP',
+ self::LOCATION => 'LOCATION',
+ self::AFFILIATE_LOCATION => 'AFFILIATE_LOCATION',
+ self::CALLOUT => 'CALLOUT',
+ self::STRUCTURED_SNIPPET => 'STRUCTURED_SNIPPET',
+ self::MESSAGE => 'MESSAGE',
+ self::PRICE => 'PRICE',
+ self::PROMOTION => 'PROMOTION',
+ self::AD_CUSTOMIZER => 'AD_CUSTOMIZER',
+ self::DYNAMIC_EDUCATION => 'DYNAMIC_EDUCATION',
+ self::DYNAMIC_FLIGHT => 'DYNAMIC_FLIGHT',
+ self::DYNAMIC_CUSTOM => 'DYNAMIC_CUSTOM',
+ self::DYNAMIC_HOTEL => 'DYNAMIC_HOTEL',
+ self::DYNAMIC_REAL_ESTATE => 'DYNAMIC_REAL_ESTATE',
+ self::DYNAMIC_TRAVEL => 'DYNAMIC_TRAVEL',
+ self::DYNAMIC_LOCAL => 'DYNAMIC_LOCAL',
+ self::DYNAMIC_JOB => 'DYNAMIC_JOB',
+ ];
+
+ 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(PlaceholderType::class, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum_PlaceholderType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum_PlaceholderType.php b/src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum_PlaceholderType.php
new file mode 100644
index 000000000..f67722fe8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PlaceholderTypeEnum_PlaceholderType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PlacementTypeEnum
+ */
+final class PlacementTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PlacementType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum/PlacementType.php b/src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum/PlacementType.php
new file mode 100644
index 000000000..160b2af6a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum/PlacementType.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType
+ */
+class PlacementType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Websites(e.g. 'www.flowers4sale.com').
+ *
+ * Generated from protobuf enum WEBSITE = 2;
+ */
+ const WEBSITE = 2;
+ /**
+ * Mobile application categories(e.g. 'Games').
+ *
+ * Generated from protobuf enum MOBILE_APP_CATEGORY = 3;
+ */
+ const MOBILE_APP_CATEGORY = 3;
+ /**
+ * mobile applications(e.g. 'mobileapp::2-com.whatsthewordanswers').
+ *
+ * Generated from protobuf enum MOBILE_APPLICATION = 4;
+ */
+ const MOBILE_APPLICATION = 4;
+ /**
+ * YouTube videos(e.g. 'youtube.com/video/wtLJPvx7-ys').
+ *
+ * Generated from protobuf enum YOUTUBE_VIDEO = 5;
+ */
+ const YOUTUBE_VIDEO = 5;
+ /**
+ * YouTube channels(e.g. 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').
+ *
+ * Generated from protobuf enum YOUTUBE_CHANNEL = 6;
+ */
+ const YOUTUBE_CHANNEL = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::WEBSITE => 'WEBSITE',
+ self::MOBILE_APP_CATEGORY => 'MOBILE_APP_CATEGORY',
+ self::MOBILE_APPLICATION => 'MOBILE_APPLICATION',
+ self::YOUTUBE_VIDEO => 'YOUTUBE_VIDEO',
+ self::YOUTUBE_CHANNEL => 'YOUTUBE_CHANNEL',
+ ];
+
+ 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(PlacementType::class, \Google\Ads\GoogleAds\V2\Enums\PlacementTypeEnum_PlacementType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum_PlacementType.php b/src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum_PlacementType.php
new file mode 100644
index 000000000..37ecfcc7f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PlacementTypeEnum_PlacementType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PolicyApprovalStatusEnum
+ */
+final class PolicyApprovalStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PolicyApprovalStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum/PolicyApprovalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum/PolicyApprovalStatus.php
new file mode 100644
index 000000000..d39095cbc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum/PolicyApprovalStatus.php
@@ -0,0 +1,89 @@
+google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus
+ */
+class PolicyApprovalStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Will not serve.
+ *
+ * Generated from protobuf enum DISAPPROVED = 2;
+ */
+ const DISAPPROVED = 2;
+ /**
+ * Serves with restrictions.
+ *
+ * Generated from protobuf enum APPROVED_LIMITED = 3;
+ */
+ const APPROVED_LIMITED = 3;
+ /**
+ * Serves without restrictions.
+ *
+ * Generated from protobuf enum APPROVED = 4;
+ */
+ const APPROVED = 4;
+ /**
+ * Will not serve in targeted countries, but may serve for users who are
+ * searching for information about the targeted countries.
+ *
+ * Generated from protobuf enum AREA_OF_INTEREST_ONLY = 5;
+ */
+ const AREA_OF_INTEREST_ONLY = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DISAPPROVED => 'DISAPPROVED',
+ self::APPROVED_LIMITED => 'APPROVED_LIMITED',
+ self::APPROVED => 'APPROVED',
+ self::AREA_OF_INTEREST_ONLY => 'AREA_OF_INTEREST_ONLY',
+ ];
+
+ 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(PolicyApprovalStatus::class, \Google\Ads\GoogleAds\V2\Enums\PolicyApprovalStatusEnum_PolicyApprovalStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum_PolicyApprovalStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum_PolicyApprovalStatus.php
new file mode 100644
index 000000000..870ccb909
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyApprovalStatusEnum_PolicyApprovalStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PolicyReviewStatusEnum
+ */
+final class PolicyReviewStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PolicyReviewStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum/PolicyReviewStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum/PolicyReviewStatus.php
new file mode 100644
index 000000000..5ae0812f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum/PolicyReviewStatus.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus
+ */
+class PolicyReviewStatus
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Currently under review.
+ *
+ * Generated from protobuf enum REVIEW_IN_PROGRESS = 2;
+ */
+ const REVIEW_IN_PROGRESS = 2;
+ /**
+ * Primary review complete. Other reviews may be continuing.
+ *
+ * Generated from protobuf enum REVIEWED = 3;
+ */
+ const REVIEWED = 3;
+ /**
+ * The resource has been resubmitted for approval or its policy decision has
+ * been appealed.
+ *
+ * Generated from protobuf enum UNDER_APPEAL = 4;
+ */
+ const UNDER_APPEAL = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::REVIEW_IN_PROGRESS => 'REVIEW_IN_PROGRESS',
+ self::REVIEWED => 'REVIEWED',
+ self::UNDER_APPEAL => 'UNDER_APPEAL',
+ ];
+
+ 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(PolicyReviewStatus::class, \Google\Ads\GoogleAds\V2\Enums\PolicyReviewStatusEnum_PolicyReviewStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum_PolicyReviewStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum_PolicyReviewStatus.php
new file mode 100644
index 000000000..0fa74fefc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyReviewStatusEnum_PolicyReviewStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PolicyTopicEntryTypeEnum
+ */
+final class PolicyTopicEntryTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PolicyTopicEntryType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum/PolicyTopicEntryType.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum/PolicyTopicEntryType.php
new file mode 100644
index 000000000..be2fd8f60
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum/PolicyTopicEntryType.php
@@ -0,0 +1,102 @@
+google.ads.googleads.v2.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType
+ */
+class PolicyTopicEntryType
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The resource will not be served.
+ *
+ * Generated from protobuf enum PROHIBITED = 2;
+ */
+ const PROHIBITED = 2;
+ /**
+ * The resource will not be served under some circumstances.
+ *
+ * Generated from protobuf enum LIMITED = 4;
+ */
+ const LIMITED = 4;
+ /**
+ * The resource cannot serve at all because of the current targeting
+ * criteria.
+ *
+ * Generated from protobuf enum FULLY_LIMITED = 8;
+ */
+ const FULLY_LIMITED = 8;
+ /**
+ * May be of interest, but does not limit how the resource is served.
+ *
+ * Generated from protobuf enum DESCRIPTIVE = 5;
+ */
+ const DESCRIPTIVE = 5;
+ /**
+ * Could increase coverage beyond normal.
+ *
+ * Generated from protobuf enum BROADENING = 6;
+ */
+ const BROADENING = 6;
+ /**
+ * Constrained for all targeted countries, but may serve in other countries
+ * through area of interest.
+ *
+ * Generated from protobuf enum AREA_OF_INTEREST_ONLY = 7;
+ */
+ const AREA_OF_INTEREST_ONLY = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PROHIBITED => 'PROHIBITED',
+ self::LIMITED => 'LIMITED',
+ self::FULLY_LIMITED => 'FULLY_LIMITED',
+ self::DESCRIPTIVE => 'DESCRIPTIVE',
+ self::BROADENING => 'BROADENING',
+ self::AREA_OF_INTEREST_ONLY => 'AREA_OF_INTEREST_ONLY',
+ ];
+
+ 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(PolicyTopicEntryType::class, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEntryTypeEnum_PolicyTopicEntryType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum_PolicyTopicEntryType.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum_PolicyTopicEntryType.php
new file mode 100644
index 000000000..41f2b2b59
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEntryTypeEnum_PolicyTopicEntryType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum
+ */
+final class PolicyTopicEvidenceDestinationMismatchUrlTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationMismatchUrlType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum/PolicyTopicEvidenceDestinationMismatchUrlType.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum/PolicyTopicEvidenceDestinationMismatchUrlType.php
new file mode 100644
index 000000000..204042d85
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum/PolicyTopicEvidenceDestinationMismatchUrlType.php
@@ -0,0 +1,93 @@
+google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType
+ */
+class PolicyTopicEvidenceDestinationMismatchUrlType
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The display url.
+ *
+ * Generated from protobuf enum DISPLAY_URL = 2;
+ */
+ const DISPLAY_URL = 2;
+ /**
+ * The final url.
+ *
+ * Generated from protobuf enum FINAL_URL = 3;
+ */
+ const FINAL_URL = 3;
+ /**
+ * The final mobile url.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URL = 4;
+ */
+ const FINAL_MOBILE_URL = 4;
+ /**
+ * The tracking url template, with substituted desktop url.
+ *
+ * Generated from protobuf enum TRACKING_URL = 5;
+ */
+ const TRACKING_URL = 5;
+ /**
+ * The tracking url template, with substituted mobile url.
+ *
+ * Generated from protobuf enum MOBILE_TRACKING_URL = 6;
+ */
+ const MOBILE_TRACKING_URL = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DISPLAY_URL => 'DISPLAY_URL',
+ self::FINAL_URL => 'FINAL_URL',
+ self::FINAL_MOBILE_URL => 'FINAL_MOBILE_URL',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::MOBILE_TRACKING_URL => 'MOBILE_TRACKING_URL',
+ ];
+
+ 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(PolicyTopicEvidenceDestinationMismatchUrlType::class, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationMismatchUrlTypeEnum_PolicyTopicEvidenceDestinationMismatchUrlType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum_PolicyTopicEvidenceDestinationMismatchUrlType.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum_PolicyTopicEvidenceDestinationMismatchUrlType.php
new file mode 100644
index 000000000..73e65ff5a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationMismatchUrlTypeEnum_PolicyTopicEvidenceDestinationMismatchUrlType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum
+ */
+final class PolicyTopicEvidenceDestinationNotWorkingDeviceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationNotWorkingDevice::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum/PolicyTopicEvidenceDestinationNotWorkingDevice.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum/PolicyTopicEvidenceDestinationNotWorkingDevice.php
new file mode 100644
index 000000000..fd531675d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum/PolicyTopicEvidenceDestinationNotWorkingDevice.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice
+ */
+class PolicyTopicEvidenceDestinationNotWorkingDevice
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Landing page doesn't work on desktop device.
+ *
+ * Generated from protobuf enum DESKTOP = 2;
+ */
+ const DESKTOP = 2;
+ /**
+ * Landing page doesn't work on Android device.
+ *
+ * Generated from protobuf enum ANDROID = 3;
+ */
+ const ANDROID = 3;
+ /**
+ * Landing page doesn't work on iOS device.
+ *
+ * Generated from protobuf enum IOS = 4;
+ */
+ const IOS = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DESKTOP => 'DESKTOP',
+ self::ANDROID => 'ANDROID',
+ self::IOS => 'IOS',
+ ];
+
+ 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(PolicyTopicEvidenceDestinationNotWorkingDevice::class, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationNotWorkingDeviceEnum_PolicyTopicEvidenceDestinationNotWorkingDevice::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum_PolicyTopicEvidenceDestinationNotWorkingDevice.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum_PolicyTopicEvidenceDestinationNotWorkingDevice.php
new file mode 100644
index 000000000..f3cec4d68
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDeviceEnum_PolicyTopicEvidenceDestinationNotWorkingDevice.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum
+ */
+final class PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationNotWorkingDnsErrorType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php
new file mode 100644
index 000000000..8373db113
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum/PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php
@@ -0,0 +1,74 @@
+google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType
+ */
+class PolicyTopicEvidenceDestinationNotWorkingDnsErrorType
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Host name not found in DNS when fetching landing page.
+ *
+ * Generated from protobuf enum HOSTNAME_NOT_FOUND = 2;
+ */
+ const HOSTNAME_NOT_FOUND = 2;
+ /**
+ * Google internal crawler issue when communicating with DNS. This error
+ * doesn't mean the landing page doesn't work. Google will recrawl the
+ * landing page.
+ *
+ * Generated from protobuf enum GOOGLE_CRAWLER_DNS_ISSUE = 3;
+ */
+ const GOOGLE_CRAWLER_DNS_ISSUE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::HOSTNAME_NOT_FOUND => 'HOSTNAME_NOT_FOUND',
+ self::GOOGLE_CRAWLER_DNS_ISSUE => 'GOOGLE_CRAWLER_DNS_ISSUE',
+ ];
+
+ 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(PolicyTopicEvidenceDestinationNotWorkingDnsErrorType::class, \Google\Ads\GoogleAds\V2\Enums\PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum_PolicyTopicEvidenceDestinationNotWorkingDnsErrorType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum_PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum_PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php
new file mode 100644
index 000000000..c65560903
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum_PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PositiveGeoTargetTypeEnum
+ */
+final class PositiveGeoTargetTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PositiveGeoTargetType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum/PositiveGeoTargetType.php b/src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum/PositiveGeoTargetType.php
new file mode 100644
index 000000000..b16b0a596
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum/PositiveGeoTargetType.php
@@ -0,0 +1,81 @@
+google.ads.googleads.v2.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType
+ */
+class PositiveGeoTargetType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Specifies that an ad is triggered if the user is in,
+ * or shows interest in, advertiser's targeted locations.
+ *
+ * Generated from protobuf enum PRESENCE_OR_INTEREST = 5;
+ */
+ const PRESENCE_OR_INTEREST = 5;
+ /**
+ * Specifies that an ad is triggered if the user
+ * searches for advertiser's targeted locations.
+ *
+ * Generated from protobuf enum SEARCH_INTEREST = 6;
+ */
+ const SEARCH_INTEREST = 6;
+ /**
+ * Specifies that an ad is triggered if the user is in
+ * or regularly in advertiser's targeted locations.
+ *
+ * Generated from protobuf enum PRESENCE = 7;
+ */
+ const PRESENCE = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PRESENCE_OR_INTEREST => 'PRESENCE_OR_INTEREST',
+ self::SEARCH_INTEREST => 'SEARCH_INTEREST',
+ self::PRESENCE => 'PRESENCE',
+ ];
+
+ 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(PositiveGeoTargetType::class, \Google\Ads\GoogleAds\V2\Enums\PositiveGeoTargetTypeEnum_PositiveGeoTargetType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum_PositiveGeoTargetType.php b/src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum_PositiveGeoTargetType.php
new file mode 100644
index 000000000..463286a39
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PositiveGeoTargetTypeEnum_PositiveGeoTargetType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PreferredContentTypeEnum
+ */
+final class PreferredContentTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PreferredContentType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum/PreferredContentType.php b/src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum/PreferredContentType.php
new file mode 100644
index 000000000..bae4d6a80
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum/PreferredContentType.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType
+ */
+class PreferredContentType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Represents top content on YouTube.
+ *
+ * Generated from protobuf enum YOUTUBE_TOP_CONTENT = 400;
+ */
+ const YOUTUBE_TOP_CONTENT = 400;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::YOUTUBE_TOP_CONTENT => 'YOUTUBE_TOP_CONTENT',
+ ];
+
+ 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(PreferredContentType::class, \Google\Ads\GoogleAds\V2\Enums\PreferredContentTypeEnum_PreferredContentType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum_PreferredContentType.php b/src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum_PreferredContentType.php
new file mode 100644
index 000000000..098d718e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PreferredContentTypeEnum_PreferredContentType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PriceExtensionPriceQualifierEnum
+ */
+final class PriceExtensionPriceQualifierEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PriceExtensionPriceQualifier::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum/PriceExtensionPriceQualifier.php b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum/PriceExtensionPriceQualifier.php
new file mode 100644
index 000000000..43179bbf4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum/PriceExtensionPriceQualifier.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier
+ */
+class PriceExtensionPriceQualifier
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * 'From' qualifier for the price.
+ *
+ * Generated from protobuf enum FROM = 2;
+ */
+ const FROM = 2;
+ /**
+ * 'Up to' qualifier for the price.
+ *
+ * Generated from protobuf enum UP_TO = 3;
+ */
+ const UP_TO = 3;
+ /**
+ * 'Average' qualifier for the price.
+ *
+ * Generated from protobuf enum AVERAGE = 4;
+ */
+ const AVERAGE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FROM => 'FROM',
+ self::UP_TO => 'UP_TO',
+ self::AVERAGE => 'AVERAGE',
+ ];
+
+ 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(PriceExtensionPriceQualifier::class, \Google\Ads\GoogleAds\V2\Enums\PriceExtensionPriceQualifierEnum_PriceExtensionPriceQualifier::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum_PriceExtensionPriceQualifier.php b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum_PriceExtensionPriceQualifier.php
new file mode 100644
index 000000000..02e2c1bb2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceQualifierEnum_PriceExtensionPriceQualifier.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PriceExtensionPriceUnitEnum
+ */
+final class PriceExtensionPriceUnitEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PriceExtensionPriceUnit::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum/PriceExtensionPriceUnit.php b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum/PriceExtensionPriceUnit.php
new file mode 100644
index 000000000..520646fe6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum/PriceExtensionPriceUnit.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit
+ */
+class PriceExtensionPriceUnit
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Per hour.
+ *
+ * Generated from protobuf enum PER_HOUR = 2;
+ */
+ const PER_HOUR = 2;
+ /**
+ * Per day.
+ *
+ * Generated from protobuf enum PER_DAY = 3;
+ */
+ const PER_DAY = 3;
+ /**
+ * Per week.
+ *
+ * Generated from protobuf enum PER_WEEK = 4;
+ */
+ const PER_WEEK = 4;
+ /**
+ * Per month.
+ *
+ * Generated from protobuf enum PER_MONTH = 5;
+ */
+ const PER_MONTH = 5;
+ /**
+ * Per year.
+ *
+ * Generated from protobuf enum PER_YEAR = 6;
+ */
+ const PER_YEAR = 6;
+ /**
+ * Per night.
+ *
+ * Generated from protobuf enum PER_NIGHT = 7;
+ */
+ const PER_NIGHT = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PER_HOUR => 'PER_HOUR',
+ self::PER_DAY => 'PER_DAY',
+ self::PER_WEEK => 'PER_WEEK',
+ self::PER_MONTH => 'PER_MONTH',
+ self::PER_YEAR => 'PER_YEAR',
+ self::PER_NIGHT => 'PER_NIGHT',
+ ];
+
+ 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(PriceExtensionPriceUnit::class, \Google\Ads\GoogleAds\V2\Enums\PriceExtensionPriceUnitEnum_PriceExtensionPriceUnit::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum_PriceExtensionPriceUnit.php b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum_PriceExtensionPriceUnit.php
new file mode 100644
index 000000000..4405160e4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionPriceUnitEnum_PriceExtensionPriceUnit.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PriceExtensionTypeEnum
+ */
+final class PriceExtensionTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PriceExtensionType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum/PriceExtensionType.php b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum/PriceExtensionType.php
new file mode 100644
index 000000000..2426e7a32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum/PriceExtensionType.php
@@ -0,0 +1,120 @@
+google.ads.googleads.v2.enums.PriceExtensionTypeEnum.PriceExtensionType
+ */
+class PriceExtensionType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The type for showing a list of brands.
+ *
+ * Generated from protobuf enum BRANDS = 2;
+ */
+ const BRANDS = 2;
+ /**
+ * The type for showing a list of events.
+ *
+ * Generated from protobuf enum EVENTS = 3;
+ */
+ const EVENTS = 3;
+ /**
+ * The type for showing locations relevant to your business.
+ *
+ * Generated from protobuf enum LOCATIONS = 4;
+ */
+ const LOCATIONS = 4;
+ /**
+ * The type for showing sub-regions or districts within a city or region.
+ *
+ * Generated from protobuf enum NEIGHBORHOODS = 5;
+ */
+ const NEIGHBORHOODS = 5;
+ /**
+ * The type for showing a collection of product categories.
+ *
+ * Generated from protobuf enum PRODUCT_CATEGORIES = 6;
+ */
+ const PRODUCT_CATEGORIES = 6;
+ /**
+ * The type for showing a collection of related product tiers.
+ *
+ * Generated from protobuf enum PRODUCT_TIERS = 7;
+ */
+ const PRODUCT_TIERS = 7;
+ /**
+ * The type for showing a collection of services offered by your business.
+ *
+ * Generated from protobuf enum SERVICES = 8;
+ */
+ const SERVICES = 8;
+ /**
+ * The type for showing a collection of service categories.
+ *
+ * Generated from protobuf enum SERVICE_CATEGORIES = 9;
+ */
+ const SERVICE_CATEGORIES = 9;
+ /**
+ * The type for showing a collection of related service tiers.
+ *
+ * Generated from protobuf enum SERVICE_TIERS = 10;
+ */
+ const SERVICE_TIERS = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BRANDS => 'BRANDS',
+ self::EVENTS => 'EVENTS',
+ self::LOCATIONS => 'LOCATIONS',
+ self::NEIGHBORHOODS => 'NEIGHBORHOODS',
+ self::PRODUCT_CATEGORIES => 'PRODUCT_CATEGORIES',
+ self::PRODUCT_TIERS => 'PRODUCT_TIERS',
+ self::SERVICES => 'SERVICES',
+ self::SERVICE_CATEGORIES => 'SERVICE_CATEGORIES',
+ self::SERVICE_TIERS => 'SERVICE_TIERS',
+ ];
+
+ 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(PriceExtensionType::class, \Google\Ads\GoogleAds\V2\Enums\PriceExtensionTypeEnum_PriceExtensionType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum_PriceExtensionType.php b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum_PriceExtensionType.php
new file mode 100644
index 000000000..e0d69b6d2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PriceExtensionTypeEnum_PriceExtensionType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PricePlaceholderFieldEnum
+ */
+final class PricePlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PricePlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum/PricePlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum/PricePlaceholderField.php
new file mode 100644
index 000000000..f91e63f59
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum/PricePlaceholderField.php
@@ -0,0 +1,465 @@
+google.ads.googleads.v2.enums.PricePlaceholderFieldEnum.PricePlaceholderField
+ */
+class PricePlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The type of your price feed. Must match one of the
+ * predefined price feed type exactly.
+ *
+ * Generated from protobuf enum TYPE = 2;
+ */
+ const TYPE = 2;
+ /**
+ * Data Type: STRING. The qualifier of each price. Must match one of the
+ * predefined price qualifiers exactly.
+ *
+ * Generated from protobuf enum PRICE_QUALIFIER = 3;
+ */
+ const PRICE_QUALIFIER = 3;
+ /**
+ * Data Type: URL. Tracking template for the price feed when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum TRACKING_TEMPLATE = 4;
+ */
+ const TRACKING_TEMPLATE = 4;
+ /**
+ * Data Type: STRING. Language of the price feed. Must match one of the
+ * available available locale codes exactly.
+ *
+ * Generated from protobuf enum LANGUAGE = 5;
+ */
+ const LANGUAGE = 5;
+ /**
+ * Data Type: STRING. Final URL suffix for the price feed when using
+ * parallel tracking.
+ *
+ * Generated from protobuf enum FINAL_URL_SUFFIX = 6;
+ */
+ const FINAL_URL_SUFFIX = 6;
+ /**
+ * Data Type: STRING. The header of item 1 of the table.
+ *
+ * Generated from protobuf enum ITEM_1_HEADER = 100;
+ */
+ const ITEM_1_HEADER = 100;
+ /**
+ * Data Type: STRING. The description of item 1 of the table.
+ *
+ * Generated from protobuf enum ITEM_1_DESCRIPTION = 101;
+ */
+ const ITEM_1_DESCRIPTION = 101;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 1 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_1_PRICE = 102;
+ */
+ const ITEM_1_PRICE = 102;
+ /**
+ * Data Type: STRING. The price unit of item 1 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_1_UNIT = 103;
+ */
+ const ITEM_1_UNIT = 103;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 1 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_1_FINAL_URLS = 104;
+ */
+ const ITEM_1_FINAL_URLS = 104;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 1 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_1_FINAL_MOBILE_URLS = 105;
+ */
+ const ITEM_1_FINAL_MOBILE_URLS = 105;
+ /**
+ * Data Type: STRING. The header of item 2 of the table.
+ *
+ * Generated from protobuf enum ITEM_2_HEADER = 200;
+ */
+ const ITEM_2_HEADER = 200;
+ /**
+ * Data Type: STRING. The description of item 2 of the table.
+ *
+ * Generated from protobuf enum ITEM_2_DESCRIPTION = 201;
+ */
+ const ITEM_2_DESCRIPTION = 201;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 2 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_2_PRICE = 202;
+ */
+ const ITEM_2_PRICE = 202;
+ /**
+ * Data Type: STRING. The price unit of item 2 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_2_UNIT = 203;
+ */
+ const ITEM_2_UNIT = 203;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 2 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_2_FINAL_URLS = 204;
+ */
+ const ITEM_2_FINAL_URLS = 204;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 2 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_2_FINAL_MOBILE_URLS = 205;
+ */
+ const ITEM_2_FINAL_MOBILE_URLS = 205;
+ /**
+ * Data Type: STRING. The header of item 3 of the table.
+ *
+ * Generated from protobuf enum ITEM_3_HEADER = 300;
+ */
+ const ITEM_3_HEADER = 300;
+ /**
+ * Data Type: STRING. The description of item 3 of the table.
+ *
+ * Generated from protobuf enum ITEM_3_DESCRIPTION = 301;
+ */
+ const ITEM_3_DESCRIPTION = 301;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 3 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_3_PRICE = 302;
+ */
+ const ITEM_3_PRICE = 302;
+ /**
+ * Data Type: STRING. The price unit of item 3 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_3_UNIT = 303;
+ */
+ const ITEM_3_UNIT = 303;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 3 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_3_FINAL_URLS = 304;
+ */
+ const ITEM_3_FINAL_URLS = 304;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 3 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_3_FINAL_MOBILE_URLS = 305;
+ */
+ const ITEM_3_FINAL_MOBILE_URLS = 305;
+ /**
+ * Data Type: STRING. The header of item 4 of the table.
+ *
+ * Generated from protobuf enum ITEM_4_HEADER = 400;
+ */
+ const ITEM_4_HEADER = 400;
+ /**
+ * Data Type: STRING. The description of item 4 of the table.
+ *
+ * Generated from protobuf enum ITEM_4_DESCRIPTION = 401;
+ */
+ const ITEM_4_DESCRIPTION = 401;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 4 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_4_PRICE = 402;
+ */
+ const ITEM_4_PRICE = 402;
+ /**
+ * Data Type: STRING. The price unit of item 4 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_4_UNIT = 403;
+ */
+ const ITEM_4_UNIT = 403;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 4 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_4_FINAL_URLS = 404;
+ */
+ const ITEM_4_FINAL_URLS = 404;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 4 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_4_FINAL_MOBILE_URLS = 405;
+ */
+ const ITEM_4_FINAL_MOBILE_URLS = 405;
+ /**
+ * Data Type: STRING. The header of item 5 of the table.
+ *
+ * Generated from protobuf enum ITEM_5_HEADER = 500;
+ */
+ const ITEM_5_HEADER = 500;
+ /**
+ * Data Type: STRING. The description of item 5 of the table.
+ *
+ * Generated from protobuf enum ITEM_5_DESCRIPTION = 501;
+ */
+ const ITEM_5_DESCRIPTION = 501;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 5 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_5_PRICE = 502;
+ */
+ const ITEM_5_PRICE = 502;
+ /**
+ * Data Type: STRING. The price unit of item 5 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_5_UNIT = 503;
+ */
+ const ITEM_5_UNIT = 503;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 5 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_5_FINAL_URLS = 504;
+ */
+ const ITEM_5_FINAL_URLS = 504;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 5 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_5_FINAL_MOBILE_URLS = 505;
+ */
+ const ITEM_5_FINAL_MOBILE_URLS = 505;
+ /**
+ * Data Type: STRING. The header of item 6 of the table.
+ *
+ * Generated from protobuf enum ITEM_6_HEADER = 600;
+ */
+ const ITEM_6_HEADER = 600;
+ /**
+ * Data Type: STRING. The description of item 6 of the table.
+ *
+ * Generated from protobuf enum ITEM_6_DESCRIPTION = 601;
+ */
+ const ITEM_6_DESCRIPTION = 601;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 6 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_6_PRICE = 602;
+ */
+ const ITEM_6_PRICE = 602;
+ /**
+ * Data Type: STRING. The price unit of item 6 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_6_UNIT = 603;
+ */
+ const ITEM_6_UNIT = 603;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 6 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_6_FINAL_URLS = 604;
+ */
+ const ITEM_6_FINAL_URLS = 604;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 6 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_6_FINAL_MOBILE_URLS = 605;
+ */
+ const ITEM_6_FINAL_MOBILE_URLS = 605;
+ /**
+ * Data Type: STRING. The header of item 7 of the table.
+ *
+ * Generated from protobuf enum ITEM_7_HEADER = 700;
+ */
+ const ITEM_7_HEADER = 700;
+ /**
+ * Data Type: STRING. The description of item 7 of the table.
+ *
+ * Generated from protobuf enum ITEM_7_DESCRIPTION = 701;
+ */
+ const ITEM_7_DESCRIPTION = 701;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 7 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_7_PRICE = 702;
+ */
+ const ITEM_7_PRICE = 702;
+ /**
+ * Data Type: STRING. The price unit of item 7 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_7_UNIT = 703;
+ */
+ const ITEM_7_UNIT = 703;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 7 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_7_FINAL_URLS = 704;
+ */
+ const ITEM_7_FINAL_URLS = 704;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 7 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_7_FINAL_MOBILE_URLS = 705;
+ */
+ const ITEM_7_FINAL_MOBILE_URLS = 705;
+ /**
+ * Data Type: STRING. The header of item 8 of the table.
+ *
+ * Generated from protobuf enum ITEM_8_HEADER = 800;
+ */
+ const ITEM_8_HEADER = 800;
+ /**
+ * Data Type: STRING. The description of item 8 of the table.
+ *
+ * Generated from protobuf enum ITEM_8_DESCRIPTION = 801;
+ */
+ const ITEM_8_DESCRIPTION = 801;
+ /**
+ * Data Type: MONEY. The price (money with currency) of item 8 of the table,
+ * e.g., 30 USD. The currency must match one of the available currencies.
+ *
+ * Generated from protobuf enum ITEM_8_PRICE = 802;
+ */
+ const ITEM_8_PRICE = 802;
+ /**
+ * Data Type: STRING. The price unit of item 8 of the table. Must match one
+ * of the predefined price units.
+ *
+ * Generated from protobuf enum ITEM_8_UNIT = 803;
+ */
+ const ITEM_8_UNIT = 803;
+ /**
+ * Data Type: URL_LIST. The final URLs of item 8 of the table when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_8_FINAL_URLS = 804;
+ */
+ const ITEM_8_FINAL_URLS = 804;
+ /**
+ * Data Type: URL_LIST. The final mobile URLs of item 8 of the table when
+ * using Upgraded URLs.
+ *
+ * Generated from protobuf enum ITEM_8_FINAL_MOBILE_URLS = 805;
+ */
+ const ITEM_8_FINAL_MOBILE_URLS = 805;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TYPE => 'TYPE',
+ self::PRICE_QUALIFIER => 'PRICE_QUALIFIER',
+ self::TRACKING_TEMPLATE => 'TRACKING_TEMPLATE',
+ self::LANGUAGE => 'LANGUAGE',
+ self::FINAL_URL_SUFFIX => 'FINAL_URL_SUFFIX',
+ self::ITEM_1_HEADER => 'ITEM_1_HEADER',
+ self::ITEM_1_DESCRIPTION => 'ITEM_1_DESCRIPTION',
+ self::ITEM_1_PRICE => 'ITEM_1_PRICE',
+ self::ITEM_1_UNIT => 'ITEM_1_UNIT',
+ self::ITEM_1_FINAL_URLS => 'ITEM_1_FINAL_URLS',
+ self::ITEM_1_FINAL_MOBILE_URLS => 'ITEM_1_FINAL_MOBILE_URLS',
+ self::ITEM_2_HEADER => 'ITEM_2_HEADER',
+ self::ITEM_2_DESCRIPTION => 'ITEM_2_DESCRIPTION',
+ self::ITEM_2_PRICE => 'ITEM_2_PRICE',
+ self::ITEM_2_UNIT => 'ITEM_2_UNIT',
+ self::ITEM_2_FINAL_URLS => 'ITEM_2_FINAL_URLS',
+ self::ITEM_2_FINAL_MOBILE_URLS => 'ITEM_2_FINAL_MOBILE_URLS',
+ self::ITEM_3_HEADER => 'ITEM_3_HEADER',
+ self::ITEM_3_DESCRIPTION => 'ITEM_3_DESCRIPTION',
+ self::ITEM_3_PRICE => 'ITEM_3_PRICE',
+ self::ITEM_3_UNIT => 'ITEM_3_UNIT',
+ self::ITEM_3_FINAL_URLS => 'ITEM_3_FINAL_URLS',
+ self::ITEM_3_FINAL_MOBILE_URLS => 'ITEM_3_FINAL_MOBILE_URLS',
+ self::ITEM_4_HEADER => 'ITEM_4_HEADER',
+ self::ITEM_4_DESCRIPTION => 'ITEM_4_DESCRIPTION',
+ self::ITEM_4_PRICE => 'ITEM_4_PRICE',
+ self::ITEM_4_UNIT => 'ITEM_4_UNIT',
+ self::ITEM_4_FINAL_URLS => 'ITEM_4_FINAL_URLS',
+ self::ITEM_4_FINAL_MOBILE_URLS => 'ITEM_4_FINAL_MOBILE_URLS',
+ self::ITEM_5_HEADER => 'ITEM_5_HEADER',
+ self::ITEM_5_DESCRIPTION => 'ITEM_5_DESCRIPTION',
+ self::ITEM_5_PRICE => 'ITEM_5_PRICE',
+ self::ITEM_5_UNIT => 'ITEM_5_UNIT',
+ self::ITEM_5_FINAL_URLS => 'ITEM_5_FINAL_URLS',
+ self::ITEM_5_FINAL_MOBILE_URLS => 'ITEM_5_FINAL_MOBILE_URLS',
+ self::ITEM_6_HEADER => 'ITEM_6_HEADER',
+ self::ITEM_6_DESCRIPTION => 'ITEM_6_DESCRIPTION',
+ self::ITEM_6_PRICE => 'ITEM_6_PRICE',
+ self::ITEM_6_UNIT => 'ITEM_6_UNIT',
+ self::ITEM_6_FINAL_URLS => 'ITEM_6_FINAL_URLS',
+ self::ITEM_6_FINAL_MOBILE_URLS => 'ITEM_6_FINAL_MOBILE_URLS',
+ self::ITEM_7_HEADER => 'ITEM_7_HEADER',
+ self::ITEM_7_DESCRIPTION => 'ITEM_7_DESCRIPTION',
+ self::ITEM_7_PRICE => 'ITEM_7_PRICE',
+ self::ITEM_7_UNIT => 'ITEM_7_UNIT',
+ self::ITEM_7_FINAL_URLS => 'ITEM_7_FINAL_URLS',
+ self::ITEM_7_FINAL_MOBILE_URLS => 'ITEM_7_FINAL_MOBILE_URLS',
+ self::ITEM_8_HEADER => 'ITEM_8_HEADER',
+ self::ITEM_8_DESCRIPTION => 'ITEM_8_DESCRIPTION',
+ self::ITEM_8_PRICE => 'ITEM_8_PRICE',
+ self::ITEM_8_UNIT => 'ITEM_8_UNIT',
+ self::ITEM_8_FINAL_URLS => 'ITEM_8_FINAL_URLS',
+ self::ITEM_8_FINAL_MOBILE_URLS => 'ITEM_8_FINAL_MOBILE_URLS',
+ ];
+
+ 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(PricePlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\PricePlaceholderFieldEnum_PricePlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum_PricePlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum_PricePlaceholderField.php
new file mode 100644
index 000000000..a145b279a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PricePlaceholderFieldEnum_PricePlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum
+ */
+final class ProductBiddingCategoryLevelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryLevel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum/ProductBiddingCategoryLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum/ProductBiddingCategoryLevel.php
new file mode 100644
index 000000000..013e38cf3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum/ProductBiddingCategoryLevel.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel
+ */
+class ProductBiddingCategoryLevel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Level 1.
+ *
+ * Generated from protobuf enum LEVEL1 = 2;
+ */
+ const LEVEL1 = 2;
+ /**
+ * Level 2.
+ *
+ * Generated from protobuf enum LEVEL2 = 3;
+ */
+ const LEVEL2 = 3;
+ /**
+ * Level 3.
+ *
+ * Generated from protobuf enum LEVEL3 = 4;
+ */
+ const LEVEL3 = 4;
+ /**
+ * Level 4.
+ *
+ * Generated from protobuf enum LEVEL4 = 5;
+ */
+ const LEVEL4 = 5;
+ /**
+ * Level 5.
+ *
+ * Generated from protobuf enum LEVEL5 = 6;
+ */
+ const LEVEL5 = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LEVEL1 => 'LEVEL1',
+ self::LEVEL2 => 'LEVEL2',
+ self::LEVEL3 => 'LEVEL3',
+ self::LEVEL4 => 'LEVEL4',
+ self::LEVEL5 => 'LEVEL5',
+ ];
+
+ 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(ProductBiddingCategoryLevel::class, \Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel.php
new file mode 100644
index 000000000..2aa54cdd0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProductBiddingCategoryStatusEnum
+ */
+final class ProductBiddingCategoryStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum/ProductBiddingCategoryStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum/ProductBiddingCategoryStatus.php
new file mode 100644
index 000000000..4acf15f0b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum/ProductBiddingCategoryStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus
+ */
+class ProductBiddingCategoryStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The category is active and can be used for bidding.
+ *
+ * Generated from protobuf enum ACTIVE = 2;
+ */
+ const ACTIVE = 2;
+ /**
+ * The category is obsolete. Used only for reporting purposes.
+ *
+ * Generated from protobuf enum OBSOLETE = 3;
+ */
+ const OBSOLETE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ACTIVE => 'ACTIVE',
+ self::OBSOLETE => 'OBSOLETE',
+ ];
+
+ 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(ProductBiddingCategoryStatus::class, \Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryStatusEnum_ProductBiddingCategoryStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum_ProductBiddingCategoryStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum_ProductBiddingCategoryStatus.php
new file mode 100644
index 000000000..fe3def2ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductBiddingCategoryStatusEnum_ProductBiddingCategoryStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProductChannelEnum
+ */
+final class ProductChannelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProductChannel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum/ProductChannel.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum/ProductChannel.php
new file mode 100644
index 000000000..9adcec947
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum/ProductChannel.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel
+ */
+class ProductChannel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The item is sold online.
+ *
+ * Generated from protobuf enum ONLINE = 2;
+ */
+ const ONLINE = 2;
+ /**
+ * The item is sold in local stores.
+ *
+ * Generated from protobuf enum LOCAL = 3;
+ */
+ const LOCAL = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ONLINE => 'ONLINE',
+ self::LOCAL => 'LOCAL',
+ ];
+
+ 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(ProductChannel::class, \Google\Ads\GoogleAds\V2\Enums\ProductChannelEnum_ProductChannel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum_ProductChannel.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum_ProductChannel.php
new file mode 100644
index 000000000..39f66d3ed
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelEnum_ProductChannel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProductChannelExclusivityEnum
+ */
+final class ProductChannelExclusivityEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProductChannelExclusivity::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum/ProductChannelExclusivity.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum/ProductChannelExclusivity.php
new file mode 100644
index 000000000..9cc09beb0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum/ProductChannelExclusivity.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity
+ */
+class ProductChannelExclusivity
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The item is sold through one channel only, either local stores or online
+ * as indicated by its ProductChannel.
+ *
+ * Generated from protobuf enum SINGLE_CHANNEL = 2;
+ */
+ const SINGLE_CHANNEL = 2;
+ /**
+ * The item is matched to its online or local stores counterpart, indicating
+ * it is available for purchase in both ShoppingProductChannels.
+ *
+ * Generated from protobuf enum MULTI_CHANNEL = 3;
+ */
+ const MULTI_CHANNEL = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SINGLE_CHANNEL => 'SINGLE_CHANNEL',
+ self::MULTI_CHANNEL => 'MULTI_CHANNEL',
+ ];
+
+ 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(ProductChannelExclusivity::class, \Google\Ads\GoogleAds\V2\Enums\ProductChannelExclusivityEnum_ProductChannelExclusivity::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum_ProductChannelExclusivity.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum_ProductChannelExclusivity.php
new file mode 100644
index 000000000..c3d382556
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductChannelExclusivityEnum_ProductChannelExclusivity.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProductConditionEnum
+ */
+final class ProductConditionEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProductCondition::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum/ProductCondition.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum/ProductCondition.php
new file mode 100644
index 000000000..b40dd4d2c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum/ProductCondition.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition
+ */
+class ProductCondition
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The product condition is new.
+ *
+ * Generated from protobuf enum NEW = 3;
+ */
+ const PBNEW = 3;
+ /**
+ * The product condition is refurbished.
+ *
+ * Generated from protobuf enum REFURBISHED = 4;
+ */
+ const REFURBISHED = 4;
+ /**
+ * The product condition is used.
+ *
+ * Generated from protobuf enum USED = 5;
+ */
+ const USED = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PBNEW => 'PBNEW',
+ self::REFURBISHED => 'REFURBISHED',
+ self::USED => 'USED',
+ ];
+
+ 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(ProductCondition::class, \Google\Ads\GoogleAds\V2\Enums\ProductConditionEnum_ProductCondition::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum_ProductCondition.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum_ProductCondition.php
new file mode 100644
index 000000000..695ad104e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductConditionEnum_ProductCondition.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProductTypeLevelEnum
+ */
+final class ProductTypeLevelEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProductTypeLevel::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum/ProductTypeLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum/ProductTypeLevel.php
new file mode 100644
index 000000000..77db3cd02
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum/ProductTypeLevel.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel
+ */
+class ProductTypeLevel
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Level 1.
+ *
+ * Generated from protobuf enum LEVEL1 = 7;
+ */
+ const LEVEL1 = 7;
+ /**
+ * Level 2.
+ *
+ * Generated from protobuf enum LEVEL2 = 8;
+ */
+ const LEVEL2 = 8;
+ /**
+ * Level 3.
+ *
+ * Generated from protobuf enum LEVEL3 = 9;
+ */
+ const LEVEL3 = 9;
+ /**
+ * Level 4.
+ *
+ * Generated from protobuf enum LEVEL4 = 10;
+ */
+ const LEVEL4 = 10;
+ /**
+ * Level 5.
+ *
+ * Generated from protobuf enum LEVEL5 = 11;
+ */
+ const LEVEL5 = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LEVEL1 => 'LEVEL1',
+ self::LEVEL2 => 'LEVEL2',
+ self::LEVEL3 => 'LEVEL3',
+ self::LEVEL4 => 'LEVEL4',
+ self::LEVEL5 => 'LEVEL5',
+ ];
+
+ 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(ProductTypeLevel::class, \Google\Ads\GoogleAds\V2\Enums\ProductTypeLevelEnum_ProductTypeLevel::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum_ProductTypeLevel.php b/src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum_ProductTypeLevel.php
new file mode 100644
index 000000000..1767388ab
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProductTypeLevelEnum_ProductTypeLevel.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PromotionExtensionDiscountModifierEnum
+ */
+final class PromotionExtensionDiscountModifierEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PromotionExtensionDiscountModifier::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum/PromotionExtensionDiscountModifier.php b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum/PromotionExtensionDiscountModifier.php
new file mode 100644
index 000000000..c5946f145
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum/PromotionExtensionDiscountModifier.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier
+ */
+class PromotionExtensionDiscountModifier
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * 'Up to'.
+ *
+ * Generated from protobuf enum UP_TO = 2;
+ */
+ const UP_TO = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UP_TO => 'UP_TO',
+ ];
+
+ 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(PromotionExtensionDiscountModifier::class, \Google\Ads\GoogleAds\V2\Enums\PromotionExtensionDiscountModifierEnum_PromotionExtensionDiscountModifier::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum_PromotionExtensionDiscountModifier.php b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum_PromotionExtensionDiscountModifier.php
new file mode 100644
index 000000000..64abedd25
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionDiscountModifierEnum_PromotionExtensionDiscountModifier.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PromotionExtensionOccasionEnum
+ */
+final class PromotionExtensionOccasionEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PromotionExtensionOccasion::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum/PromotionExtensionOccasion.php b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum/PromotionExtensionOccasion.php
new file mode 100644
index 000000000..4d4a214f1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum/PromotionExtensionOccasion.php
@@ -0,0 +1,316 @@
+google.ads.googleads.v2.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion
+ */
+class PromotionExtensionOccasion
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * New Year's.
+ *
+ * Generated from protobuf enum NEW_YEARS = 2;
+ */
+ const NEW_YEARS = 2;
+ /**
+ * Chinese New Year.
+ *
+ * Generated from protobuf enum CHINESE_NEW_YEAR = 3;
+ */
+ const CHINESE_NEW_YEAR = 3;
+ /**
+ * Valentine's Day.
+ *
+ * Generated from protobuf enum VALENTINES_DAY = 4;
+ */
+ const VALENTINES_DAY = 4;
+ /**
+ * Easter.
+ *
+ * Generated from protobuf enum EASTER = 5;
+ */
+ const EASTER = 5;
+ /**
+ * Mother's Day.
+ *
+ * Generated from protobuf enum MOTHERS_DAY = 6;
+ */
+ const MOTHERS_DAY = 6;
+ /**
+ * Father's Day.
+ *
+ * Generated from protobuf enum FATHERS_DAY = 7;
+ */
+ const FATHERS_DAY = 7;
+ /**
+ * Labor Day.
+ *
+ * Generated from protobuf enum LABOR_DAY = 8;
+ */
+ const LABOR_DAY = 8;
+ /**
+ * Back To School.
+ *
+ * Generated from protobuf enum BACK_TO_SCHOOL = 9;
+ */
+ const BACK_TO_SCHOOL = 9;
+ /**
+ * Halloween.
+ *
+ * Generated from protobuf enum HALLOWEEN = 10;
+ */
+ const HALLOWEEN = 10;
+ /**
+ * Black Friday.
+ *
+ * Generated from protobuf enum BLACK_FRIDAY = 11;
+ */
+ const BLACK_FRIDAY = 11;
+ /**
+ * Cyber Monday.
+ *
+ * Generated from protobuf enum CYBER_MONDAY = 12;
+ */
+ const CYBER_MONDAY = 12;
+ /**
+ * Christmas.
+ *
+ * Generated from protobuf enum CHRISTMAS = 13;
+ */
+ const CHRISTMAS = 13;
+ /**
+ * Boxing Day.
+ *
+ * Generated from protobuf enum BOXING_DAY = 14;
+ */
+ const BOXING_DAY = 14;
+ /**
+ * Independence Day in any country.
+ *
+ * Generated from protobuf enum INDEPENDENCE_DAY = 15;
+ */
+ const INDEPENDENCE_DAY = 15;
+ /**
+ * National Day in any country.
+ *
+ * Generated from protobuf enum NATIONAL_DAY = 16;
+ */
+ const NATIONAL_DAY = 16;
+ /**
+ * End of any season.
+ *
+ * Generated from protobuf enum END_OF_SEASON = 17;
+ */
+ const END_OF_SEASON = 17;
+ /**
+ * Winter Sale.
+ *
+ * Generated from protobuf enum WINTER_SALE = 18;
+ */
+ const WINTER_SALE = 18;
+ /**
+ * Summer sale.
+ *
+ * Generated from protobuf enum SUMMER_SALE = 19;
+ */
+ const SUMMER_SALE = 19;
+ /**
+ * Fall Sale.
+ *
+ * Generated from protobuf enum FALL_SALE = 20;
+ */
+ const FALL_SALE = 20;
+ /**
+ * Spring Sale.
+ *
+ * Generated from protobuf enum SPRING_SALE = 21;
+ */
+ const SPRING_SALE = 21;
+ /**
+ * Ramadan.
+ *
+ * Generated from protobuf enum RAMADAN = 22;
+ */
+ const RAMADAN = 22;
+ /**
+ * Eid al-Fitr.
+ *
+ * Generated from protobuf enum EID_AL_FITR = 23;
+ */
+ const EID_AL_FITR = 23;
+ /**
+ * Eid al-Adha.
+ *
+ * Generated from protobuf enum EID_AL_ADHA = 24;
+ */
+ const EID_AL_ADHA = 24;
+ /**
+ * Singles Day.
+ *
+ * Generated from protobuf enum SINGLES_DAY = 25;
+ */
+ const SINGLES_DAY = 25;
+ /**
+ * Women's Day.
+ *
+ * Generated from protobuf enum WOMENS_DAY = 26;
+ */
+ const WOMENS_DAY = 26;
+ /**
+ * Holi.
+ *
+ * Generated from protobuf enum HOLI = 27;
+ */
+ const HOLI = 27;
+ /**
+ * Parent's Day.
+ *
+ * Generated from protobuf enum PARENTS_DAY = 28;
+ */
+ const PARENTS_DAY = 28;
+ /**
+ * St. Nicholas Day.
+ *
+ * Generated from protobuf enum ST_NICHOLAS_DAY = 29;
+ */
+ const ST_NICHOLAS_DAY = 29;
+ /**
+ * Carnival.
+ *
+ * Generated from protobuf enum CARNIVAL = 30;
+ */
+ const CARNIVAL = 30;
+ /**
+ * Epiphany, also known as Three Kings' Day.
+ *
+ * Generated from protobuf enum EPIPHANY = 31;
+ */
+ const EPIPHANY = 31;
+ /**
+ * Rosh Hashanah.
+ *
+ * Generated from protobuf enum ROSH_HASHANAH = 32;
+ */
+ const ROSH_HASHANAH = 32;
+ /**
+ * Passover.
+ *
+ * Generated from protobuf enum PASSOVER = 33;
+ */
+ const PASSOVER = 33;
+ /**
+ * Hanukkah.
+ *
+ * Generated from protobuf enum HANUKKAH = 34;
+ */
+ const HANUKKAH = 34;
+ /**
+ * Diwali.
+ *
+ * Generated from protobuf enum DIWALI = 35;
+ */
+ const DIWALI = 35;
+ /**
+ * Navratri.
+ *
+ * Generated from protobuf enum NAVRATRI = 36;
+ */
+ const NAVRATRI = 36;
+ /**
+ * Available in Thai: Songkran.
+ *
+ * Generated from protobuf enum SONGKRAN = 37;
+ */
+ const SONGKRAN = 37;
+ /**
+ * Available in Japanese: Year-end Gift.
+ *
+ * Generated from protobuf enum YEAR_END_GIFT = 38;
+ */
+ const YEAR_END_GIFT = 38;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NEW_YEARS => 'NEW_YEARS',
+ self::CHINESE_NEW_YEAR => 'CHINESE_NEW_YEAR',
+ self::VALENTINES_DAY => 'VALENTINES_DAY',
+ self::EASTER => 'EASTER',
+ self::MOTHERS_DAY => 'MOTHERS_DAY',
+ self::FATHERS_DAY => 'FATHERS_DAY',
+ self::LABOR_DAY => 'LABOR_DAY',
+ self::BACK_TO_SCHOOL => 'BACK_TO_SCHOOL',
+ self::HALLOWEEN => 'HALLOWEEN',
+ self::BLACK_FRIDAY => 'BLACK_FRIDAY',
+ self::CYBER_MONDAY => 'CYBER_MONDAY',
+ self::CHRISTMAS => 'CHRISTMAS',
+ self::BOXING_DAY => 'BOXING_DAY',
+ self::INDEPENDENCE_DAY => 'INDEPENDENCE_DAY',
+ self::NATIONAL_DAY => 'NATIONAL_DAY',
+ self::END_OF_SEASON => 'END_OF_SEASON',
+ self::WINTER_SALE => 'WINTER_SALE',
+ self::SUMMER_SALE => 'SUMMER_SALE',
+ self::FALL_SALE => 'FALL_SALE',
+ self::SPRING_SALE => 'SPRING_SALE',
+ self::RAMADAN => 'RAMADAN',
+ self::EID_AL_FITR => 'EID_AL_FITR',
+ self::EID_AL_ADHA => 'EID_AL_ADHA',
+ self::SINGLES_DAY => 'SINGLES_DAY',
+ self::WOMENS_DAY => 'WOMENS_DAY',
+ self::HOLI => 'HOLI',
+ self::PARENTS_DAY => 'PARENTS_DAY',
+ self::ST_NICHOLAS_DAY => 'ST_NICHOLAS_DAY',
+ self::CARNIVAL => 'CARNIVAL',
+ self::EPIPHANY => 'EPIPHANY',
+ self::ROSH_HASHANAH => 'ROSH_HASHANAH',
+ self::PASSOVER => 'PASSOVER',
+ self::HANUKKAH => 'HANUKKAH',
+ self::DIWALI => 'DIWALI',
+ self::NAVRATRI => 'NAVRATRI',
+ self::SONGKRAN => 'SONGKRAN',
+ self::YEAR_END_GIFT => 'YEAR_END_GIFT',
+ ];
+
+ 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(PromotionExtensionOccasion::class, \Google\Ads\GoogleAds\V2\Enums\PromotionExtensionOccasionEnum_PromotionExtensionOccasion::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum_PromotionExtensionOccasion.php b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum_PromotionExtensionOccasion.php
new file mode 100644
index 000000000..88f3ddcd4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PromotionExtensionOccasionEnum_PromotionExtensionOccasion.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.PromotionPlaceholderFieldEnum
+ */
+final class PromotionPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\PromotionPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum/PromotionPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum/PromotionPlaceholderField.php
new file mode 100644
index 000000000..174dea4bf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum/PromotionPlaceholderField.php
@@ -0,0 +1,164 @@
+google.ads.googleads.v2.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField
+ */
+class PromotionPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The text that appears on the ad when the extension is
+ * shown.
+ *
+ * Generated from protobuf enum PROMOTION_TARGET = 2;
+ */
+ const PROMOTION_TARGET = 2;
+ /**
+ * Data Type: STRING. Allows you to add "up to" phrase to the promotion,
+ * in case you have variable promotion rates.
+ *
+ * Generated from protobuf enum DISCOUNT_MODIFIER = 3;
+ */
+ const DISCOUNT_MODIFIER = 3;
+ /**
+ * Data Type: INT64. Takes a value in micros, where 1 million micros
+ * represents 1%, and is shown as a percentage when rendered.
+ *
+ * Generated from protobuf enum PERCENT_OFF = 4;
+ */
+ const PERCENT_OFF = 4;
+ /**
+ * Data Type: MONEY. Requires a currency and an amount of money.
+ *
+ * Generated from protobuf enum MONEY_AMOUNT_OFF = 5;
+ */
+ const MONEY_AMOUNT_OFF = 5;
+ /**
+ * Data Type: STRING. A string that the user enters to get the discount.
+ *
+ * Generated from protobuf enum PROMOTION_CODE = 6;
+ */
+ const PROMOTION_CODE = 6;
+ /**
+ * Data Type: MONEY. A minimum spend before the user qualifies for the
+ * promotion.
+ *
+ * Generated from protobuf enum ORDERS_OVER_AMOUNT = 7;
+ */
+ const ORDERS_OVER_AMOUNT = 7;
+ /**
+ * Data Type: DATE. The start date of the promotion.
+ *
+ * Generated from protobuf enum PROMOTION_START = 8;
+ */
+ const PROMOTION_START = 8;
+ /**
+ * Data Type: DATE. The end date of the promotion.
+ *
+ * Generated from protobuf enum PROMOTION_END = 9;
+ */
+ const PROMOTION_END = 9;
+ /**
+ * Data Type: STRING. Describes the associated event for the promotion using
+ * one of the PromotionExtensionOccasion enum values, for example NEW_YEARS.
+ *
+ * Generated from protobuf enum OCCASION = 10;
+ */
+ const OCCASION = 10;
+ /**
+ * Data Type: URL_LIST. Final URLs to be used in the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_URLS = 11;
+ */
+ const FINAL_URLS = 11;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 12;
+ */
+ const FINAL_MOBILE_URLS = 12;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 13;
+ */
+ const TRACKING_URL = 13;
+ /**
+ * Data Type: STRING. A string represented by a language code for the
+ * promotion.
+ *
+ * Generated from protobuf enum LANGUAGE = 14;
+ */
+ const LANGUAGE = 14;
+ /**
+ * Data Type: STRING. Final URL suffix for the ad when using parallel
+ * tracking.
+ *
+ * Generated from protobuf enum FINAL_URL_SUFFIX = 15;
+ */
+ const FINAL_URL_SUFFIX = 15;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PROMOTION_TARGET => 'PROMOTION_TARGET',
+ self::DISCOUNT_MODIFIER => 'DISCOUNT_MODIFIER',
+ self::PERCENT_OFF => 'PERCENT_OFF',
+ self::MONEY_AMOUNT_OFF => 'MONEY_AMOUNT_OFF',
+ self::PROMOTION_CODE => 'PROMOTION_CODE',
+ self::ORDERS_OVER_AMOUNT => 'ORDERS_OVER_AMOUNT',
+ self::PROMOTION_START => 'PROMOTION_START',
+ self::PROMOTION_END => 'PROMOTION_END',
+ self::OCCASION => 'OCCASION',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::LANGUAGE => 'LANGUAGE',
+ self::FINAL_URL_SUFFIX => 'FINAL_URL_SUFFIX',
+ ];
+
+ 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(PromotionPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\PromotionPlaceholderFieldEnum_PromotionPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum_PromotionPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum_PromotionPlaceholderField.php
new file mode 100644
index 000000000..4307a455a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/PromotionPlaceholderFieldEnum_PromotionPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum
+ */
+final class ProximityRadiusUnitsEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ProximityRadiusUnits::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum/ProximityRadiusUnits.php b/src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum/ProximityRadiusUnits.php
new file mode 100644
index 000000000..00b8804c4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum/ProximityRadiusUnits.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits
+ */
+class ProximityRadiusUnits
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Miles
+ *
+ * Generated from protobuf enum MILES = 2;
+ */
+ const MILES = 2;
+ /**
+ * Kilometers
+ *
+ * Generated from protobuf enum KILOMETERS = 3;
+ */
+ const KILOMETERS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MILES => 'MILES',
+ self::KILOMETERS => 'KILOMETERS',
+ ];
+
+ 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(ProximityRadiusUnits::class, \Google\Ads\GoogleAds\V2\Enums\ProximityRadiusUnitsEnum_ProximityRadiusUnits::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum_ProximityRadiusUnits.php b/src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum_ProximityRadiusUnits.php
new file mode 100644
index 000000000..cdc5226d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ProximityRadiusUnitsEnum_ProximityRadiusUnits.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.QualityScoreBucketEnum
+ */
+final class QualityScoreBucketEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\QualityScoreBucket::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum/QualityScoreBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum/QualityScoreBucket.php
new file mode 100644
index 000000000..5618213d7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum/QualityScoreBucket.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket
+ */
+class QualityScoreBucket
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Quality of the creative is below average.
+ *
+ * Generated from protobuf enum BELOW_AVERAGE = 2;
+ */
+ const BELOW_AVERAGE = 2;
+ /**
+ * Quality of the creative is average.
+ *
+ * Generated from protobuf enum AVERAGE = 3;
+ */
+ const AVERAGE = 3;
+ /**
+ * Quality of the creative is above average.
+ *
+ * Generated from protobuf enum ABOVE_AVERAGE = 4;
+ */
+ const ABOVE_AVERAGE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BELOW_AVERAGE => 'BELOW_AVERAGE',
+ self::AVERAGE => 'AVERAGE',
+ self::ABOVE_AVERAGE => 'ABOVE_AVERAGE',
+ ];
+
+ 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(QualityScoreBucket::class, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum_QualityScoreBucket.php b/src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum_QualityScoreBucket.php
new file mode 100644
index 000000000..b747031b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/QualityScoreBucketEnum_QualityScoreBucket.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.RealEstatePlaceholderFieldEnum
+ */
+final class RealEstatePlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\RealEstatePlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum/RealEstatePlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum/RealEstatePlaceholderField.php
new file mode 100644
index 000000000..474c6c119
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum/RealEstatePlaceholderField.php
@@ -0,0 +1,198 @@
+google.ads.googleads.v2.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField
+ */
+class RealEstatePlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Unique ID.
+ *
+ * Generated from protobuf enum LISTING_ID = 2;
+ */
+ const LISTING_ID = 2;
+ /**
+ * Data Type: STRING. Main headline with listing name to be shown in dynamic
+ * ad.
+ *
+ * Generated from protobuf enum LISTING_NAME = 3;
+ */
+ const LISTING_NAME = 3;
+ /**
+ * Data Type: STRING. City name to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum CITY_NAME = 4;
+ */
+ const CITY_NAME = 4;
+ /**
+ * Data Type: STRING. Description of listing to be shown in dynamic ad.
+ *
+ * Generated from protobuf enum DESCRIPTION = 5;
+ */
+ const DESCRIPTION = 5;
+ /**
+ * Data Type: STRING. Complete listing address, including postal code.
+ *
+ * Generated from protobuf enum ADDRESS = 6;
+ */
+ const ADDRESS = 6;
+ /**
+ * Data Type: STRING. Price to be shown in the ad.
+ * Example: "100.00 USD"
+ *
+ * Generated from protobuf enum PRICE = 7;
+ */
+ const PRICE = 7;
+ /**
+ * Data Type: STRING. Formatted price to be shown in the ad.
+ * Example: "Starting at $100.00 USD", "$80 - $100"
+ *
+ * Generated from protobuf enum FORMATTED_PRICE = 8;
+ */
+ const FORMATTED_PRICE = 8;
+ /**
+ * Data Type: URL. Image to be displayed in the ad.
+ *
+ * Generated from protobuf enum IMAGE_URL = 9;
+ */
+ const IMAGE_URL = 9;
+ /**
+ * Data Type: STRING. Type of property (house, condo, apartment, etc.) used
+ * to group like items together for recommendation engine.
+ *
+ * Generated from protobuf enum PROPERTY_TYPE = 10;
+ */
+ const PROPERTY_TYPE = 10;
+ /**
+ * Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.)
+ * used to group like items together for recommendation engine.
+ *
+ * Generated from protobuf enum LISTING_TYPE = 11;
+ */
+ const LISTING_TYPE = 11;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 12;
+ */
+ const CONTEXTUAL_KEYWORDS = 12;
+ /**
+ * Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded
+ * URLs; the more specific the better (e.g. the individual URL of a specific
+ * listing and its location).
+ *
+ * Generated from protobuf enum FINAL_URLS = 13;
+ */
+ const FINAL_URLS = 13;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 14;
+ */
+ const FINAL_MOBILE_URLS = 14;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 15;
+ */
+ const TRACKING_URL = 15;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 16;
+ */
+ const ANDROID_APP_LINK = 16;
+ /**
+ * Data Type: STRING_LIST. List of recommended listing IDs to show together
+ * with this item.
+ *
+ * Generated from protobuf enum SIMILAR_LISTING_IDS = 17;
+ */
+ const SIMILAR_LISTING_IDS = 17;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 18;
+ */
+ const IOS_APP_LINK = 18;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 19;
+ */
+ const IOS_APP_STORE_ID = 19;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LISTING_ID => 'LISTING_ID',
+ self::LISTING_NAME => 'LISTING_NAME',
+ self::CITY_NAME => 'CITY_NAME',
+ self::DESCRIPTION => 'DESCRIPTION',
+ self::ADDRESS => 'ADDRESS',
+ self::PRICE => 'PRICE',
+ self::FORMATTED_PRICE => 'FORMATTED_PRICE',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::PROPERTY_TYPE => 'PROPERTY_TYPE',
+ self::LISTING_TYPE => 'LISTING_TYPE',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_LISTING_IDS => 'SIMILAR_LISTING_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(RealEstatePlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\RealEstatePlaceholderFieldEnum_RealEstatePlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum_RealEstatePlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum_RealEstatePlaceholderField.php
new file mode 100644
index 000000000..8b4400e7f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/RealEstatePlaceholderFieldEnum_RealEstatePlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.RecommendationTypeEnum
+ */
+final class RecommendationTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\RecommendationType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum/RecommendationType.php b/src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum/RecommendationType.php
new file mode 100644
index 000000000..1e2004da9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum/RecommendationType.php
@@ -0,0 +1,161 @@
+google.ads.googleads.v2.enums.RecommendationTypeEnum.RecommendationType
+ */
+class RecommendationType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Budget recommendation for budget constrained campaigns.
+ *
+ * Generated from protobuf enum CAMPAIGN_BUDGET = 2;
+ */
+ const CAMPAIGN_BUDGET = 2;
+ /**
+ * Keyword recommendation.
+ *
+ * Generated from protobuf enum KEYWORD = 3;
+ */
+ const KEYWORD = 3;
+ /**
+ * Recommendation to add a new text ad.
+ *
+ * Generated from protobuf enum TEXT_AD = 4;
+ */
+ const TEXT_AD = 4;
+ /**
+ * Recommendation to update a campaign to use a Target CPA bidding strategy.
+ *
+ * Generated from protobuf enum TARGET_CPA_OPT_IN = 5;
+ */
+ const TARGET_CPA_OPT_IN = 5;
+ /**
+ * Recommendation to update a campaign to use the Maximize Conversions
+ * bidding strategy.
+ *
+ * Generated from protobuf enum MAXIMIZE_CONVERSIONS_OPT_IN = 6;
+ */
+ const MAXIMIZE_CONVERSIONS_OPT_IN = 6;
+ /**
+ * Recommendation to enable Enhanced Cost Per Click for a campaign.
+ *
+ * Generated from protobuf enum ENHANCED_CPC_OPT_IN = 7;
+ */
+ const ENHANCED_CPC_OPT_IN = 7;
+ /**
+ * Recommendation to start showing your campaign's ads on Google Search
+ * Partners Websites.
+ *
+ * Generated from protobuf enum SEARCH_PARTNERS_OPT_IN = 8;
+ */
+ const SEARCH_PARTNERS_OPT_IN = 8;
+ /**
+ * Recommendation to update a campaign to use a Maximize Clicks bidding
+ * strategy.
+ *
+ * Generated from protobuf enum MAXIMIZE_CLICKS_OPT_IN = 9;
+ */
+ const MAXIMIZE_CLICKS_OPT_IN = 9;
+ /**
+ * Recommendation to start using the "Optimize" ad rotation setting for the
+ * given ad group.
+ *
+ * Generated from protobuf enum OPTIMIZE_AD_ROTATION = 10;
+ */
+ const OPTIMIZE_AD_ROTATION = 10;
+ /**
+ * Recommendation to add callout extensions to a campaign.
+ *
+ * Generated from protobuf enum CALLOUT_EXTENSION = 11;
+ */
+ const CALLOUT_EXTENSION = 11;
+ /**
+ * Recommendation to add sitelink extensions to a campaign.
+ *
+ * Generated from protobuf enum SITELINK_EXTENSION = 12;
+ */
+ const SITELINK_EXTENSION = 12;
+ /**
+ * Recommendation to add call extensions to a campaign.
+ *
+ * Generated from protobuf enum CALL_EXTENSION = 13;
+ */
+ const CALL_EXTENSION = 13;
+ /**
+ * Recommendation to change an existing keyword from one match type to a
+ * broader match type.
+ *
+ * Generated from protobuf enum KEYWORD_MATCH_TYPE = 14;
+ */
+ const KEYWORD_MATCH_TYPE = 14;
+ /**
+ * Recommendation to move unused budget from one budget to a constrained
+ * budget.
+ *
+ * Generated from protobuf enum MOVE_UNUSED_BUDGET = 15;
+ */
+ const MOVE_UNUSED_BUDGET = 15;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CAMPAIGN_BUDGET => 'CAMPAIGN_BUDGET',
+ self::KEYWORD => 'KEYWORD',
+ self::TEXT_AD => 'TEXT_AD',
+ self::TARGET_CPA_OPT_IN => 'TARGET_CPA_OPT_IN',
+ self::MAXIMIZE_CONVERSIONS_OPT_IN => 'MAXIMIZE_CONVERSIONS_OPT_IN',
+ self::ENHANCED_CPC_OPT_IN => 'ENHANCED_CPC_OPT_IN',
+ self::SEARCH_PARTNERS_OPT_IN => 'SEARCH_PARTNERS_OPT_IN',
+ self::MAXIMIZE_CLICKS_OPT_IN => 'MAXIMIZE_CLICKS_OPT_IN',
+ self::OPTIMIZE_AD_ROTATION => 'OPTIMIZE_AD_ROTATION',
+ self::CALLOUT_EXTENSION => 'CALLOUT_EXTENSION',
+ self::SITELINK_EXTENSION => 'SITELINK_EXTENSION',
+ self::CALL_EXTENSION => 'CALL_EXTENSION',
+ self::KEYWORD_MATCH_TYPE => 'KEYWORD_MATCH_TYPE',
+ self::MOVE_UNUSED_BUDGET => 'MOVE_UNUSED_BUDGET',
+ ];
+
+ 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(RecommendationType::class, \Google\Ads\GoogleAds\V2\Enums\RecommendationTypeEnum_RecommendationType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum_RecommendationType.php b/src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum_RecommendationType.php
new file mode 100644
index 000000000..7b2af41fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/RecommendationTypeEnum_RecommendationType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SearchEngineResultsPageTypeEnum
+ */
+final class SearchEngineResultsPageTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SearchEngineResultsPageType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum/SearchEngineResultsPageType.php b/src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum/SearchEngineResultsPageType.php
new file mode 100644
index 000000000..0935362e2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum/SearchEngineResultsPageType.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType
+ */
+class SearchEngineResultsPageType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Only ads were contained in the search engine results page.
+ *
+ * Generated from protobuf enum ADS_ONLY = 2;
+ */
+ const ADS_ONLY = 2;
+ /**
+ * Only organic results were contained in the search engine results page.
+ *
+ * Generated from protobuf enum ORGANIC_ONLY = 3;
+ */
+ const ORGANIC_ONLY = 3;
+ /**
+ * Both ads and organic results were contained in the search engine results
+ * page.
+ *
+ * Generated from protobuf enum ADS_AND_ORGANIC = 4;
+ */
+ const ADS_AND_ORGANIC = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ADS_ONLY => 'ADS_ONLY',
+ self::ORGANIC_ONLY => 'ORGANIC_ONLY',
+ self::ADS_AND_ORGANIC => 'ADS_AND_ORGANIC',
+ ];
+
+ 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(SearchEngineResultsPageType::class, \Google\Ads\GoogleAds\V2\Enums\SearchEngineResultsPageTypeEnum_SearchEngineResultsPageType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum_SearchEngineResultsPageType.php b/src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum_SearchEngineResultsPageType.php
new file mode 100644
index 000000000..7e8d99b62
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SearchEngineResultsPageTypeEnum_SearchEngineResultsPageType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SearchTermMatchTypeEnum
+ */
+final class SearchTermMatchTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SearchTermMatchType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum/SearchTermMatchType.php b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum/SearchTermMatchType.php
new file mode 100644
index 000000000..0a11c320a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum/SearchTermMatchType.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.SearchTermMatchTypeEnum.SearchTermMatchType
+ */
+class SearchTermMatchType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Broad match.
+ *
+ * Generated from protobuf enum BROAD = 2;
+ */
+ const BROAD = 2;
+ /**
+ * Exact match.
+ *
+ * Generated from protobuf enum EXACT = 3;
+ */
+ const EXACT = 3;
+ /**
+ * Phrase match.
+ *
+ * Generated from protobuf enum PHRASE = 4;
+ */
+ const PHRASE = 4;
+ /**
+ * Exact match (close variant).
+ *
+ * Generated from protobuf enum NEAR_EXACT = 5;
+ */
+ const NEAR_EXACT = 5;
+ /**
+ * Phrase match (close variant).
+ *
+ * Generated from protobuf enum NEAR_PHRASE = 6;
+ */
+ const NEAR_PHRASE = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BROAD => 'BROAD',
+ self::EXACT => 'EXACT',
+ self::PHRASE => 'PHRASE',
+ self::NEAR_EXACT => 'NEAR_EXACT',
+ self::NEAR_PHRASE => 'NEAR_PHRASE',
+ ];
+
+ 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(SearchTermMatchType::class, \Google\Ads\GoogleAds\V2\Enums\SearchTermMatchTypeEnum_SearchTermMatchType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum_SearchTermMatchType.php b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum_SearchTermMatchType.php
new file mode 100644
index 000000000..bf99a92c9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermMatchTypeEnum_SearchTermMatchType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SearchTermTargetingStatusEnum
+ */
+final class SearchTermTargetingStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SearchTermTargetingStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum/SearchTermTargetingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum/SearchTermTargetingStatus.php
new file mode 100644
index 000000000..e07dd82d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum/SearchTermTargetingStatus.php
@@ -0,0 +1,86 @@
+google.ads.googleads.v2.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus
+ */
+class SearchTermTargetingStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Search term is added to targeted keywords.
+ *
+ * Generated from protobuf enum ADDED = 2;
+ */
+ const ADDED = 2;
+ /**
+ * Search term matches a negative keyword.
+ *
+ * Generated from protobuf enum EXCLUDED = 3;
+ */
+ const EXCLUDED = 3;
+ /**
+ * Search term has been both added and excluded.
+ *
+ * Generated from protobuf enum ADDED_EXCLUDED = 4;
+ */
+ const ADDED_EXCLUDED = 4;
+ /**
+ * Search term is neither targeted nor excluded.
+ *
+ * Generated from protobuf enum NONE = 5;
+ */
+ const NONE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ADDED => 'ADDED',
+ self::EXCLUDED => 'EXCLUDED',
+ self::ADDED_EXCLUDED => 'ADDED_EXCLUDED',
+ self::NONE => 'NONE',
+ ];
+
+ 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(SearchTermTargetingStatus::class, \Google\Ads\GoogleAds\V2\Enums\SearchTermTargetingStatusEnum_SearchTermTargetingStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum_SearchTermTargetingStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum_SearchTermTargetingStatus.php
new file mode 100644
index 000000000..3fd3ecf7b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SearchTermTargetingStatusEnum_SearchTermTargetingStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.ServedAssetFieldTypeEnum
+ */
+final class ServedAssetFieldTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\ServedAssetFieldType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum/ServedAssetFieldType.php b/src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum/ServedAssetFieldType.php
new file mode 100644
index 000000000..6d7951c1f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum/ServedAssetFieldType.php
@@ -0,0 +1,93 @@
+google.ads.googleads.v2.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType
+ */
+class ServedAssetFieldType
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received value is not known in this version.
+ * This is a response-only value.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The asset is used in headline 1.
+ *
+ * Generated from protobuf enum HEADLINE_1 = 2;
+ */
+ const HEADLINE_1 = 2;
+ /**
+ * The asset is used in headline 2.
+ *
+ * Generated from protobuf enum HEADLINE_2 = 3;
+ */
+ const HEADLINE_2 = 3;
+ /**
+ * The asset is used in headline 3.
+ *
+ * Generated from protobuf enum HEADLINE_3 = 4;
+ */
+ const HEADLINE_3 = 4;
+ /**
+ * The asset is used in description 1.
+ *
+ * Generated from protobuf enum DESCRIPTION_1 = 5;
+ */
+ const DESCRIPTION_1 = 5;
+ /**
+ * The asset is used in description 2.
+ *
+ * Generated from protobuf enum DESCRIPTION_2 = 6;
+ */
+ const DESCRIPTION_2 = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::HEADLINE_1 => 'HEADLINE_1',
+ self::HEADLINE_2 => 'HEADLINE_2',
+ self::HEADLINE_3 => 'HEADLINE_3',
+ self::DESCRIPTION_1 => 'DESCRIPTION_1',
+ self::DESCRIPTION_2 => 'DESCRIPTION_2',
+ ];
+
+ 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(ServedAssetFieldType::class, \Google\Ads\GoogleAds\V2\Enums\ServedAssetFieldTypeEnum_ServedAssetFieldType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum_ServedAssetFieldType.php b/src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum_ServedAssetFieldType.php
new file mode 100644
index 000000000..689c09e15
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/ServedAssetFieldTypeEnum_ServedAssetFieldType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SharedSetStatusEnum
+ */
+final class SharedSetStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SharedSetStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum/SharedSetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum/SharedSetStatus.php
new file mode 100644
index 000000000..02111b233
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum/SharedSetStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.SharedSetStatusEnum.SharedSetStatus
+ */
+class SharedSetStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The shared set is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The shared set is removed and can no longer be used.
+ *
+ * Generated from protobuf enum REMOVED = 3;
+ */
+ const REMOVED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::REMOVED => 'REMOVED',
+ ];
+
+ 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(SharedSetStatus::class, \Google\Ads\GoogleAds\V2\Enums\SharedSetStatusEnum_SharedSetStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum_SharedSetStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum_SharedSetStatus.php
new file mode 100644
index 000000000..45becda84
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetStatusEnum_SharedSetStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SharedSetTypeEnum
+ */
+final class SharedSetTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SharedSetType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum/SharedSetType.php b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum/SharedSetType.php
new file mode 100644
index 000000000..4c7681c6d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum/SharedSetType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.SharedSetTypeEnum.SharedSetType
+ */
+class SharedSetType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A set of keywords that can be excluded from targeting.
+ *
+ * Generated from protobuf enum NEGATIVE_KEYWORDS = 2;
+ */
+ const NEGATIVE_KEYWORDS = 2;
+ /**
+ * A set of placements that can be excluded from targeting.
+ *
+ * Generated from protobuf enum NEGATIVE_PLACEMENTS = 3;
+ */
+ const NEGATIVE_PLACEMENTS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NEGATIVE_KEYWORDS => 'NEGATIVE_KEYWORDS',
+ self::NEGATIVE_PLACEMENTS => 'NEGATIVE_PLACEMENTS',
+ ];
+
+ 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(SharedSetType::class, \Google\Ads\GoogleAds\V2\Enums\SharedSetTypeEnum_SharedSetType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum_SharedSetType.php b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum_SharedSetType.php
new file mode 100644
index 000000000..2c8cdbd78
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SharedSetTypeEnum_SharedSetType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SimulationModificationMethodEnum
+ */
+final class SimulationModificationMethodEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SimulationModificationMethod::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum/SimulationModificationMethod.php b/src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum/SimulationModificationMethod.php
new file mode 100644
index 000000000..2aad5fad4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum/SimulationModificationMethod.php
@@ -0,0 +1,74 @@
+google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod
+ */
+class SimulationModificationMethod
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The values in a simulation were applied to all children of a given
+ * resource uniformly. Overrides on child resources were not respected.
+ *
+ * Generated from protobuf enum UNIFORM = 2;
+ */
+ const UNIFORM = 2;
+ /**
+ * The values in a simulation were applied to the given resource.
+ * Overrides on child resources were respected, and traffic estimates
+ * do not include these resources.
+ *
+ * Generated from protobuf enum DEFAULT = 3;
+ */
+ const PBDEFAULT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UNIFORM => 'UNIFORM',
+ self::PBDEFAULT => 'PBDEFAULT',
+ ];
+
+ 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(SimulationModificationMethod::class, \Google\Ads\GoogleAds\V2\Enums\SimulationModificationMethodEnum_SimulationModificationMethod::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum_SimulationModificationMethod.php b/src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum_SimulationModificationMethod.php
new file mode 100644
index 000000000..cda19fcdf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SimulationModificationMethodEnum_SimulationModificationMethod.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SimulationTypeEnum
+ */
+final class SimulationTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SimulationType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum/SimulationType.php b/src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum/SimulationType.php
new file mode 100644
index 000000000..a6df63a2e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum/SimulationType.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType
+ */
+class SimulationType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The simulation is for a cpc bid.
+ *
+ * Generated from protobuf enum CPC_BID = 2;
+ */
+ const CPC_BID = 2;
+ /**
+ * The simulation is for a cpv bid.
+ *
+ * Generated from protobuf enum CPV_BID = 3;
+ */
+ const CPV_BID = 3;
+ /**
+ * The simulation is for a cpa target.
+ *
+ * Generated from protobuf enum TARGET_CPA = 4;
+ */
+ const TARGET_CPA = 4;
+ /**
+ * The simulation is for a bid modifier.
+ *
+ * Generated from protobuf enum BID_MODIFIER = 5;
+ */
+ const BID_MODIFIER = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CPC_BID => 'CPC_BID',
+ self::CPV_BID => 'CPV_BID',
+ self::TARGET_CPA => 'TARGET_CPA',
+ self::BID_MODIFIER => 'BID_MODIFIER',
+ ];
+
+ 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(SimulationType::class, \Google\Ads\GoogleAds\V2\Enums\SimulationTypeEnum_SimulationType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum_SimulationType.php b/src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum_SimulationType.php
new file mode 100644
index 000000000..64f2cb0e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SimulationTypeEnum_SimulationType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SitelinkPlaceholderFieldEnum
+ */
+final class SitelinkPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SitelinkPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum/SitelinkPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum/SitelinkPlaceholderField.php
new file mode 100644
index 000000000..0a795eb93
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum/SitelinkPlaceholderField.php
@@ -0,0 +1,110 @@
+google.ads.googleads.v2.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField
+ */
+class SitelinkPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The link text for your sitelink.
+ *
+ * Generated from protobuf enum TEXT = 2;
+ */
+ const TEXT = 2;
+ /**
+ * Data Type: STRING. First line of the sitelink description.
+ *
+ * Generated from protobuf enum LINE_1 = 3;
+ */
+ const LINE_1 = 3;
+ /**
+ * Data Type: STRING. Second line of the sitelink description.
+ *
+ * Generated from protobuf enum LINE_2 = 4;
+ */
+ const LINE_2 = 4;
+ /**
+ * Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_URLS = 5;
+ */
+ const FINAL_URLS = 5;
+ /**
+ * Data Type: URL_LIST. Final Mobile URLs for the sitelink when using
+ * Upgraded URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 6;
+ */
+ const FINAL_MOBILE_URLS = 6;
+ /**
+ * Data Type: URL. Tracking template for the sitelink when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 7;
+ */
+ const TRACKING_URL = 7;
+ /**
+ * Data Type: STRING. Final URL suffix for sitelink when using parallel
+ * tracking.
+ *
+ * Generated from protobuf enum FINAL_URL_SUFFIX = 8;
+ */
+ const FINAL_URL_SUFFIX = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TEXT => 'TEXT',
+ self::LINE_1 => 'LINE_1',
+ self::LINE_2 => 'LINE_2',
+ self::FINAL_URLS => 'FINAL_URLS',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::FINAL_URL_SUFFIX => 'FINAL_URL_SUFFIX',
+ ];
+
+ 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(SitelinkPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\SitelinkPlaceholderFieldEnum_SitelinkPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum_SitelinkPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum_SitelinkPlaceholderField.php
new file mode 100644
index 000000000..7e0b53311
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SitelinkPlaceholderFieldEnum_SitelinkPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SlotEnum
+ */
+final class SlotEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\Slot::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SlotEnum/Slot.php b/src/Google/Ads/GoogleAds/V2/Enums/SlotEnum/Slot.php
new file mode 100644
index 000000000..e08a41cdd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SlotEnum/Slot.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.enums.SlotEnum.Slot
+ */
+class Slot
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The value is unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Google search: Side.
+ *
+ * Generated from protobuf enum SEARCH_SIDE = 2;
+ */
+ const SEARCH_SIDE = 2;
+ /**
+ * Google search: Top.
+ *
+ * Generated from protobuf enum SEARCH_TOP = 3;
+ */
+ const SEARCH_TOP = 3;
+ /**
+ * Google search: Other.
+ *
+ * Generated from protobuf enum SEARCH_OTHER = 4;
+ */
+ const SEARCH_OTHER = 4;
+ /**
+ * Google Display Network.
+ *
+ * Generated from protobuf enum CONTENT = 5;
+ */
+ const CONTENT = 5;
+ /**
+ * Search partners: Top.
+ *
+ * Generated from protobuf enum SEARCH_PARTNER_TOP = 6;
+ */
+ const SEARCH_PARTNER_TOP = 6;
+ /**
+ * Search partners: Other.
+ *
+ * Generated from protobuf enum SEARCH_PARTNER_OTHER = 7;
+ */
+ const SEARCH_PARTNER_OTHER = 7;
+ /**
+ * Cross-network.
+ *
+ * Generated from protobuf enum MIXED = 8;
+ */
+ const MIXED = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SEARCH_SIDE => 'SEARCH_SIDE',
+ self::SEARCH_TOP => 'SEARCH_TOP',
+ self::SEARCH_OTHER => 'SEARCH_OTHER',
+ self::CONTENT => 'CONTENT',
+ self::SEARCH_PARTNER_TOP => 'SEARCH_PARTNER_TOP',
+ self::SEARCH_PARTNER_OTHER => 'SEARCH_PARTNER_OTHER',
+ self::MIXED => 'MIXED',
+ ];
+
+ 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(Slot::class, \Google\Ads\GoogleAds\V2\Enums\SlotEnum_Slot::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SlotEnum_Slot.php b/src/Google/Ads/GoogleAds/V2/Enums/SlotEnum_Slot.php
new file mode 100644
index 000000000..9127103c4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SlotEnum_Slot.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SpendingLimitTypeEnum
+ */
+final class SpendingLimitTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SpendingLimitType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum/SpendingLimitType.php b/src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum/SpendingLimitType.php
new file mode 100644
index 000000000..efcebd1e1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum/SpendingLimitType.php
@@ -0,0 +1,65 @@
+google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType
+ */
+class SpendingLimitType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Infinite, indicates unlimited spending power.
+ *
+ * Generated from protobuf enum INFINITE = 2;
+ */
+ const INFINITE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INFINITE => 'INFINITE',
+ ];
+
+ 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(SpendingLimitType::class, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum_SpendingLimitType.php b/src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum_SpendingLimitType.php
new file mode 100644
index 000000000..a19fa43eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SpendingLimitTypeEnum_SpendingLimitType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.StructuredSnippetPlaceholderFieldEnum
+ */
+final class StructuredSnippetPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\StructuredSnippetPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum/StructuredSnippetPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum/StructuredSnippetPlaceholderField.php
new file mode 100644
index 000000000..f7e9e39a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum/StructuredSnippetPlaceholderField.php
@@ -0,0 +1,76 @@
+google.ads.googleads.v2.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField
+ */
+class StructuredSnippetPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. The category of snippet of your products/services.
+ * Must match exactly one of the predefined structured snippets headers.
+ * For a list, visit
+ * https://developers.google.com/adwords/api/docs/appendix/structured-snippet-headers
+ *
+ * Generated from protobuf enum HEADER = 2;
+ */
+ const HEADER = 2;
+ /**
+ * Data Type: STRING_LIST. Text values that describe your products/services.
+ * All text must be family safe. Special or non-ASCII characters are not
+ * permitted. A snippet can be at most 25 characters.
+ *
+ * Generated from protobuf enum SNIPPETS = 3;
+ */
+ const SNIPPETS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::HEADER => 'HEADER',
+ self::SNIPPETS => 'SNIPPETS',
+ ];
+
+ 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(StructuredSnippetPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\StructuredSnippetPlaceholderFieldEnum_StructuredSnippetPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum_StructuredSnippetPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum_StructuredSnippetPlaceholderField.php
new file mode 100644
index 000000000..e3121e2e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/StructuredSnippetPlaceholderFieldEnum_StructuredSnippetPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum
+ */
+final class SystemManagedResourceSourceEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\SystemManagedEntitySource::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum/SystemManagedResourceSource.php b/src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum/SystemManagedResourceSource.php
new file mode 100644
index 000000000..b4fd14ebf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum/SystemManagedResourceSource.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource
+ */
+class SystemManagedResourceSource
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Generated ad variations experiment ad.
+ *
+ * Generated from protobuf enum AD_VARIATIONS = 2;
+ */
+ const AD_VARIATIONS = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_VARIATIONS => 'AD_VARIATIONS',
+ ];
+
+ 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(SystemManagedResourceSource::class, \Google\Ads\GoogleAds\V2\Enums\SystemManagedResourceSourceEnum_SystemManagedResourceSource::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum_SystemManagedResourceSource.php b/src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum_SystemManagedResourceSource.php
new file mode 100644
index 000000000..0c615519a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/SystemManagedResourceSourceEnum_SystemManagedResourceSource.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TargetCpaOptInRecommendationGoalEnum
+ */
+final class TargetCpaOptInRecommendationGoalEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TargetCpaOptInRecommendationGoal::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum/TargetCpaOptInRecommendationGoal.php b/src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum/TargetCpaOptInRecommendationGoal.php
new file mode 100644
index 000000000..8f703073a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum/TargetCpaOptInRecommendationGoal.php
@@ -0,0 +1,86 @@
+google.ads.googleads.v2.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal
+ */
+class TargetCpaOptInRecommendationGoal
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Recommendation to set Target CPA to maintain the same cost.
+ *
+ * Generated from protobuf enum SAME_COST = 2;
+ */
+ const SAME_COST = 2;
+ /**
+ * Recommendation to set Target CPA to maintain the same conversions.
+ *
+ * Generated from protobuf enum SAME_CONVERSIONS = 3;
+ */
+ const SAME_CONVERSIONS = 3;
+ /**
+ * Recommendation to set Target CPA to maintain the same CPA.
+ *
+ * Generated from protobuf enum SAME_CPA = 4;
+ */
+ const SAME_CPA = 4;
+ /**
+ * Recommendation to set Target CPA to a value that is as close as possible
+ * to, yet lower than, the actual CPA (computed for past 28 days).
+ *
+ * Generated from protobuf enum CLOSEST_CPA = 5;
+ */
+ const CLOSEST_CPA = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SAME_COST => 'SAME_COST',
+ self::SAME_CONVERSIONS => 'SAME_CONVERSIONS',
+ self::SAME_CPA => 'SAME_CPA',
+ self::CLOSEST_CPA => 'CLOSEST_CPA',
+ ];
+
+ 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(TargetCpaOptInRecommendationGoal::class, \Google\Ads\GoogleAds\V2\Enums\TargetCpaOptInRecommendationGoalEnum_TargetCpaOptInRecommendationGoal::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum_TargetCpaOptInRecommendationGoal.php b/src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum_TargetCpaOptInRecommendationGoal.php
new file mode 100644
index 000000000..0e97b96d1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TargetCpaOptInRecommendationGoalEnum_TargetCpaOptInRecommendationGoal.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum
+ */
+final class TargetImpressionShareLocationEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TargetImpressionShareLocation::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum/TargetImpressionShareLocation.php b/src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum/TargetImpressionShareLocation.php
new file mode 100644
index 000000000..6e59fc804
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum/TargetImpressionShareLocation.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation
+ */
+class TargetImpressionShareLocation
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Any location on the web page.
+ *
+ * Generated from protobuf enum ANYWHERE_ON_PAGE = 2;
+ */
+ const ANYWHERE_ON_PAGE = 2;
+ /**
+ * Top box of ads.
+ *
+ * Generated from protobuf enum TOP_OF_PAGE = 3;
+ */
+ const TOP_OF_PAGE = 3;
+ /**
+ * Top slot in the top box of ads.
+ *
+ * Generated from protobuf enum ABSOLUTE_TOP_OF_PAGE = 4;
+ */
+ const ABSOLUTE_TOP_OF_PAGE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ANYWHERE_ON_PAGE => 'ANYWHERE_ON_PAGE',
+ self::TOP_OF_PAGE => 'TOP_OF_PAGE',
+ self::ABSOLUTE_TOP_OF_PAGE => 'ABSOLUTE_TOP_OF_PAGE',
+ ];
+
+ 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(TargetImpressionShareLocation::class, \Google\Ads\GoogleAds\V2\Enums\TargetImpressionShareLocationEnum_TargetImpressionShareLocation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum_TargetImpressionShareLocation.php b/src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum_TargetImpressionShareLocation.php
new file mode 100644
index 000000000..efe38855b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TargetImpressionShareLocationEnum_TargetImpressionShareLocation.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TargetingDimensionEnum
+ */
+final class TargetingDimensionEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TargetingDimension::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum/TargetingDimension.php b/src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum/TargetingDimension.php
new file mode 100644
index 000000000..3c789e042
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum/TargetingDimension.php
@@ -0,0 +1,119 @@
+google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension
+ */
+class TargetingDimension
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Keyword criteria, e.g. 'mars cruise'. KEYWORD may be used as a custom bid
+ * dimension. Keywords are always a targeting dimension, so may not be set
+ * as a target "ALL" dimension with TargetRestriction.
+ *
+ * Generated from protobuf enum KEYWORD = 2;
+ */
+ const KEYWORD = 2;
+ /**
+ * Audience criteria, which include user list, user interest, custom
+ * affinity, and custom in market.
+ *
+ * Generated from protobuf enum AUDIENCE = 3;
+ */
+ const AUDIENCE = 3;
+ /**
+ * Topic criteria for targeting categories of content, e.g.
+ * 'category::Animals>Pets' Used for Display and Video targeting.
+ *
+ * Generated from protobuf enum TOPIC = 4;
+ */
+ const TOPIC = 4;
+ /**
+ * Criteria for targeting gender.
+ *
+ * Generated from protobuf enum GENDER = 5;
+ */
+ const GENDER = 5;
+ /**
+ * Criteria for targeting age ranges.
+ *
+ * Generated from protobuf enum AGE_RANGE = 6;
+ */
+ const AGE_RANGE = 6;
+ /**
+ * Placement criteria, which include websites like 'www.flowers4sale.com',
+ * as well as mobile applications, mobile app categories, YouTube videos,
+ * and YouTube channels.
+ *
+ * Generated from protobuf enum PLACEMENT = 7;
+ */
+ const PLACEMENT = 7;
+ /**
+ * Criteria for parental status targeting.
+ *
+ * Generated from protobuf enum PARENTAL_STATUS = 8;
+ */
+ const PARENTAL_STATUS = 8;
+ /**
+ * Criteria for income range targeting.
+ *
+ * Generated from protobuf enum INCOME_RANGE = 9;
+ */
+ const INCOME_RANGE = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::KEYWORD => 'KEYWORD',
+ self::AUDIENCE => 'AUDIENCE',
+ self::TOPIC => 'TOPIC',
+ self::GENDER => 'GENDER',
+ self::AGE_RANGE => 'AGE_RANGE',
+ self::PLACEMENT => 'PLACEMENT',
+ self::PARENTAL_STATUS => 'PARENTAL_STATUS',
+ self::INCOME_RANGE => 'INCOME_RANGE',
+ ];
+
+ 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(TargetingDimension::class, \Google\Ads\GoogleAds\V2\Enums\TargetingDimensionEnum_TargetingDimension::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum_TargetingDimension.php b/src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum_TargetingDimension.php
new file mode 100644
index 000000000..dabe02ed5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TargetingDimensionEnum_TargetingDimension.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TimeTypeEnum
+ */
+final class TimeTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TimeType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum/TimeType.php b/src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum/TimeType.php
new file mode 100644
index 000000000..b24ee0db1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum/TimeType.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.TimeTypeEnum.TimeType
+ */
+class TimeType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * As soon as possible.
+ *
+ * Generated from protobuf enum NOW = 2;
+ */
+ const NOW = 2;
+ /**
+ * An infinite point in the future.
+ *
+ * Generated from protobuf enum FOREVER = 3;
+ */
+ const FOREVER = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NOW => 'NOW',
+ self::FOREVER => 'FOREVER',
+ ];
+
+ 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(TimeType::class, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum_TimeType.php b/src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum_TimeType.php
new file mode 100644
index 000000000..0b85a2fdd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TimeTypeEnum_TimeType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TrackingCodePageFormatEnum
+ */
+final class TrackingCodePageFormatEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TrackingCodePageFormat::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum/TrackingCodePageFormat.php b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum/TrackingCodePageFormat.php
new file mode 100644
index 000000000..cf75e5e55
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum/TrackingCodePageFormat.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat
+ */
+class TrackingCodePageFormat
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Standard HTML page format.
+ *
+ * Generated from protobuf enum HTML = 2;
+ */
+ const HTML = 2;
+ /**
+ * Google AMP page format.
+ *
+ * Generated from protobuf enum AMP = 3;
+ */
+ const AMP = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::HTML => 'HTML',
+ self::AMP => 'AMP',
+ ];
+
+ 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(TrackingCodePageFormat::class, \Google\Ads\GoogleAds\V2\Enums\TrackingCodePageFormatEnum_TrackingCodePageFormat::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum_TrackingCodePageFormat.php b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum_TrackingCodePageFormat.php
new file mode 100644
index 000000000..815ce7ec9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodePageFormatEnum_TrackingCodePageFormat.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TrackingCodeTypeEnum
+ */
+final class TrackingCodeTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TrackingCodeType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum/TrackingCodeType.php b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum/TrackingCodeType.php
new file mode 100644
index 000000000..29c27e112
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum/TrackingCodeType.php
@@ -0,0 +1,89 @@
+google.ads.googleads.v2.enums.TrackingCodeTypeEnum.TrackingCodeType
+ */
+class TrackingCodeType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The snippet that is fired as a result of a website page loading.
+ *
+ * Generated from protobuf enum WEBPAGE = 2;
+ */
+ const WEBPAGE = 2;
+ /**
+ * The snippet contains a JavaScript function which fires the tag. This
+ * function is typically called from an onClick handler added to a link or
+ * button element on the page.
+ *
+ * Generated from protobuf enum WEBPAGE_ONCLICK = 3;
+ */
+ const WEBPAGE_ONCLICK = 3;
+ /**
+ * For embedding on a mobile webpage. The snippet contains a JavaScript
+ * function which fires the tag.
+ *
+ * Generated from protobuf enum CLICK_TO_CALL = 4;
+ */
+ const CLICK_TO_CALL = 4;
+ /**
+ * The snippet that is used to replace the phone number on your website with
+ * a Google forwarding number for call tracking purposes.
+ *
+ * Generated from protobuf enum WEBSITE_CALL = 5;
+ */
+ const WEBSITE_CALL = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::WEBPAGE => 'WEBPAGE',
+ self::WEBPAGE_ONCLICK => 'WEBPAGE_ONCLICK',
+ self::CLICK_TO_CALL => 'CLICK_TO_CALL',
+ self::WEBSITE_CALL => 'WEBSITE_CALL',
+ ];
+
+ 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(TrackingCodeType::class, \Google\Ads\GoogleAds\V2\Enums\TrackingCodeTypeEnum_TrackingCodeType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum_TrackingCodeType.php b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum_TrackingCodeType.php
new file mode 100644
index 000000000..988abb19d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TrackingCodeTypeEnum_TrackingCodeType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.TravelPlaceholderFieldEnum
+ */
+final class TravelPlaceholderFieldEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\TravelPlaceholderField::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum/TravelPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum/TravelPlaceholderField.php
new file mode 100644
index 000000000..84982f7c4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum/TravelPlaceholderField.php
@@ -0,0 +1,219 @@
+google.ads.googleads.v2.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField
+ */
+class TravelPlaceholderField
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Data Type: STRING. Required. Destination id. Example: PAR, LON.
+ * For feed items that only have destination id, destination id must be a
+ * unique key. For feed items that have both destination id and origin id,
+ * then the combination must be a unique key.
+ *
+ * Generated from protobuf enum DESTINATION_ID = 2;
+ */
+ const DESTINATION_ID = 2;
+ /**
+ * Data Type: STRING. Origin id. Example: PAR, LON.
+ * Combination of DESTINATION_ID and ORIGIN_ID must be
+ * unique per offer.
+ *
+ * Generated from protobuf enum ORIGIN_ID = 3;
+ */
+ const ORIGIN_ID = 3;
+ /**
+ * Data Type: STRING. Required. Main headline with name to be shown in
+ * dynamic ad.
+ *
+ * Generated from protobuf enum TITLE = 4;
+ */
+ const TITLE = 4;
+ /**
+ * Data Type: STRING. The destination name. Shorter names are recommended.
+ *
+ * Generated from protobuf enum DESTINATION_NAME = 5;
+ */
+ const DESTINATION_NAME = 5;
+ /**
+ * Data Type: STRING. Origin name. Shorter names are recommended.
+ *
+ * Generated from protobuf enum ORIGIN_NAME = 6;
+ */
+ const ORIGIN_NAME = 6;
+ /**
+ * Data Type: STRING. Price to be shown in the ad. Highly recommended for
+ * dynamic ads.
+ * Example: "100.00 USD"
+ *
+ * Generated from protobuf enum PRICE = 7;
+ */
+ const PRICE = 7;
+ /**
+ * Data Type: STRING. Formatted price to be shown in the ad.
+ * Example: "Starting at $100.00 USD", "$80 - $100"
+ *
+ * Generated from protobuf enum FORMATTED_PRICE = 8;
+ */
+ const FORMATTED_PRICE = 8;
+ /**
+ * Data Type: STRING. Sale price to be shown in the ad.
+ * Example: "80.00 USD"
+ *
+ * Generated from protobuf enum SALE_PRICE = 9;
+ */
+ const SALE_PRICE = 9;
+ /**
+ * Data Type: STRING. Formatted sale price to be shown in the ad.
+ * Example: "On sale for $80.00", "$60 - $80"
+ *
+ * Generated from protobuf enum FORMATTED_SALE_PRICE = 10;
+ */
+ const FORMATTED_SALE_PRICE = 10;
+ /**
+ * Data Type: URL. Image to be displayed in the ad.
+ *
+ * Generated from protobuf enum IMAGE_URL = 11;
+ */
+ const IMAGE_URL = 11;
+ /**
+ * Data Type: STRING. Category of travel offer used to group like items
+ * together for recommendation engine.
+ *
+ * Generated from protobuf enum CATEGORY = 12;
+ */
+ const CATEGORY = 12;
+ /**
+ * Data Type: STRING_LIST. Keywords used for product retrieval.
+ *
+ * Generated from protobuf enum CONTEXTUAL_KEYWORDS = 13;
+ */
+ const CONTEXTUAL_KEYWORDS = 13;
+ /**
+ * Data Type: STRING. Address of travel offer, including postal code.
+ *
+ * Generated from protobuf enum DESTINATION_ADDRESS = 14;
+ */
+ const DESTINATION_ADDRESS = 14;
+ /**
+ * Data Type: URL_LIST. Required. Final URLs to be used in ad, when using
+ * Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ * specific travel offer and its location).
+ *
+ * Generated from protobuf enum FINAL_URL = 15;
+ */
+ const FINAL_URL = 15;
+ /**
+ * Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ * URLs.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS = 16;
+ */
+ const FINAL_MOBILE_URLS = 16;
+ /**
+ * Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ *
+ * Generated from protobuf enum TRACKING_URL = 17;
+ */
+ const TRACKING_URL = 17;
+ /**
+ * Data Type: STRING. Android app link. Must be formatted as:
+ * android-app://{package_id}/{scheme}/{host_path}.
+ * The components are defined as follows:
+ * package_id: app ID as specified in Google Play.
+ * scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ * scheme.
+ * host_path: identifies the specific content within your application.
+ *
+ * Generated from protobuf enum ANDROID_APP_LINK = 18;
+ */
+ const ANDROID_APP_LINK = 18;
+ /**
+ * Data Type: STRING_LIST. List of recommended destination IDs to show
+ * together with this item.
+ *
+ * Generated from protobuf enum SIMILAR_DESTINATION_IDS = 19;
+ */
+ const SIMILAR_DESTINATION_IDS = 19;
+ /**
+ * Data Type: STRING. iOS app link.
+ *
+ * Generated from protobuf enum IOS_APP_LINK = 20;
+ */
+ const IOS_APP_LINK = 20;
+ /**
+ * Data Type: INT64. iOS app store ID.
+ *
+ * Generated from protobuf enum IOS_APP_STORE_ID = 21;
+ */
+ const IOS_APP_STORE_ID = 21;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DESTINATION_ID => 'DESTINATION_ID',
+ self::ORIGIN_ID => 'ORIGIN_ID',
+ self::TITLE => 'TITLE',
+ self::DESTINATION_NAME => 'DESTINATION_NAME',
+ self::ORIGIN_NAME => 'ORIGIN_NAME',
+ self::PRICE => 'PRICE',
+ self::FORMATTED_PRICE => 'FORMATTED_PRICE',
+ self::SALE_PRICE => 'SALE_PRICE',
+ self::FORMATTED_SALE_PRICE => 'FORMATTED_SALE_PRICE',
+ self::IMAGE_URL => 'IMAGE_URL',
+ self::CATEGORY => 'CATEGORY',
+ self::CONTEXTUAL_KEYWORDS => 'CONTEXTUAL_KEYWORDS',
+ self::DESTINATION_ADDRESS => 'DESTINATION_ADDRESS',
+ self::FINAL_URL => 'FINAL_URL',
+ self::FINAL_MOBILE_URLS => 'FINAL_MOBILE_URLS',
+ self::TRACKING_URL => 'TRACKING_URL',
+ self::ANDROID_APP_LINK => 'ANDROID_APP_LINK',
+ self::SIMILAR_DESTINATION_IDS => 'SIMILAR_DESTINATION_IDS',
+ self::IOS_APP_LINK => 'IOS_APP_LINK',
+ self::IOS_APP_STORE_ID => 'IOS_APP_STORE_ID',
+ ];
+
+ 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(TravelPlaceholderField::class, \Google\Ads\GoogleAds\V2\Enums\TravelPlaceholderFieldEnum_TravelPlaceholderField::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum_TravelPlaceholderField.php b/src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum_TravelPlaceholderField.php
new file mode 100644
index 000000000..50c0c1842
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/TravelPlaceholderFieldEnum_TravelPlaceholderField.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserInterestTaxonomyTypeEnum
+ */
+final class UserInterestTaxonomyTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserInterestTaxonomyType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum/UserInterestTaxonomyType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum/UserInterestTaxonomyType.php
new file mode 100644
index 000000000..36433af00
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum/UserInterestTaxonomyType.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType
+ */
+class UserInterestTaxonomyType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The affinity for this user interest.
+ *
+ * Generated from protobuf enum AFFINITY = 2;
+ */
+ const AFFINITY = 2;
+ /**
+ * The market for this user interest.
+ *
+ * Generated from protobuf enum IN_MARKET = 3;
+ */
+ const IN_MARKET = 3;
+ /**
+ * Users known to have installed applications in the specified categories.
+ *
+ * Generated from protobuf enum MOBILE_APP_INSTALL_USER = 4;
+ */
+ const MOBILE_APP_INSTALL_USER = 4;
+ /**
+ * The geographical location of the interest-based vertical.
+ *
+ * Generated from protobuf enum VERTICAL_GEO = 5;
+ */
+ const VERTICAL_GEO = 5;
+ /**
+ * User interest criteria for new smart phone users.
+ *
+ * Generated from protobuf enum NEW_SMART_PHONE_USER = 6;
+ */
+ const NEW_SMART_PHONE_USER = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AFFINITY => 'AFFINITY',
+ self::IN_MARKET => 'IN_MARKET',
+ self::MOBILE_APP_INSTALL_USER => 'MOBILE_APP_INSTALL_USER',
+ self::VERTICAL_GEO => 'VERTICAL_GEO',
+ self::NEW_SMART_PHONE_USER => 'NEW_SMART_PHONE_USER',
+ ];
+
+ 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(UserInterestTaxonomyType::class, \Google\Ads\GoogleAds\V2\Enums\UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType.php
new file mode 100644
index 000000000..4ea5d3f65
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListAccessStatusEnum
+ */
+final class UserListAccessStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListAccessStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum/UserListAccessStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum/UserListAccessStatus.php
new file mode 100644
index 000000000..b60141f16
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum/UserListAccessStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.UserListAccessStatusEnum.UserListAccessStatus
+ */
+class UserListAccessStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The access is enabled.
+ *
+ * Generated from protobuf enum ENABLED = 2;
+ */
+ const ENABLED = 2;
+ /**
+ * The access is disabled.
+ *
+ * Generated from protobuf enum DISABLED = 3;
+ */
+ const DISABLED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENABLED => 'ENABLED',
+ self::DISABLED => 'DISABLED',
+ ];
+
+ 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(UserListAccessStatus::class, \Google\Ads\GoogleAds\V2\Enums\UserListAccessStatusEnum_UserListAccessStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum_UserListAccessStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum_UserListAccessStatus.php
new file mode 100644
index 000000000..6210f250d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListAccessStatusEnum_UserListAccessStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListClosingReasonEnum
+ */
+final class UserListClosingReasonEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListClosingReason::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum/UserListClosingReason.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum/UserListClosingReason.php
new file mode 100644
index 000000000..184a56440
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum/UserListClosingReason.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.enums.UserListClosingReasonEnum.UserListClosingReason
+ */
+class UserListClosingReason
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The userlist was closed because of not being used for over one year.
+ *
+ * Generated from protobuf enum UNUSED = 2;
+ */
+ const UNUSED = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UNUSED => 'UNUSED',
+ ];
+
+ 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(UserListClosingReason::class, \Google\Ads\GoogleAds\V2\Enums\UserListClosingReasonEnum_UserListClosingReason::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum_UserListClosingReason.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum_UserListClosingReason.php
new file mode 100644
index 000000000..d06c37ce6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListClosingReasonEnum_UserListClosingReason.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListCombinedRuleOperatorEnum
+ */
+final class UserListCombinedRuleOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListCombinedRuleOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum/UserListCombinedRuleOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum/UserListCombinedRuleOperator.php
new file mode 100644
index 000000000..168db3a84
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum/UserListCombinedRuleOperator.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator
+ */
+class UserListCombinedRuleOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A AND B.
+ *
+ * Generated from protobuf enum AND = 2;
+ */
+ const PBAND = 2;
+ /**
+ * A AND NOT B.
+ *
+ * Generated from protobuf enum AND_NOT = 3;
+ */
+ const AND_NOT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PBAND => 'PBAND',
+ self::AND_NOT => 'AND_NOT',
+ ];
+
+ 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(UserListCombinedRuleOperator::class, \Google\Ads\GoogleAds\V2\Enums\UserListCombinedRuleOperatorEnum_UserListCombinedRuleOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum_UserListCombinedRuleOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum_UserListCombinedRuleOperator.php
new file mode 100644
index 000000000..6c6c877c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListCombinedRuleOperatorEnum_UserListCombinedRuleOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum
+ */
+final class UserListCrmDataSourceTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListCrmDataSourceType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum/UserListCrmDataSourceType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum/UserListCrmDataSourceType.php
new file mode 100644
index 000000000..057b3f43b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum/UserListCrmDataSourceType.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType
+ */
+class UserListCrmDataSourceType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The uploaded data is first-party data.
+ *
+ * Generated from protobuf enum FIRST_PARTY = 2;
+ */
+ const FIRST_PARTY = 2;
+ /**
+ * The uploaded data is from a third-party credit bureau.
+ *
+ * Generated from protobuf enum THIRD_PARTY_CREDIT_BUREAU = 3;
+ */
+ const THIRD_PARTY_CREDIT_BUREAU = 3;
+ /**
+ * The uploaded data is from a third-party voter file.
+ *
+ * Generated from protobuf enum THIRD_PARTY_VOTER_FILE = 4;
+ */
+ const THIRD_PARTY_VOTER_FILE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FIRST_PARTY => 'FIRST_PARTY',
+ self::THIRD_PARTY_CREDIT_BUREAU => 'THIRD_PARTY_CREDIT_BUREAU',
+ self::THIRD_PARTY_VOTER_FILE => 'THIRD_PARTY_VOTER_FILE',
+ ];
+
+ 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(UserListCrmDataSourceType::class, \Google\Ads\GoogleAds\V2\Enums\UserListCrmDataSourceTypeEnum_UserListCrmDataSourceType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum_UserListCrmDataSourceType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum_UserListCrmDataSourceType.php
new file mode 100644
index 000000000..2947c5ee7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListCrmDataSourceTypeEnum_UserListCrmDataSourceType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListDateRuleItemOperatorEnum
+ */
+final class UserListDateRuleItemOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListDateRuleItemOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum/UserListDateRuleItemOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum/UserListDateRuleItemOperator.php
new file mode 100644
index 000000000..a6b2714ce
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum/UserListDateRuleItemOperator.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
+ */
+class UserListDateRuleItemOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Equals.
+ *
+ * Generated from protobuf enum EQUALS = 2;
+ */
+ const EQUALS = 2;
+ /**
+ * Not Equals.
+ *
+ * Generated from protobuf enum NOT_EQUALS = 3;
+ */
+ const NOT_EQUALS = 3;
+ /**
+ * Before.
+ *
+ * Generated from protobuf enum BEFORE = 4;
+ */
+ const BEFORE = 4;
+ /**
+ * After.
+ *
+ * Generated from protobuf enum AFTER = 5;
+ */
+ const AFTER = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EQUALS => 'EQUALS',
+ self::NOT_EQUALS => 'NOT_EQUALS',
+ self::BEFORE => 'BEFORE',
+ self::AFTER => 'AFTER',
+ ];
+
+ 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(UserListDateRuleItemOperator::class, \Google\Ads\GoogleAds\V2\Enums\UserListDateRuleItemOperatorEnum_UserListDateRuleItemOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum_UserListDateRuleItemOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum_UserListDateRuleItemOperator.php
new file mode 100644
index 000000000..ad14fa872
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListDateRuleItemOperatorEnum_UserListDateRuleItemOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListLogicalRuleOperatorEnum
+ */
+final class UserListLogicalRuleOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListLogicalRuleOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum/UserListLogicalRuleOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum/UserListLogicalRuleOperator.php
new file mode 100644
index 000000000..e2973f594
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum/UserListLogicalRuleOperator.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator
+ */
+class UserListLogicalRuleOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * And - all of the operands.
+ *
+ * Generated from protobuf enum ALL = 2;
+ */
+ const ALL = 2;
+ /**
+ * Or - at least one of the operands.
+ *
+ * Generated from protobuf enum ANY = 3;
+ */
+ const ANY = 3;
+ /**
+ * Not - none of the operands.
+ *
+ * Generated from protobuf enum NONE = 4;
+ */
+ const NONE = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ALL => 'ALL',
+ self::ANY => 'ANY',
+ self::NONE => 'NONE',
+ ];
+
+ 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(UserListLogicalRuleOperator::class, \Google\Ads\GoogleAds\V2\Enums\UserListLogicalRuleOperatorEnum_UserListLogicalRuleOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum_UserListLogicalRuleOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum_UserListLogicalRuleOperator.php
new file mode 100644
index 000000000..7a03a3e66
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListLogicalRuleOperatorEnum_UserListLogicalRuleOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListMembershipStatusEnum
+ */
+final class UserListMembershipStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListMembershipStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum/UserListMembershipStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum/UserListMembershipStatus.php
new file mode 100644
index 000000000..148031a1b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum/UserListMembershipStatus.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.UserListMembershipStatusEnum.UserListMembershipStatus
+ */
+class UserListMembershipStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Open status - List is accruing members and can be targeted to.
+ *
+ * Generated from protobuf enum OPEN = 2;
+ */
+ const OPEN = 2;
+ /**
+ * Closed status - No new members being added. Cannot be used for targeting.
+ *
+ * Generated from protobuf enum CLOSED = 3;
+ */
+ const CLOSED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OPEN => 'OPEN',
+ self::CLOSED => 'CLOSED',
+ ];
+
+ 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(UserListMembershipStatus::class, \Google\Ads\GoogleAds\V2\Enums\UserListMembershipStatusEnum_UserListMembershipStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum_UserListMembershipStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum_UserListMembershipStatus.php
new file mode 100644
index 000000000..a557ee1f3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListMembershipStatusEnum_UserListMembershipStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListNumberRuleItemOperatorEnum
+ */
+final class UserListNumberRuleItemOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListNumberRuleItemOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum/UserListNumberRuleItemOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum/UserListNumberRuleItemOperator.php
new file mode 100644
index 000000000..15f50c621
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum/UserListNumberRuleItemOperator.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator
+ */
+class UserListNumberRuleItemOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Greater than.
+ *
+ * Generated from protobuf enum GREATER_THAN = 2;
+ */
+ const GREATER_THAN = 2;
+ /**
+ * Greater than or equal.
+ *
+ * Generated from protobuf enum GREATER_THAN_OR_EQUAL = 3;
+ */
+ const GREATER_THAN_OR_EQUAL = 3;
+ /**
+ * Equals.
+ *
+ * Generated from protobuf enum EQUALS = 4;
+ */
+ const EQUALS = 4;
+ /**
+ * Not equals.
+ *
+ * Generated from protobuf enum NOT_EQUALS = 5;
+ */
+ const NOT_EQUALS = 5;
+ /**
+ * Less than.
+ *
+ * Generated from protobuf enum LESS_THAN = 6;
+ */
+ const LESS_THAN = 6;
+ /**
+ * Less than or equal.
+ *
+ * Generated from protobuf enum LESS_THAN_OR_EQUAL = 7;
+ */
+ const LESS_THAN_OR_EQUAL = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::GREATER_THAN => 'GREATER_THAN',
+ self::GREATER_THAN_OR_EQUAL => 'GREATER_THAN_OR_EQUAL',
+ self::EQUALS => 'EQUALS',
+ self::NOT_EQUALS => 'NOT_EQUALS',
+ self::LESS_THAN => 'LESS_THAN',
+ self::LESS_THAN_OR_EQUAL => 'LESS_THAN_OR_EQUAL',
+ ];
+
+ 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(UserListNumberRuleItemOperator::class, \Google\Ads\GoogleAds\V2\Enums\UserListNumberRuleItemOperatorEnum_UserListNumberRuleItemOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum_UserListNumberRuleItemOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum_UserListNumberRuleItemOperator.php
new file mode 100644
index 000000000..79b6bbe32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListNumberRuleItemOperatorEnum_UserListNumberRuleItemOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListPrepopulationStatusEnum
+ */
+final class UserListPrepopulationStatusEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListPrepopulationStatus::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum/UserListPrepopulationStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum/UserListPrepopulationStatus.php
new file mode 100644
index 000000000..a5a6a12c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum/UserListPrepopulationStatus.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus
+ */
+class UserListPrepopulationStatus
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Prepopoulation is being requested.
+ *
+ * Generated from protobuf enum REQUESTED = 2;
+ */
+ const REQUESTED = 2;
+ /**
+ * Prepopulation is finished.
+ *
+ * Generated from protobuf enum FINISHED = 3;
+ */
+ const FINISHED = 3;
+ /**
+ * Prepopulation failed.
+ *
+ * Generated from protobuf enum FAILED = 4;
+ */
+ const FAILED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::REQUESTED => 'REQUESTED',
+ self::FINISHED => 'FINISHED',
+ self::FAILED => 'FAILED',
+ ];
+
+ 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(UserListPrepopulationStatus::class, \Google\Ads\GoogleAds\V2\Enums\UserListPrepopulationStatusEnum_UserListPrepopulationStatus::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum_UserListPrepopulationStatus.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum_UserListPrepopulationStatus.php
new file mode 100644
index 000000000..495e0b738
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListPrepopulationStatusEnum_UserListPrepopulationStatus.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListRuleTypeEnum
+ */
+final class UserListRuleTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListRuleType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum/UserListRuleType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum/UserListRuleType.php
new file mode 100644
index 000000000..4b0c6f318
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum/UserListRuleType.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.UserListRuleTypeEnum.UserListRuleType
+ */
+class UserListRuleType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Conjunctive normal form.
+ *
+ * Generated from protobuf enum AND_OF_ORS = 2;
+ */
+ const AND_OF_ORS = 2;
+ /**
+ * Disjunctive normal form.
+ *
+ * Generated from protobuf enum OR_OF_ANDS = 3;
+ */
+ const OR_OF_ANDS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AND_OF_ORS => 'AND_OF_ORS',
+ self::OR_OF_ANDS => 'OR_OF_ANDS',
+ ];
+
+ 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(UserListRuleType::class, \Google\Ads\GoogleAds\V2\Enums\UserListRuleTypeEnum_UserListRuleType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum_UserListRuleType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum_UserListRuleType.php
new file mode 100644
index 000000000..0b9a4b6a4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListRuleTypeEnum_UserListRuleType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListSizeRangeEnum
+ */
+final class UserListSizeRangeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListSizeRange::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum/UserListSizeRange.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum/UserListSizeRange.php
new file mode 100644
index 000000000..3daf711ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum/UserListSizeRange.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange
+ */
+class UserListSizeRange
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * User list has less than 500 users.
+ *
+ * Generated from protobuf enum LESS_THAN_FIVE_HUNDRED = 2;
+ */
+ const LESS_THAN_FIVE_HUNDRED = 2;
+ /**
+ * User list has number of users in range of 500 to 1000.
+ *
+ * Generated from protobuf enum LESS_THAN_ONE_THOUSAND = 3;
+ */
+ const LESS_THAN_ONE_THOUSAND = 3;
+ /**
+ * User list has number of users in range of 1000 to 10000.
+ *
+ * Generated from protobuf enum ONE_THOUSAND_TO_TEN_THOUSAND = 4;
+ */
+ const ONE_THOUSAND_TO_TEN_THOUSAND = 4;
+ /**
+ * User list has number of users in range of 10000 to 50000.
+ *
+ * Generated from protobuf enum TEN_THOUSAND_TO_FIFTY_THOUSAND = 5;
+ */
+ const TEN_THOUSAND_TO_FIFTY_THOUSAND = 5;
+ /**
+ * User list has number of users in range of 50000 to 100000.
+ *
+ * Generated from protobuf enum FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6;
+ */
+ const FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6;
+ /**
+ * User list has number of users in range of 100000 to 300000.
+ *
+ * Generated from protobuf enum ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7;
+ */
+ const ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7;
+ /**
+ * User list has number of users in range of 300000 to 500000.
+ *
+ * Generated from protobuf enum THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8;
+ */
+ const THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8;
+ /**
+ * User list has number of users in range of 500000 to 1 million.
+ *
+ * Generated from protobuf enum FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9;
+ */
+ const FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9;
+ /**
+ * User list has number of users in range of 1 to 2 millions.
+ *
+ * Generated from protobuf enum ONE_MILLION_TO_TWO_MILLION = 10;
+ */
+ const ONE_MILLION_TO_TWO_MILLION = 10;
+ /**
+ * User list has number of users in range of 2 to 3 millions.
+ *
+ * Generated from protobuf enum TWO_MILLION_TO_THREE_MILLION = 11;
+ */
+ const TWO_MILLION_TO_THREE_MILLION = 11;
+ /**
+ * User list has number of users in range of 3 to 5 millions.
+ *
+ * Generated from protobuf enum THREE_MILLION_TO_FIVE_MILLION = 12;
+ */
+ const THREE_MILLION_TO_FIVE_MILLION = 12;
+ /**
+ * User list has number of users in range of 5 to 10 millions.
+ *
+ * Generated from protobuf enum FIVE_MILLION_TO_TEN_MILLION = 13;
+ */
+ const FIVE_MILLION_TO_TEN_MILLION = 13;
+ /**
+ * User list has number of users in range of 10 to 20 millions.
+ *
+ * Generated from protobuf enum TEN_MILLION_TO_TWENTY_MILLION = 14;
+ */
+ const TEN_MILLION_TO_TWENTY_MILLION = 14;
+ /**
+ * User list has number of users in range of 20 to 30 millions.
+ *
+ * Generated from protobuf enum TWENTY_MILLION_TO_THIRTY_MILLION = 15;
+ */
+ const TWENTY_MILLION_TO_THIRTY_MILLION = 15;
+ /**
+ * User list has number of users in range of 30 to 50 millions.
+ *
+ * Generated from protobuf enum THIRTY_MILLION_TO_FIFTY_MILLION = 16;
+ */
+ const THIRTY_MILLION_TO_FIFTY_MILLION = 16;
+ /**
+ * User list has over 50 million users.
+ *
+ * Generated from protobuf enum OVER_FIFTY_MILLION = 17;
+ */
+ const OVER_FIFTY_MILLION = 17;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LESS_THAN_FIVE_HUNDRED => 'LESS_THAN_FIVE_HUNDRED',
+ self::LESS_THAN_ONE_THOUSAND => 'LESS_THAN_ONE_THOUSAND',
+ self::ONE_THOUSAND_TO_TEN_THOUSAND => 'ONE_THOUSAND_TO_TEN_THOUSAND',
+ self::TEN_THOUSAND_TO_FIFTY_THOUSAND => 'TEN_THOUSAND_TO_FIFTY_THOUSAND',
+ self::FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND => 'FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND',
+ self::ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND => 'ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND',
+ self::THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND => 'THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND',
+ self::FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION => 'FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION',
+ self::ONE_MILLION_TO_TWO_MILLION => 'ONE_MILLION_TO_TWO_MILLION',
+ self::TWO_MILLION_TO_THREE_MILLION => 'TWO_MILLION_TO_THREE_MILLION',
+ self::THREE_MILLION_TO_FIVE_MILLION => 'THREE_MILLION_TO_FIVE_MILLION',
+ self::FIVE_MILLION_TO_TEN_MILLION => 'FIVE_MILLION_TO_TEN_MILLION',
+ self::TEN_MILLION_TO_TWENTY_MILLION => 'TEN_MILLION_TO_TWENTY_MILLION',
+ self::TWENTY_MILLION_TO_THIRTY_MILLION => 'TWENTY_MILLION_TO_THIRTY_MILLION',
+ self::THIRTY_MILLION_TO_FIFTY_MILLION => 'THIRTY_MILLION_TO_FIFTY_MILLION',
+ self::OVER_FIFTY_MILLION => 'OVER_FIFTY_MILLION',
+ ];
+
+ 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(UserListSizeRange::class, \Google\Ads\GoogleAds\V2\Enums\UserListSizeRangeEnum_UserListSizeRange::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum_UserListSizeRange.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum_UserListSizeRange.php
new file mode 100644
index 000000000..1b537ff13
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListSizeRangeEnum_UserListSizeRange.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListStringRuleItemOperatorEnum
+ */
+final class UserListStringRuleItemOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListStringRuleItemOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum/UserListStringRuleItemOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum/UserListStringRuleItemOperator.php
new file mode 100644
index 000000000..b155ba7b7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum/UserListStringRuleItemOperator.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator
+ */
+class UserListStringRuleItemOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Contains.
+ *
+ * Generated from protobuf enum CONTAINS = 2;
+ */
+ const CONTAINS = 2;
+ /**
+ * Equals.
+ *
+ * Generated from protobuf enum EQUALS = 3;
+ */
+ const EQUALS = 3;
+ /**
+ * Starts with.
+ *
+ * Generated from protobuf enum STARTS_WITH = 4;
+ */
+ const STARTS_WITH = 4;
+ /**
+ * Ends with.
+ *
+ * Generated from protobuf enum ENDS_WITH = 5;
+ */
+ const ENDS_WITH = 5;
+ /**
+ * Not equals.
+ *
+ * Generated from protobuf enum NOT_EQUALS = 6;
+ */
+ const NOT_EQUALS = 6;
+ /**
+ * Not contains.
+ *
+ * Generated from protobuf enum NOT_CONTAINS = 7;
+ */
+ const NOT_CONTAINS = 7;
+ /**
+ * Not starts with.
+ *
+ * Generated from protobuf enum NOT_STARTS_WITH = 8;
+ */
+ const NOT_STARTS_WITH = 8;
+ /**
+ * Not ends with.
+ *
+ * Generated from protobuf enum NOT_ENDS_WITH = 9;
+ */
+ const NOT_ENDS_WITH = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CONTAINS => 'CONTAINS',
+ self::EQUALS => 'EQUALS',
+ self::STARTS_WITH => 'STARTS_WITH',
+ self::ENDS_WITH => 'ENDS_WITH',
+ self::NOT_EQUALS => 'NOT_EQUALS',
+ self::NOT_CONTAINS => 'NOT_CONTAINS',
+ self::NOT_STARTS_WITH => 'NOT_STARTS_WITH',
+ self::NOT_ENDS_WITH => 'NOT_ENDS_WITH',
+ ];
+
+ 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(UserListStringRuleItemOperator::class, \Google\Ads\GoogleAds\V2\Enums\UserListStringRuleItemOperatorEnum_UserListStringRuleItemOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum_UserListStringRuleItemOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum_UserListStringRuleItemOperator.php
new file mode 100644
index 000000000..3be2f7bdf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListStringRuleItemOperatorEnum_UserListStringRuleItemOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.UserListTypeEnum
+ */
+final class UserListTypeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\UserListType::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum/UserListType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum/UserListType.php
new file mode 100644
index 000000000..663573e5a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum/UserListType.php
@@ -0,0 +1,100 @@
+google.ads.googleads.v2.enums.UserListTypeEnum.UserListType
+ */
+class UserListType
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * UserList represented as a collection of conversion types.
+ *
+ * Generated from protobuf enum REMARKETING = 2;
+ */
+ const REMARKETING = 2;
+ /**
+ * UserList represented as a combination of other user lists/interests.
+ *
+ * Generated from protobuf enum LOGICAL = 3;
+ */
+ const LOGICAL = 3;
+ /**
+ * UserList created in the Google Ad Manager platform.
+ *
+ * Generated from protobuf enum EXTERNAL_REMARKETING = 4;
+ */
+ const EXTERNAL_REMARKETING = 4;
+ /**
+ * UserList associated with a rule.
+ *
+ * Generated from protobuf enum RULE_BASED = 5;
+ */
+ const RULE_BASED = 5;
+ /**
+ * UserList with users similar to users of another UserList.
+ *
+ * Generated from protobuf enum SIMILAR = 6;
+ */
+ const SIMILAR = 6;
+ /**
+ * UserList of first-party CRM data provided by advertiser in the form of
+ * emails or other formats.
+ *
+ * Generated from protobuf enum CRM_BASED = 7;
+ */
+ const CRM_BASED = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::REMARKETING => 'REMARKETING',
+ self::LOGICAL => 'LOGICAL',
+ self::EXTERNAL_REMARKETING => 'EXTERNAL_REMARKETING',
+ self::RULE_BASED => 'RULE_BASED',
+ self::SIMILAR => 'SIMILAR',
+ self::CRM_BASED => 'CRM_BASED',
+ ];
+
+ 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(UserListType::class, \Google\Ads\GoogleAds\V2\Enums\UserListTypeEnum_UserListType::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum_UserListType.php b/src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum_UserListType.php
new file mode 100644
index 000000000..55a324f73
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/UserListTypeEnum_UserListType.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum
+ */
+final class VanityPharmaDisplayUrlModeEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\VanityPharmaDisplayUrlMode::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum/VanityPharmaDisplayUrlMode.php b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum/VanityPharmaDisplayUrlMode.php
new file mode 100644
index 000000000..6f3fab1f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum/VanityPharmaDisplayUrlMode.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode
+ */
+class VanityPharmaDisplayUrlMode
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Replace vanity pharma URL with manufacturer website url.
+ *
+ * Generated from protobuf enum MANUFACTURER_WEBSITE_URL = 2;
+ */
+ const MANUFACTURER_WEBSITE_URL = 2;
+ /**
+ * Replace vanity pharma URL with description of the website.
+ *
+ * Generated from protobuf enum WEBSITE_DESCRIPTION = 3;
+ */
+ const WEBSITE_DESCRIPTION = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MANUFACTURER_WEBSITE_URL => 'MANUFACTURER_WEBSITE_URL',
+ self::WEBSITE_DESCRIPTION => 'WEBSITE_DESCRIPTION',
+ ];
+
+ 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(VanityPharmaDisplayUrlMode::class, \Google\Ads\GoogleAds\V2\Enums\VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode.php b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode.php
new file mode 100644
index 000000000..b4b5df73a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.VanityPharmaTextEnum
+ */
+final class VanityPharmaTextEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\VanityPharmaText::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum/VanityPharmaText.php b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum/VanityPharmaText.php
new file mode 100644
index 000000000..18a79b742
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum/VanityPharmaText.php
@@ -0,0 +1,147 @@
+google.ads.googleads.v2.enums.VanityPharmaTextEnum.VanityPharmaText
+ */
+class VanityPharmaText
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Prescription treatment website with website content in English.
+ *
+ * Generated from protobuf enum PRESCRIPTION_TREATMENT_WEBSITE_EN = 2;
+ */
+ const PRESCRIPTION_TREATMENT_WEBSITE_EN = 2;
+ /**
+ * Prescription treatment website with website content in Spanish
+ * (Sitio de tratamientos con receta).
+ *
+ * Generated from protobuf enum PRESCRIPTION_TREATMENT_WEBSITE_ES = 3;
+ */
+ const PRESCRIPTION_TREATMENT_WEBSITE_ES = 3;
+ /**
+ * Prescription device website with website content in English.
+ *
+ * Generated from protobuf enum PRESCRIPTION_DEVICE_WEBSITE_EN = 4;
+ */
+ const PRESCRIPTION_DEVICE_WEBSITE_EN = 4;
+ /**
+ * Prescription device website with website content in Spanish (Sitio de
+ * dispositivos con receta).
+ *
+ * Generated from protobuf enum PRESCRIPTION_DEVICE_WEBSITE_ES = 5;
+ */
+ const PRESCRIPTION_DEVICE_WEBSITE_ES = 5;
+ /**
+ * Medical device website with website content in English.
+ *
+ * Generated from protobuf enum MEDICAL_DEVICE_WEBSITE_EN = 6;
+ */
+ const MEDICAL_DEVICE_WEBSITE_EN = 6;
+ /**
+ * Medical device website with website content in Spanish (Sitio de
+ * dispositivos médicos).
+ *
+ * Generated from protobuf enum MEDICAL_DEVICE_WEBSITE_ES = 7;
+ */
+ const MEDICAL_DEVICE_WEBSITE_ES = 7;
+ /**
+ * Preventative treatment website with website content in English.
+ *
+ * Generated from protobuf enum PREVENTATIVE_TREATMENT_WEBSITE_EN = 8;
+ */
+ const PREVENTATIVE_TREATMENT_WEBSITE_EN = 8;
+ /**
+ * Preventative treatment website with website content in Spanish (Sitio de
+ * tratamientos preventivos).
+ *
+ * Generated from protobuf enum PREVENTATIVE_TREATMENT_WEBSITE_ES = 9;
+ */
+ const PREVENTATIVE_TREATMENT_WEBSITE_ES = 9;
+ /**
+ * Prescription contraception website with website content in English.
+ *
+ * Generated from protobuf enum PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10;
+ */
+ const PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10;
+ /**
+ * Prescription contraception website with website content in Spanish (Sitio
+ * de anticonceptivos con receta).
+ *
+ * Generated from protobuf enum PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11;
+ */
+ const PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11;
+ /**
+ * Prescription vaccine website with website content in English.
+ *
+ * Generated from protobuf enum PRESCRIPTION_VACCINE_WEBSITE_EN = 12;
+ */
+ const PRESCRIPTION_VACCINE_WEBSITE_EN = 12;
+ /**
+ * Prescription vaccine website with website content in Spanish (Sitio de
+ * vacunas con receta).
+ *
+ * Generated from protobuf enum PRESCRIPTION_VACCINE_WEBSITE_ES = 13;
+ */
+ const PRESCRIPTION_VACCINE_WEBSITE_ES = 13;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PRESCRIPTION_TREATMENT_WEBSITE_EN => 'PRESCRIPTION_TREATMENT_WEBSITE_EN',
+ self::PRESCRIPTION_TREATMENT_WEBSITE_ES => 'PRESCRIPTION_TREATMENT_WEBSITE_ES',
+ self::PRESCRIPTION_DEVICE_WEBSITE_EN => 'PRESCRIPTION_DEVICE_WEBSITE_EN',
+ self::PRESCRIPTION_DEVICE_WEBSITE_ES => 'PRESCRIPTION_DEVICE_WEBSITE_ES',
+ self::MEDICAL_DEVICE_WEBSITE_EN => 'MEDICAL_DEVICE_WEBSITE_EN',
+ self::MEDICAL_DEVICE_WEBSITE_ES => 'MEDICAL_DEVICE_WEBSITE_ES',
+ self::PREVENTATIVE_TREATMENT_WEBSITE_EN => 'PREVENTATIVE_TREATMENT_WEBSITE_EN',
+ self::PREVENTATIVE_TREATMENT_WEBSITE_ES => 'PREVENTATIVE_TREATMENT_WEBSITE_ES',
+ self::PRESCRIPTION_CONTRACEPTION_WEBSITE_EN => 'PRESCRIPTION_CONTRACEPTION_WEBSITE_EN',
+ self::PRESCRIPTION_CONTRACEPTION_WEBSITE_ES => 'PRESCRIPTION_CONTRACEPTION_WEBSITE_ES',
+ self::PRESCRIPTION_VACCINE_WEBSITE_EN => 'PRESCRIPTION_VACCINE_WEBSITE_EN',
+ self::PRESCRIPTION_VACCINE_WEBSITE_ES => 'PRESCRIPTION_VACCINE_WEBSITE_ES',
+ ];
+
+ 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(VanityPharmaText::class, \Google\Ads\GoogleAds\V2\Enums\VanityPharmaTextEnum_VanityPharmaText::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum_VanityPharmaText.php b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum_VanityPharmaText.php
new file mode 100644
index 000000000..a267e742f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/VanityPharmaTextEnum_VanityPharmaText.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.WebpageConditionOperandEnum
+ */
+final class WebpageConditionOperandEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperand::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum/WebpageConditionOperand.php b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum/WebpageConditionOperand.php
new file mode 100644
index 000000000..1f9a6c1c0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum/WebpageConditionOperand.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand
+ */
+class WebpageConditionOperand
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Operand denoting a webpage URL targeting condition.
+ *
+ * Generated from protobuf enum URL = 2;
+ */
+ const URL = 2;
+ /**
+ * Operand denoting a webpage category targeting condition.
+ *
+ * Generated from protobuf enum CATEGORY = 3;
+ */
+ const CATEGORY = 3;
+ /**
+ * Operand denoting a webpage title targeting condition.
+ *
+ * Generated from protobuf enum PAGE_TITLE = 4;
+ */
+ const PAGE_TITLE = 4;
+ /**
+ * Operand denoting a webpage content targeting condition.
+ *
+ * Generated from protobuf enum PAGE_CONTENT = 5;
+ */
+ const PAGE_CONTENT = 5;
+ /**
+ * Operand denoting a webpage custom label targeting condition.
+ *
+ * Generated from protobuf enum CUSTOM_LABEL = 6;
+ */
+ const CUSTOM_LABEL = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::URL => 'URL',
+ self::CATEGORY => 'CATEGORY',
+ self::PAGE_TITLE => 'PAGE_TITLE',
+ self::PAGE_CONTENT => 'PAGE_CONTENT',
+ self::CUSTOM_LABEL => 'CUSTOM_LABEL',
+ ];
+
+ 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(WebpageConditionOperand::class, \Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperandEnum_WebpageConditionOperand::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum_WebpageConditionOperand.php b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum_WebpageConditionOperand.php
new file mode 100644
index 000000000..ef1f2d63f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperandEnum_WebpageConditionOperand.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.enums.WebpageConditionOperatorEnum
+ */
+final class WebpageConditionOperatorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperator::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum/WebpageConditionOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum/WebpageConditionOperator.php
new file mode 100644
index 000000000..37258bd75
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum/WebpageConditionOperator.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator
+ */
+class WebpageConditionOperator
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The argument web condition is equal to the compared web condition.
+ *
+ * Generated from protobuf enum EQUALS = 2;
+ */
+ const EQUALS = 2;
+ /**
+ * The argument web condition is part of the compared web condition.
+ *
+ * Generated from protobuf enum CONTAINS = 3;
+ */
+ const CONTAINS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EQUALS => 'EQUALS',
+ self::CONTAINS => 'CONTAINS',
+ ];
+
+ 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(WebpageConditionOperator::class, \Google\Ads\GoogleAds\V2\Enums\WebpageConditionOperatorEnum_WebpageConditionOperator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum_WebpageConditionOperator.php b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum_WebpageConditionOperator.php
new file mode 100644
index 000000000..bc07755b0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Enums/WebpageConditionOperatorEnum_WebpageConditionOperator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AccessInvitationErrorEnum
+ */
+final class AccessInvitationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AccessInvitationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum/AccessInvitationError.php b/src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum/AccessInvitationError.php
new file mode 100644
index 000000000..e646420f4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum/AccessInvitationError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.AccessInvitationErrorEnum.AccessInvitationError
+ */
+class AccessInvitationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The email address is invalid for sending an invitation.
+ *
+ * Generated from protobuf enum INVALID_EMAIL_ADDRESS = 2;
+ */
+ const INVALID_EMAIL_ADDRESS = 2;
+ /**
+ * Email address already has access to this customer.
+ *
+ * Generated from protobuf enum EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3;
+ */
+ const EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_EMAIL_ADDRESS => 'INVALID_EMAIL_ADDRESS',
+ self::EMAIL_ADDRESS_ALREADY_HAS_ACCESS => 'EMAIL_ADDRESS_ALREADY_HAS_ACCESS',
+ ];
+
+ 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(AccessInvitationError::class, \Google\Ads\GoogleAds\V2\Errors\AccessInvitationErrorEnum_AccessInvitationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum_AccessInvitationError.php b/src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum_AccessInvitationError.php
new file mode 100644
index 000000000..1d38bbf94
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AccessInvitationErrorEnum_AccessInvitationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AccountBudgetProposalErrorEnum
+ */
+final class AccountBudgetProposalErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AccountBudgetProposalError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum/AccountBudgetProposalError.php b/src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum/AccountBudgetProposalError.php
new file mode 100644
index 000000000..aca4f13e9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum/AccountBudgetProposalError.php
@@ -0,0 +1,215 @@
+google.ads.googleads.v2.errors.AccountBudgetProposalErrorEnum.AccountBudgetProposalError
+ */
+class AccountBudgetProposalError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The field mask must be empty for create/end/remove proposals.
+ *
+ * Generated from protobuf enum FIELD_MASK_NOT_ALLOWED = 2;
+ */
+ const FIELD_MASK_NOT_ALLOWED = 2;
+ /**
+ * The field cannot be set because of the proposal type.
+ *
+ * Generated from protobuf enum IMMUTABLE_FIELD = 3;
+ */
+ const IMMUTABLE_FIELD = 3;
+ /**
+ * The field is required because of the proposal type.
+ *
+ * Generated from protobuf enum REQUIRED_FIELD_MISSING = 4;
+ */
+ const REQUIRED_FIELD_MISSING = 4;
+ /**
+ * Proposals that have been approved cannot be cancelled.
+ *
+ * Generated from protobuf enum CANNOT_CANCEL_APPROVED_PROPOSAL = 5;
+ */
+ const CANNOT_CANCEL_APPROVED_PROPOSAL = 5;
+ /**
+ * Budgets that haven't been approved cannot be removed.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_UNAPPROVED_BUDGET = 6;
+ */
+ const CANNOT_REMOVE_UNAPPROVED_BUDGET = 6;
+ /**
+ * Budgets that are currently running cannot be removed.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_RUNNING_BUDGET = 7;
+ */
+ const CANNOT_REMOVE_RUNNING_BUDGET = 7;
+ /**
+ * Budgets that haven't been approved cannot be truncated.
+ *
+ * Generated from protobuf enum CANNOT_END_UNAPPROVED_BUDGET = 8;
+ */
+ const CANNOT_END_UNAPPROVED_BUDGET = 8;
+ /**
+ * Only budgets that are currently running can be truncated.
+ *
+ * Generated from protobuf enum CANNOT_END_INACTIVE_BUDGET = 9;
+ */
+ const CANNOT_END_INACTIVE_BUDGET = 9;
+ /**
+ * All budgets must have names.
+ *
+ * Generated from protobuf enum BUDGET_NAME_REQUIRED = 10;
+ */
+ const BUDGET_NAME_REQUIRED = 10;
+ /**
+ * Expired budgets cannot be edited after a sufficient amount of time has
+ * passed.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_OLD_BUDGET = 11;
+ */
+ const CANNOT_UPDATE_OLD_BUDGET = 11;
+ /**
+ * It is not permissible a propose a new budget that ends in the past.
+ *
+ * Generated from protobuf enum CANNOT_END_IN_PAST = 12;
+ */
+ const CANNOT_END_IN_PAST = 12;
+ /**
+ * An expired budget cannot be extended to overlap with the running budget.
+ *
+ * Generated from protobuf enum CANNOT_EXTEND_END_TIME = 13;
+ */
+ const CANNOT_EXTEND_END_TIME = 13;
+ /**
+ * A purchase order number is required.
+ *
+ * Generated from protobuf enum PURCHASE_ORDER_NUMBER_REQUIRED = 14;
+ */
+ const PURCHASE_ORDER_NUMBER_REQUIRED = 14;
+ /**
+ * Budgets that have a pending update cannot be updated.
+ *
+ * Generated from protobuf enum PENDING_UPDATE_PROPOSAL_EXISTS = 15;
+ */
+ const PENDING_UPDATE_PROPOSAL_EXISTS = 15;
+ /**
+ * Cannot propose more than one budget when the corresponding billing setup
+ * hasn't been approved.
+ *
+ * Generated from protobuf enum MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16;
+ */
+ const MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16;
+ /**
+ * Cannot update the start time of a budget that has already started.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17;
+ */
+ const CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17;
+ /**
+ * Cannot update the spending limit of a budget with an amount lower than
+ * what has already been spent.
+ *
+ * Generated from protobuf enum SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18;
+ */
+ const SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18;
+ /**
+ * Cannot propose a budget update without actually changing any fields.
+ *
+ * Generated from protobuf enum UPDATE_IS_NO_OP = 19;
+ */
+ const UPDATE_IS_NO_OP = 19;
+ /**
+ * The end time must come after the start time.
+ *
+ * Generated from protobuf enum END_TIME_MUST_FOLLOW_START_TIME = 20;
+ */
+ const END_TIME_MUST_FOLLOW_START_TIME = 20;
+ /**
+ * The budget's date range must fall within the date range of its billing
+ * setup.
+ *
+ * Generated from protobuf enum BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21;
+ */
+ const BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21;
+ /**
+ * The user is not authorized to mutate budgets for the given billing setup.
+ *
+ * Generated from protobuf enum NOT_AUTHORIZED = 22;
+ */
+ const NOT_AUTHORIZED = 22;
+ /**
+ * Mutates are not allowed for the given billing setup.
+ *
+ * Generated from protobuf enum INVALID_BILLING_SETUP = 23;
+ */
+ const INVALID_BILLING_SETUP = 23;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FIELD_MASK_NOT_ALLOWED => 'FIELD_MASK_NOT_ALLOWED',
+ self::IMMUTABLE_FIELD => 'IMMUTABLE_FIELD',
+ self::REQUIRED_FIELD_MISSING => 'REQUIRED_FIELD_MISSING',
+ self::CANNOT_CANCEL_APPROVED_PROPOSAL => 'CANNOT_CANCEL_APPROVED_PROPOSAL',
+ self::CANNOT_REMOVE_UNAPPROVED_BUDGET => 'CANNOT_REMOVE_UNAPPROVED_BUDGET',
+ self::CANNOT_REMOVE_RUNNING_BUDGET => 'CANNOT_REMOVE_RUNNING_BUDGET',
+ self::CANNOT_END_UNAPPROVED_BUDGET => 'CANNOT_END_UNAPPROVED_BUDGET',
+ self::CANNOT_END_INACTIVE_BUDGET => 'CANNOT_END_INACTIVE_BUDGET',
+ self::BUDGET_NAME_REQUIRED => 'BUDGET_NAME_REQUIRED',
+ self::CANNOT_UPDATE_OLD_BUDGET => 'CANNOT_UPDATE_OLD_BUDGET',
+ self::CANNOT_END_IN_PAST => 'CANNOT_END_IN_PAST',
+ self::CANNOT_EXTEND_END_TIME => 'CANNOT_EXTEND_END_TIME',
+ self::PURCHASE_ORDER_NUMBER_REQUIRED => 'PURCHASE_ORDER_NUMBER_REQUIRED',
+ self::PENDING_UPDATE_PROPOSAL_EXISTS => 'PENDING_UPDATE_PROPOSAL_EXISTS',
+ self::MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP => 'MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP',
+ self::CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET => 'CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET',
+ self::SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED => 'SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED',
+ self::UPDATE_IS_NO_OP => 'UPDATE_IS_NO_OP',
+ self::END_TIME_MUST_FOLLOW_START_TIME => 'END_TIME_MUST_FOLLOW_START_TIME',
+ self::BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP => 'BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP',
+ self::NOT_AUTHORIZED => 'NOT_AUTHORIZED',
+ self::INVALID_BILLING_SETUP => 'INVALID_BILLING_SETUP',
+ ];
+
+ 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(AccountBudgetProposalError::class, \Google\Ads\GoogleAds\V2\Errors\AccountBudgetProposalErrorEnum_AccountBudgetProposalError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum_AccountBudgetProposalError.php b/src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum_AccountBudgetProposalError.php
new file mode 100644
index 000000000..754c4a659
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AccountBudgetProposalErrorEnum_AccountBudgetProposalError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdCustomizerErrorEnum
+ */
+final class AdCustomizerErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdCustomizerError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum/AdCustomizerError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum/AdCustomizerError.php
new file mode 100644
index 000000000..3b1d69604
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum/AdCustomizerError.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.errors.AdCustomizerErrorEnum.AdCustomizerError
+ */
+class AdCustomizerError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Invalid date argument in countdown function.
+ *
+ * Generated from protobuf enum COUNTDOWN_INVALID_DATE_FORMAT = 2;
+ */
+ const COUNTDOWN_INVALID_DATE_FORMAT = 2;
+ /**
+ * Countdown end date is in the past.
+ *
+ * Generated from protobuf enum COUNTDOWN_DATE_IN_PAST = 3;
+ */
+ const COUNTDOWN_DATE_IN_PAST = 3;
+ /**
+ * Invalid locale string in countdown function.
+ *
+ * Generated from protobuf enum COUNTDOWN_INVALID_LOCALE = 4;
+ */
+ const COUNTDOWN_INVALID_LOCALE = 4;
+ /**
+ * Days-before argument to countdown function is not positive.
+ *
+ * Generated from protobuf enum COUNTDOWN_INVALID_START_DAYS_BEFORE = 5;
+ */
+ const COUNTDOWN_INVALID_START_DAYS_BEFORE = 5;
+ /**
+ * A user list referenced in an IF function does not exist.
+ *
+ * Generated from protobuf enum UNKNOWN_USER_LIST = 6;
+ */
+ const UNKNOWN_USER_LIST = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::COUNTDOWN_INVALID_DATE_FORMAT => 'COUNTDOWN_INVALID_DATE_FORMAT',
+ self::COUNTDOWN_DATE_IN_PAST => 'COUNTDOWN_DATE_IN_PAST',
+ self::COUNTDOWN_INVALID_LOCALE => 'COUNTDOWN_INVALID_LOCALE',
+ self::COUNTDOWN_INVALID_START_DAYS_BEFORE => 'COUNTDOWN_INVALID_START_DAYS_BEFORE',
+ self::UNKNOWN_USER_LIST => 'UNKNOWN_USER_LIST',
+ ];
+
+ 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(AdCustomizerError::class, \Google\Ads\GoogleAds\V2\Errors\AdCustomizerErrorEnum_AdCustomizerError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum_AdCustomizerError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum_AdCustomizerError.php
new file mode 100644
index 000000000..21cea71bf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdCustomizerErrorEnum_AdCustomizerError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdErrorEnum
+ */
+final class AdErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum/AdError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum/AdError.php
new file mode 100644
index 000000000..adabc4617
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum/AdError.php
@@ -0,0 +1,983 @@
+google.ads.googleads.v2.errors.AdErrorEnum.AdError
+ */
+class AdError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Ad customizers are not supported for ad type.
+ *
+ * Generated from protobuf enum AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2;
+ */
+ const AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2;
+ /**
+ * Estimating character sizes the string is too long.
+ *
+ * Generated from protobuf enum APPROXIMATELY_TOO_LONG = 3;
+ */
+ const APPROXIMATELY_TOO_LONG = 3;
+ /**
+ * Estimating character sizes the string is too short.
+ *
+ * Generated from protobuf enum APPROXIMATELY_TOO_SHORT = 4;
+ */
+ const APPROXIMATELY_TOO_SHORT = 4;
+ /**
+ * There is a problem with the snippet.
+ *
+ * Generated from protobuf enum BAD_SNIPPET = 5;
+ */
+ const BAD_SNIPPET = 5;
+ /**
+ * Cannot modify an ad.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_AD = 6;
+ */
+ const CANNOT_MODIFY_AD = 6;
+ /**
+ * business name and url cannot be set at the same time
+ *
+ * Generated from protobuf enum CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7;
+ */
+ const CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7;
+ /**
+ * The specified field is incompatible with this ad's type or settings.
+ *
+ * Generated from protobuf enum CANNOT_SET_FIELD = 8;
+ */
+ const CANNOT_SET_FIELD = 8;
+ /**
+ * Cannot set field when originAdId is set.
+ *
+ * Generated from protobuf enum CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9;
+ */
+ const CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9;
+ /**
+ * Cannot set field when an existing ad id is set for sharing.
+ *
+ * Generated from protobuf enum CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10;
+ */
+ const CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10;
+ /**
+ * Cannot set allowFlexibleColor false if no color is provided by user.
+ *
+ * Generated from protobuf enum CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11;
+ */
+ const CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11;
+ /**
+ * When user select native, no color control is allowed because we will
+ * always respect publisher color for native format serving.
+ *
+ * Generated from protobuf enum CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12;
+ */
+ const CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12;
+ /**
+ * Cannot specify a url for the ad type
+ *
+ * Generated from protobuf enum CANNOT_SET_URL = 13;
+ */
+ const CANNOT_SET_URL = 13;
+ /**
+ * Cannot specify a tracking or mobile url without also setting final urls
+ *
+ * Generated from protobuf enum CANNOT_SET_WITHOUT_FINAL_URLS = 14;
+ */
+ const CANNOT_SET_WITHOUT_FINAL_URLS = 14;
+ /**
+ * Cannot specify a legacy url and a final url simultaneously
+ *
+ * Generated from protobuf enum CANNOT_SET_WITH_FINAL_URLS = 15;
+ */
+ const CANNOT_SET_WITH_FINAL_URLS = 15;
+ /**
+ * Cannot specify a urls in UrlData and in template fields simultaneously.
+ *
+ * Generated from protobuf enum CANNOT_SET_WITH_URL_DATA = 17;
+ */
+ const CANNOT_SET_WITH_URL_DATA = 17;
+ /**
+ * This operator cannot be used with a subclass of Ad.
+ *
+ * Generated from protobuf enum CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18;
+ */
+ const CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18;
+ /**
+ * Customer is not approved for mobile ads.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_APPROVED_MOBILEADS = 19;
+ */
+ const CUSTOMER_NOT_APPROVED_MOBILEADS = 19;
+ /**
+ * Customer is not approved for 3PAS richmedia ads.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20;
+ */
+ const CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20;
+ /**
+ * Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21;
+ */
+ const CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21;
+ /**
+ * Not an eligible customer
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_ELIGIBLE = 22;
+ */
+ const CUSTOMER_NOT_ELIGIBLE = 22;
+ /**
+ * Customer is not eligible for updating beacon url
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23;
+ */
+ const CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23;
+ /**
+ * There already exists an ad with the same dimensions in the union.
+ *
+ * Generated from protobuf enum DIMENSION_ALREADY_IN_UNION = 24;
+ */
+ const DIMENSION_ALREADY_IN_UNION = 24;
+ /**
+ * Ad's dimension must be set before setting union dimension.
+ *
+ * Generated from protobuf enum DIMENSION_MUST_BE_SET = 25;
+ */
+ const DIMENSION_MUST_BE_SET = 25;
+ /**
+ * Ad's dimension must be included in the union dimensions.
+ *
+ * Generated from protobuf enum DIMENSION_NOT_IN_UNION = 26;
+ */
+ const DIMENSION_NOT_IN_UNION = 26;
+ /**
+ * Display Url cannot be specified (applies to Ad Exchange Ads)
+ *
+ * Generated from protobuf enum DISPLAY_URL_CANNOT_BE_SPECIFIED = 27;
+ */
+ const DISPLAY_URL_CANNOT_BE_SPECIFIED = 27;
+ /**
+ * Telephone number contains invalid characters or invalid format. Please
+ * re-enter your number using digits (0-9), dashes (-), and parentheses
+ * only.
+ *
+ * Generated from protobuf enum DOMESTIC_PHONE_NUMBER_FORMAT = 28;
+ */
+ const DOMESTIC_PHONE_NUMBER_FORMAT = 28;
+ /**
+ * Emergency telephone numbers are not allowed. Please enter a valid
+ * domestic phone number to connect customers to your business.
+ *
+ * Generated from protobuf enum EMERGENCY_PHONE_NUMBER = 29;
+ */
+ const EMERGENCY_PHONE_NUMBER = 29;
+ /**
+ * A required field was not specified or is an empty string.
+ *
+ * Generated from protobuf enum EMPTY_FIELD = 30;
+ */
+ const EMPTY_FIELD = 30;
+ /**
+ * A feed attribute referenced in an ad customizer tag is not in the ad
+ * customizer mapping for the feed.
+ *
+ * Generated from protobuf enum FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID = 31;
+ */
+ const FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID = 31;
+ /**
+ * The ad customizer field mapping for the feed attribute does not match the
+ * expected field type.
+ *
+ * Generated from protobuf enum FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH = 32;
+ */
+ const FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH = 32;
+ /**
+ * The use of ad customizer tags in the ad text is disallowed. Details in
+ * trigger.
+ *
+ * Generated from protobuf enum ILLEGAL_AD_CUSTOMIZER_TAG_USE = 33;
+ */
+ const ILLEGAL_AD_CUSTOMIZER_TAG_USE = 33;
+ /**
+ * Tags of the form {PH_x}, where x is a number, are disallowed in ad text.
+ *
+ * Generated from protobuf enum ILLEGAL_TAG_USE = 34;
+ */
+ const ILLEGAL_TAG_USE = 34;
+ /**
+ * The dimensions of the ad are specified or derived in multiple ways and
+ * are not consistent.
+ *
+ * Generated from protobuf enum INCONSISTENT_DIMENSIONS = 35;
+ */
+ const INCONSISTENT_DIMENSIONS = 35;
+ /**
+ * The status cannot differ among template ads of the same union.
+ *
+ * Generated from protobuf enum INCONSISTENT_STATUS_IN_TEMPLATE_UNION = 36;
+ */
+ const INCONSISTENT_STATUS_IN_TEMPLATE_UNION = 36;
+ /**
+ * The length of the string is not valid.
+ *
+ * Generated from protobuf enum INCORRECT_LENGTH = 37;
+ */
+ const INCORRECT_LENGTH = 37;
+ /**
+ * The ad is ineligible for upgrade.
+ *
+ * Generated from protobuf enum INELIGIBLE_FOR_UPGRADE = 38;
+ */
+ const INELIGIBLE_FOR_UPGRADE = 38;
+ /**
+ * User cannot create mobile ad for countries targeted in specified
+ * campaign.
+ *
+ * Generated from protobuf enum INVALID_AD_ADDRESS_CAMPAIGN_TARGET = 39;
+ */
+ const INVALID_AD_ADDRESS_CAMPAIGN_TARGET = 39;
+ /**
+ * Invalid Ad type. A specific type of Ad is required.
+ *
+ * Generated from protobuf enum INVALID_AD_TYPE = 40;
+ */
+ const INVALID_AD_TYPE = 40;
+ /**
+ * Headline, description or phone cannot be present when creating mobile
+ * image ad.
+ *
+ * Generated from protobuf enum INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE = 41;
+ */
+ const INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE = 41;
+ /**
+ * Image cannot be present when creating mobile text ad.
+ *
+ * Generated from protobuf enum INVALID_ATTRIBUTES_FOR_MOBILE_TEXT = 42;
+ */
+ const INVALID_ATTRIBUTES_FOR_MOBILE_TEXT = 42;
+ /**
+ * Invalid call to action text.
+ *
+ * Generated from protobuf enum INVALID_CALL_TO_ACTION_TEXT = 43;
+ */
+ const INVALID_CALL_TO_ACTION_TEXT = 43;
+ /**
+ * Invalid character in URL.
+ *
+ * Generated from protobuf enum INVALID_CHARACTER_FOR_URL = 44;
+ */
+ const INVALID_CHARACTER_FOR_URL = 44;
+ /**
+ * Creative's country code is not valid.
+ *
+ * Generated from protobuf enum INVALID_COUNTRY_CODE = 45;
+ */
+ const INVALID_COUNTRY_CODE = 45;
+ /**
+ * Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.)
+ *
+ * Generated from protobuf enum INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 47;
+ */
+ const INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 47;
+ /**
+ * An input error whose real reason was not properly mapped (should not
+ * happen).
+ *
+ * Generated from protobuf enum INVALID_INPUT = 48;
+ */
+ const INVALID_INPUT = 48;
+ /**
+ * An invalid markup language was entered.
+ *
+ * Generated from protobuf enum INVALID_MARKUP_LANGUAGE = 49;
+ */
+ const INVALID_MARKUP_LANGUAGE = 49;
+ /**
+ * An invalid mobile carrier was entered.
+ *
+ * Generated from protobuf enum INVALID_MOBILE_CARRIER = 50;
+ */
+ const INVALID_MOBILE_CARRIER = 50;
+ /**
+ * Specified mobile carriers target a country not targeted by the campaign.
+ *
+ * Generated from protobuf enum INVALID_MOBILE_CARRIER_TARGET = 51;
+ */
+ const INVALID_MOBILE_CARRIER_TARGET = 51;
+ /**
+ * Wrong number of elements for given element type
+ *
+ * Generated from protobuf enum INVALID_NUMBER_OF_ELEMENTS = 52;
+ */
+ const INVALID_NUMBER_OF_ELEMENTS = 52;
+ /**
+ * The format of the telephone number is incorrect. Please re-enter the
+ * number using the correct format.
+ *
+ * Generated from protobuf enum INVALID_PHONE_NUMBER_FORMAT = 53;
+ */
+ const INVALID_PHONE_NUMBER_FORMAT = 53;
+ /**
+ * The certified vendor format id is incorrect.
+ *
+ * Generated from protobuf enum INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID = 54;
+ */
+ const INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID = 54;
+ /**
+ * The template ad data contains validation errors.
+ *
+ * Generated from protobuf enum INVALID_TEMPLATE_DATA = 55;
+ */
+ const INVALID_TEMPLATE_DATA = 55;
+ /**
+ * The template field doesn't have have the correct type.
+ *
+ * Generated from protobuf enum INVALID_TEMPLATE_ELEMENT_FIELD_TYPE = 56;
+ */
+ const INVALID_TEMPLATE_ELEMENT_FIELD_TYPE = 56;
+ /**
+ * Invalid template id.
+ *
+ * Generated from protobuf enum INVALID_TEMPLATE_ID = 57;
+ */
+ const INVALID_TEMPLATE_ID = 57;
+ /**
+ * After substituting replacement strings, the line is too wide.
+ *
+ * Generated from protobuf enum LINE_TOO_WIDE = 58;
+ */
+ const LINE_TOO_WIDE = 58;
+ /**
+ * The feed referenced must have ad customizer mapping to be used in a
+ * customizer tag.
+ *
+ * Generated from protobuf enum MISSING_AD_CUSTOMIZER_MAPPING = 59;
+ */
+ const MISSING_AD_CUSTOMIZER_MAPPING = 59;
+ /**
+ * Missing address component in template element address field.
+ *
+ * Generated from protobuf enum MISSING_ADDRESS_COMPONENT = 60;
+ */
+ const MISSING_ADDRESS_COMPONENT = 60;
+ /**
+ * An ad name must be entered.
+ *
+ * Generated from protobuf enum MISSING_ADVERTISEMENT_NAME = 61;
+ */
+ const MISSING_ADVERTISEMENT_NAME = 61;
+ /**
+ * Business name must be entered.
+ *
+ * Generated from protobuf enum MISSING_BUSINESS_NAME = 62;
+ */
+ const MISSING_BUSINESS_NAME = 62;
+ /**
+ * Description (line 2) must be entered.
+ *
+ * Generated from protobuf enum MISSING_DESCRIPTION1 = 63;
+ */
+ const MISSING_DESCRIPTION1 = 63;
+ /**
+ * Description (line 3) must be entered.
+ *
+ * Generated from protobuf enum MISSING_DESCRIPTION2 = 64;
+ */
+ const MISSING_DESCRIPTION2 = 64;
+ /**
+ * The destination url must contain at least one tag (e.g. {lpurl})
+ *
+ * Generated from protobuf enum MISSING_DESTINATION_URL_TAG = 65;
+ */
+ const MISSING_DESTINATION_URL_TAG = 65;
+ /**
+ * The tracking url template of ExpandedDynamicSearchAd must contain at
+ * least one tag. (e.g. {lpurl})
+ *
+ * Generated from protobuf enum MISSING_LANDING_PAGE_URL_TAG = 66;
+ */
+ const MISSING_LANDING_PAGE_URL_TAG = 66;
+ /**
+ * A valid dimension must be specified for this ad.
+ *
+ * Generated from protobuf enum MISSING_DIMENSION = 67;
+ */
+ const MISSING_DIMENSION = 67;
+ /**
+ * A display URL must be entered.
+ *
+ * Generated from protobuf enum MISSING_DISPLAY_URL = 68;
+ */
+ const MISSING_DISPLAY_URL = 68;
+ /**
+ * Headline must be entered.
+ *
+ * Generated from protobuf enum MISSING_HEADLINE = 69;
+ */
+ const MISSING_HEADLINE = 69;
+ /**
+ * A height must be entered.
+ *
+ * Generated from protobuf enum MISSING_HEIGHT = 70;
+ */
+ const MISSING_HEIGHT = 70;
+ /**
+ * An image must be entered.
+ *
+ * Generated from protobuf enum MISSING_IMAGE = 71;
+ */
+ const MISSING_IMAGE = 71;
+ /**
+ * Marketing image or product videos are required.
+ *
+ * Generated from protobuf enum MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS = 72;
+ */
+ const MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS = 72;
+ /**
+ * The markup language in which your site is written must be entered.
+ *
+ * Generated from protobuf enum MISSING_MARKUP_LANGUAGES = 73;
+ */
+ const MISSING_MARKUP_LANGUAGES = 73;
+ /**
+ * A mobile carrier must be entered.
+ *
+ * Generated from protobuf enum MISSING_MOBILE_CARRIER = 74;
+ */
+ const MISSING_MOBILE_CARRIER = 74;
+ /**
+ * Phone number must be entered.
+ *
+ * Generated from protobuf enum MISSING_PHONE = 75;
+ */
+ const MISSING_PHONE = 75;
+ /**
+ * Missing required template fields
+ *
+ * Generated from protobuf enum MISSING_REQUIRED_TEMPLATE_FIELDS = 76;
+ */
+ const MISSING_REQUIRED_TEMPLATE_FIELDS = 76;
+ /**
+ * Missing a required field value
+ *
+ * Generated from protobuf enum MISSING_TEMPLATE_FIELD_VALUE = 77;
+ */
+ const MISSING_TEMPLATE_FIELD_VALUE = 77;
+ /**
+ * The ad must have text.
+ *
+ * Generated from protobuf enum MISSING_TEXT = 78;
+ */
+ const MISSING_TEXT = 78;
+ /**
+ * A visible URL must be entered.
+ *
+ * Generated from protobuf enum MISSING_VISIBLE_URL = 79;
+ */
+ const MISSING_VISIBLE_URL = 79;
+ /**
+ * A width must be entered.
+ *
+ * Generated from protobuf enum MISSING_WIDTH = 80;
+ */
+ const MISSING_WIDTH = 80;
+ /**
+ * Only 1 feed can be used as the source of ad customizer substitutions in a
+ * single ad.
+ *
+ * Generated from protobuf enum MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED = 81;
+ */
+ const MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED = 81;
+ /**
+ * TempAdUnionId must be use when adding template ads.
+ *
+ * Generated from protobuf enum MUST_USE_TEMP_AD_UNION_ID_ON_ADD = 82;
+ */
+ const MUST_USE_TEMP_AD_UNION_ID_ON_ADD = 82;
+ /**
+ * The string has too many characters.
+ *
+ * Generated from protobuf enum TOO_LONG = 83;
+ */
+ const TOO_LONG = 83;
+ /**
+ * The string has too few characters.
+ *
+ * Generated from protobuf enum TOO_SHORT = 84;
+ */
+ const TOO_SHORT = 84;
+ /**
+ * Ad union dimensions cannot change for saved ads.
+ *
+ * Generated from protobuf enum UNION_DIMENSIONS_CANNOT_CHANGE = 85;
+ */
+ const UNION_DIMENSIONS_CANNOT_CHANGE = 85;
+ /**
+ * Address component is not {country, lat, lng}.
+ *
+ * Generated from protobuf enum UNKNOWN_ADDRESS_COMPONENT = 86;
+ */
+ const UNKNOWN_ADDRESS_COMPONENT = 86;
+ /**
+ * Unknown unique field name
+ *
+ * Generated from protobuf enum UNKNOWN_FIELD_NAME = 87;
+ */
+ const UNKNOWN_FIELD_NAME = 87;
+ /**
+ * Unknown unique name (template element type specifier)
+ *
+ * Generated from protobuf enum UNKNOWN_UNIQUE_NAME = 88;
+ */
+ const UNKNOWN_UNIQUE_NAME = 88;
+ /**
+ * Unsupported ad dimension
+ *
+ * Generated from protobuf enum UNSUPPORTED_DIMENSIONS = 89;
+ */
+ const UNSUPPORTED_DIMENSIONS = 89;
+ /**
+ * URL starts with an invalid scheme.
+ *
+ * Generated from protobuf enum URL_INVALID_SCHEME = 90;
+ */
+ const URL_INVALID_SCHEME = 90;
+ /**
+ * URL ends with an invalid top-level domain name.
+ *
+ * Generated from protobuf enum URL_INVALID_TOP_LEVEL_DOMAIN = 91;
+ */
+ const URL_INVALID_TOP_LEVEL_DOMAIN = 91;
+ /**
+ * URL contains illegal characters.
+ *
+ * Generated from protobuf enum URL_MALFORMED = 92;
+ */
+ const URL_MALFORMED = 92;
+ /**
+ * URL must contain a host name.
+ *
+ * Generated from protobuf enum URL_NO_HOST = 93;
+ */
+ const URL_NO_HOST = 93;
+ /**
+ * URL not equivalent during upgrade.
+ *
+ * Generated from protobuf enum URL_NOT_EQUIVALENT = 94;
+ */
+ const URL_NOT_EQUIVALENT = 94;
+ /**
+ * URL host name too long to be stored as visible URL (applies to Ad
+ * Exchange ads)
+ *
+ * Generated from protobuf enum URL_HOST_NAME_TOO_LONG = 95;
+ */
+ const URL_HOST_NAME_TOO_LONG = 95;
+ /**
+ * URL must start with a scheme.
+ *
+ * Generated from protobuf enum URL_NO_SCHEME = 96;
+ */
+ const URL_NO_SCHEME = 96;
+ /**
+ * URL should end in a valid domain extension, such as .com or .net.
+ *
+ * Generated from protobuf enum URL_NO_TOP_LEVEL_DOMAIN = 97;
+ */
+ const URL_NO_TOP_LEVEL_DOMAIN = 97;
+ /**
+ * URL must not end with a path.
+ *
+ * Generated from protobuf enum URL_PATH_NOT_ALLOWED = 98;
+ */
+ const URL_PATH_NOT_ALLOWED = 98;
+ /**
+ * URL must not specify a port.
+ *
+ * Generated from protobuf enum URL_PORT_NOT_ALLOWED = 99;
+ */
+ const URL_PORT_NOT_ALLOWED = 99;
+ /**
+ * URL must not contain a query.
+ *
+ * Generated from protobuf enum URL_QUERY_NOT_ALLOWED = 100;
+ */
+ const URL_QUERY_NOT_ALLOWED = 100;
+ /**
+ * A url scheme is not allowed in front of tag in tracking url template
+ * (e.g. http://{lpurl})
+ *
+ * Generated from protobuf enum URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 102;
+ */
+ const URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 102;
+ /**
+ * The user does not have permissions to create a template ad for the given
+ * template.
+ *
+ * Generated from protobuf enum USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE = 103;
+ */
+ const USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE = 103;
+ /**
+ * Expandable setting is inconsistent/wrong. For example, an AdX ad is
+ * invalid if it has a expandable vendor format but no expanding directions
+ * specified, or expanding directions is specified, but the vendor format is
+ * not expandable.
+ *
+ * Generated from protobuf enum INCONSISTENT_EXPANDABLE_SETTINGS = 104;
+ */
+ const INCONSISTENT_EXPANDABLE_SETTINGS = 104;
+ /**
+ * Format is invalid
+ *
+ * Generated from protobuf enum INVALID_FORMAT = 105;
+ */
+ const INVALID_FORMAT = 105;
+ /**
+ * The text of this field did not match a pattern of allowed values.
+ *
+ * Generated from protobuf enum INVALID_FIELD_TEXT = 106;
+ */
+ const INVALID_FIELD_TEXT = 106;
+ /**
+ * Template element is mising
+ *
+ * Generated from protobuf enum ELEMENT_NOT_PRESENT = 107;
+ */
+ const ELEMENT_NOT_PRESENT = 107;
+ /**
+ * Error occurred during image processing
+ *
+ * Generated from protobuf enum IMAGE_ERROR = 108;
+ */
+ const IMAGE_ERROR = 108;
+ /**
+ * The value is not within the valid range
+ *
+ * Generated from protobuf enum VALUE_NOT_IN_RANGE = 109;
+ */
+ const VALUE_NOT_IN_RANGE = 109;
+ /**
+ * Template element field is not present
+ *
+ * Generated from protobuf enum FIELD_NOT_PRESENT = 110;
+ */
+ const FIELD_NOT_PRESENT = 110;
+ /**
+ * Address is incomplete
+ *
+ * Generated from protobuf enum ADDRESS_NOT_COMPLETE = 111;
+ */
+ const ADDRESS_NOT_COMPLETE = 111;
+ /**
+ * Invalid address
+ *
+ * Generated from protobuf enum ADDRESS_INVALID = 112;
+ */
+ const ADDRESS_INVALID = 112;
+ /**
+ * Error retrieving specified video
+ *
+ * Generated from protobuf enum VIDEO_RETRIEVAL_ERROR = 113;
+ */
+ const VIDEO_RETRIEVAL_ERROR = 113;
+ /**
+ * Error processing audio
+ *
+ * Generated from protobuf enum AUDIO_ERROR = 114;
+ */
+ const AUDIO_ERROR = 114;
+ /**
+ * Display URL is incorrect for YouTube PYV ads
+ *
+ * Generated from protobuf enum INVALID_YOUTUBE_DISPLAY_URL = 115;
+ */
+ const INVALID_YOUTUBE_DISPLAY_URL = 115;
+ /**
+ * Too many product Images in GmailAd
+ *
+ * Generated from protobuf enum TOO_MANY_PRODUCT_IMAGES = 116;
+ */
+ const TOO_MANY_PRODUCT_IMAGES = 116;
+ /**
+ * Too many product Videos in GmailAd
+ *
+ * Generated from protobuf enum TOO_MANY_PRODUCT_VIDEOS = 117;
+ */
+ const TOO_MANY_PRODUCT_VIDEOS = 117;
+ /**
+ * The device preference is not compatible with the ad type
+ *
+ * Generated from protobuf enum INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE = 118;
+ */
+ const INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE = 118;
+ /**
+ * Call tracking is not supported for specified country.
+ *
+ * Generated from protobuf enum CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 119;
+ */
+ const CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 119;
+ /**
+ * Carrier specific short number is not allowed.
+ *
+ * Generated from protobuf enum CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 120;
+ */
+ const CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 120;
+ /**
+ * Specified phone number type is disallowed.
+ *
+ * Generated from protobuf enum DISALLOWED_NUMBER_TYPE = 121;
+ */
+ const DISALLOWED_NUMBER_TYPE = 121;
+ /**
+ * Phone number not supported for country.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 122;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 122;
+ /**
+ * Phone number not supported with call tracking enabled for country.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 123;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 123;
+ /**
+ * Premium rate phone number is not allowed.
+ *
+ * Generated from protobuf enum PREMIUM_RATE_NUMBER_NOT_ALLOWED = 124;
+ */
+ const PREMIUM_RATE_NUMBER_NOT_ALLOWED = 124;
+ /**
+ * Vanity phone number is not allowed.
+ *
+ * Generated from protobuf enum VANITY_PHONE_NUMBER_NOT_ALLOWED = 125;
+ */
+ const VANITY_PHONE_NUMBER_NOT_ALLOWED = 125;
+ /**
+ * Invalid call conversion type id.
+ *
+ * Generated from protobuf enum INVALID_CALL_CONVERSION_TYPE_ID = 126;
+ */
+ const INVALID_CALL_CONVERSION_TYPE_ID = 126;
+ /**
+ * Cannot disable call conversion and set conversion type id.
+ *
+ * Generated from protobuf enum CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID = 127;
+ */
+ const CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID = 127;
+ /**
+ * Cannot set path2 without path1.
+ *
+ * Generated from protobuf enum CANNOT_SET_PATH2_WITHOUT_PATH1 = 128;
+ */
+ const CANNOT_SET_PATH2_WITHOUT_PATH1 = 128;
+ /**
+ * Missing domain name in campaign setting when adding expanded dynamic
+ * search ad.
+ *
+ * Generated from protobuf enum MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME = 129;
+ */
+ const MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME = 129;
+ /**
+ * The associated ad is not compatible with restriction type.
+ *
+ * Generated from protobuf enum INCOMPATIBLE_WITH_RESTRICTION_TYPE = 130;
+ */
+ const INCOMPATIBLE_WITH_RESTRICTION_TYPE = 130;
+ /**
+ * Consent for call recording is required for creating/updating call only
+ * ads. Please see https://support.google.com/google-ads/answer/7412639.
+ *
+ * Generated from protobuf enum CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 131;
+ */
+ const CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 131;
+ /**
+ * Either an image or a media bundle is required in a display upload ad.
+ *
+ * Generated from protobuf enum MISSING_IMAGE_OR_MEDIA_BUNDLE = 132;
+ */
+ const MISSING_IMAGE_OR_MEDIA_BUNDLE = 132;
+ /**
+ * The display upload product type is not supported in this campaign.
+ *
+ * Generated from protobuf enum PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN = 133;
+ */
+ const PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN = 133;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE => 'AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE',
+ self::APPROXIMATELY_TOO_LONG => 'APPROXIMATELY_TOO_LONG',
+ self::APPROXIMATELY_TOO_SHORT => 'APPROXIMATELY_TOO_SHORT',
+ self::BAD_SNIPPET => 'BAD_SNIPPET',
+ self::CANNOT_MODIFY_AD => 'CANNOT_MODIFY_AD',
+ self::CANNOT_SET_BUSINESS_NAME_IF_URL_SET => 'CANNOT_SET_BUSINESS_NAME_IF_URL_SET',
+ self::CANNOT_SET_FIELD => 'CANNOT_SET_FIELD',
+ self::CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET => 'CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET',
+ self::CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING => 'CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING',
+ self::CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE => 'CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE',
+ self::CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING => 'CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING',
+ self::CANNOT_SET_URL => 'CANNOT_SET_URL',
+ self::CANNOT_SET_WITHOUT_FINAL_URLS => 'CANNOT_SET_WITHOUT_FINAL_URLS',
+ self::CANNOT_SET_WITH_FINAL_URLS => 'CANNOT_SET_WITH_FINAL_URLS',
+ self::CANNOT_SET_WITH_URL_DATA => 'CANNOT_SET_WITH_URL_DATA',
+ self::CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR => 'CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR',
+ self::CUSTOMER_NOT_APPROVED_MOBILEADS => 'CUSTOMER_NOT_APPROVED_MOBILEADS',
+ self::CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS => 'CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS',
+ self::CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS => 'CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS',
+ self::CUSTOMER_NOT_ELIGIBLE => 'CUSTOMER_NOT_ELIGIBLE',
+ self::CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL => 'CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL',
+ self::DIMENSION_ALREADY_IN_UNION => 'DIMENSION_ALREADY_IN_UNION',
+ self::DIMENSION_MUST_BE_SET => 'DIMENSION_MUST_BE_SET',
+ self::DIMENSION_NOT_IN_UNION => 'DIMENSION_NOT_IN_UNION',
+ self::DISPLAY_URL_CANNOT_BE_SPECIFIED => 'DISPLAY_URL_CANNOT_BE_SPECIFIED',
+ self::DOMESTIC_PHONE_NUMBER_FORMAT => 'DOMESTIC_PHONE_NUMBER_FORMAT',
+ self::EMERGENCY_PHONE_NUMBER => 'EMERGENCY_PHONE_NUMBER',
+ self::EMPTY_FIELD => 'EMPTY_FIELD',
+ self::FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID => 'FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID',
+ self::FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH => 'FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH',
+ self::ILLEGAL_AD_CUSTOMIZER_TAG_USE => 'ILLEGAL_AD_CUSTOMIZER_TAG_USE',
+ self::ILLEGAL_TAG_USE => 'ILLEGAL_TAG_USE',
+ self::INCONSISTENT_DIMENSIONS => 'INCONSISTENT_DIMENSIONS',
+ self::INCONSISTENT_STATUS_IN_TEMPLATE_UNION => 'INCONSISTENT_STATUS_IN_TEMPLATE_UNION',
+ self::INCORRECT_LENGTH => 'INCORRECT_LENGTH',
+ self::INELIGIBLE_FOR_UPGRADE => 'INELIGIBLE_FOR_UPGRADE',
+ self::INVALID_AD_ADDRESS_CAMPAIGN_TARGET => 'INVALID_AD_ADDRESS_CAMPAIGN_TARGET',
+ self::INVALID_AD_TYPE => 'INVALID_AD_TYPE',
+ self::INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE => 'INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE',
+ self::INVALID_ATTRIBUTES_FOR_MOBILE_TEXT => 'INVALID_ATTRIBUTES_FOR_MOBILE_TEXT',
+ self::INVALID_CALL_TO_ACTION_TEXT => 'INVALID_CALL_TO_ACTION_TEXT',
+ self::INVALID_CHARACTER_FOR_URL => 'INVALID_CHARACTER_FOR_URL',
+ self::INVALID_COUNTRY_CODE => 'INVALID_COUNTRY_CODE',
+ self::INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG => 'INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG',
+ self::INVALID_INPUT => 'INVALID_INPUT',
+ self::INVALID_MARKUP_LANGUAGE => 'INVALID_MARKUP_LANGUAGE',
+ self::INVALID_MOBILE_CARRIER => 'INVALID_MOBILE_CARRIER',
+ self::INVALID_MOBILE_CARRIER_TARGET => 'INVALID_MOBILE_CARRIER_TARGET',
+ self::INVALID_NUMBER_OF_ELEMENTS => 'INVALID_NUMBER_OF_ELEMENTS',
+ self::INVALID_PHONE_NUMBER_FORMAT => 'INVALID_PHONE_NUMBER_FORMAT',
+ self::INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID => 'INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID',
+ self::INVALID_TEMPLATE_DATA => 'INVALID_TEMPLATE_DATA',
+ self::INVALID_TEMPLATE_ELEMENT_FIELD_TYPE => 'INVALID_TEMPLATE_ELEMENT_FIELD_TYPE',
+ self::INVALID_TEMPLATE_ID => 'INVALID_TEMPLATE_ID',
+ self::LINE_TOO_WIDE => 'LINE_TOO_WIDE',
+ self::MISSING_AD_CUSTOMIZER_MAPPING => 'MISSING_AD_CUSTOMIZER_MAPPING',
+ self::MISSING_ADDRESS_COMPONENT => 'MISSING_ADDRESS_COMPONENT',
+ self::MISSING_ADVERTISEMENT_NAME => 'MISSING_ADVERTISEMENT_NAME',
+ self::MISSING_BUSINESS_NAME => 'MISSING_BUSINESS_NAME',
+ self::MISSING_DESCRIPTION1 => 'MISSING_DESCRIPTION1',
+ self::MISSING_DESCRIPTION2 => 'MISSING_DESCRIPTION2',
+ self::MISSING_DESTINATION_URL_TAG => 'MISSING_DESTINATION_URL_TAG',
+ self::MISSING_LANDING_PAGE_URL_TAG => 'MISSING_LANDING_PAGE_URL_TAG',
+ self::MISSING_DIMENSION => 'MISSING_DIMENSION',
+ self::MISSING_DISPLAY_URL => 'MISSING_DISPLAY_URL',
+ self::MISSING_HEADLINE => 'MISSING_HEADLINE',
+ self::MISSING_HEIGHT => 'MISSING_HEIGHT',
+ self::MISSING_IMAGE => 'MISSING_IMAGE',
+ self::MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS => 'MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS',
+ self::MISSING_MARKUP_LANGUAGES => 'MISSING_MARKUP_LANGUAGES',
+ self::MISSING_MOBILE_CARRIER => 'MISSING_MOBILE_CARRIER',
+ self::MISSING_PHONE => 'MISSING_PHONE',
+ self::MISSING_REQUIRED_TEMPLATE_FIELDS => 'MISSING_REQUIRED_TEMPLATE_FIELDS',
+ self::MISSING_TEMPLATE_FIELD_VALUE => 'MISSING_TEMPLATE_FIELD_VALUE',
+ self::MISSING_TEXT => 'MISSING_TEXT',
+ self::MISSING_VISIBLE_URL => 'MISSING_VISIBLE_URL',
+ self::MISSING_WIDTH => 'MISSING_WIDTH',
+ self::MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED => 'MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED',
+ self::MUST_USE_TEMP_AD_UNION_ID_ON_ADD => 'MUST_USE_TEMP_AD_UNION_ID_ON_ADD',
+ self::TOO_LONG => 'TOO_LONG',
+ self::TOO_SHORT => 'TOO_SHORT',
+ self::UNION_DIMENSIONS_CANNOT_CHANGE => 'UNION_DIMENSIONS_CANNOT_CHANGE',
+ self::UNKNOWN_ADDRESS_COMPONENT => 'UNKNOWN_ADDRESS_COMPONENT',
+ self::UNKNOWN_FIELD_NAME => 'UNKNOWN_FIELD_NAME',
+ self::UNKNOWN_UNIQUE_NAME => 'UNKNOWN_UNIQUE_NAME',
+ self::UNSUPPORTED_DIMENSIONS => 'UNSUPPORTED_DIMENSIONS',
+ self::URL_INVALID_SCHEME => 'URL_INVALID_SCHEME',
+ self::URL_INVALID_TOP_LEVEL_DOMAIN => 'URL_INVALID_TOP_LEVEL_DOMAIN',
+ self::URL_MALFORMED => 'URL_MALFORMED',
+ self::URL_NO_HOST => 'URL_NO_HOST',
+ self::URL_NOT_EQUIVALENT => 'URL_NOT_EQUIVALENT',
+ self::URL_HOST_NAME_TOO_LONG => 'URL_HOST_NAME_TOO_LONG',
+ self::URL_NO_SCHEME => 'URL_NO_SCHEME',
+ self::URL_NO_TOP_LEVEL_DOMAIN => 'URL_NO_TOP_LEVEL_DOMAIN',
+ self::URL_PATH_NOT_ALLOWED => 'URL_PATH_NOT_ALLOWED',
+ self::URL_PORT_NOT_ALLOWED => 'URL_PORT_NOT_ALLOWED',
+ self::URL_QUERY_NOT_ALLOWED => 'URL_QUERY_NOT_ALLOWED',
+ self::URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG => 'URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG',
+ self::USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE => 'USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE',
+ self::INCONSISTENT_EXPANDABLE_SETTINGS => 'INCONSISTENT_EXPANDABLE_SETTINGS',
+ self::INVALID_FORMAT => 'INVALID_FORMAT',
+ self::INVALID_FIELD_TEXT => 'INVALID_FIELD_TEXT',
+ self::ELEMENT_NOT_PRESENT => 'ELEMENT_NOT_PRESENT',
+ self::IMAGE_ERROR => 'IMAGE_ERROR',
+ self::VALUE_NOT_IN_RANGE => 'VALUE_NOT_IN_RANGE',
+ self::FIELD_NOT_PRESENT => 'FIELD_NOT_PRESENT',
+ self::ADDRESS_NOT_COMPLETE => 'ADDRESS_NOT_COMPLETE',
+ self::ADDRESS_INVALID => 'ADDRESS_INVALID',
+ self::VIDEO_RETRIEVAL_ERROR => 'VIDEO_RETRIEVAL_ERROR',
+ self::AUDIO_ERROR => 'AUDIO_ERROR',
+ self::INVALID_YOUTUBE_DISPLAY_URL => 'INVALID_YOUTUBE_DISPLAY_URL',
+ self::TOO_MANY_PRODUCT_IMAGES => 'TOO_MANY_PRODUCT_IMAGES',
+ self::TOO_MANY_PRODUCT_VIDEOS => 'TOO_MANY_PRODUCT_VIDEOS',
+ self::INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE => 'INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE',
+ self::CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY => 'CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY',
+ self::CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED => 'CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED',
+ self::DISALLOWED_NUMBER_TYPE => 'DISALLOWED_NUMBER_TYPE',
+ self::PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY',
+ self::PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY',
+ self::PREMIUM_RATE_NUMBER_NOT_ALLOWED => 'PREMIUM_RATE_NUMBER_NOT_ALLOWED',
+ self::VANITY_PHONE_NUMBER_NOT_ALLOWED => 'VANITY_PHONE_NUMBER_NOT_ALLOWED',
+ self::INVALID_CALL_CONVERSION_TYPE_ID => 'INVALID_CALL_CONVERSION_TYPE_ID',
+ self::CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID => 'CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID',
+ self::CANNOT_SET_PATH2_WITHOUT_PATH1 => 'CANNOT_SET_PATH2_WITHOUT_PATH1',
+ self::MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME => 'MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME',
+ self::INCOMPATIBLE_WITH_RESTRICTION_TYPE => 'INCOMPATIBLE_WITH_RESTRICTION_TYPE',
+ self::CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED => 'CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED',
+ self::MISSING_IMAGE_OR_MEDIA_BUNDLE => 'MISSING_IMAGE_OR_MEDIA_BUNDLE',
+ self::PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN => 'PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN',
+ ];
+
+ 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(AdError::class, \Google\Ads\GoogleAds\V2\Errors\AdErrorEnum_AdError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum_AdError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum_AdError.php
new file mode 100644
index 000000000..5cff7aff9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdErrorEnum_AdError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdGroupAdErrorEnum
+ */
+final class AdGroupAdErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdGroupAdError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum/AdGroupAdError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum/AdGroupAdError.php
new file mode 100644
index 000000000..418a91516
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum/AdGroupAdError.php
@@ -0,0 +1,115 @@
+google.ads.googleads.v2.errors.AdGroupAdErrorEnum.AdGroupAdError
+ */
+class AdGroupAdError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * No link found between the adgroup ad and the label.
+ *
+ * Generated from protobuf enum AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2;
+ */
+ const AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2;
+ /**
+ * The label has already been attached to the adgroup ad.
+ *
+ * Generated from protobuf enum AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3;
+ */
+ const AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3;
+ /**
+ * The specified ad was not found in the adgroup
+ *
+ * Generated from protobuf enum AD_NOT_UNDER_ADGROUP = 4;
+ */
+ const AD_NOT_UNDER_ADGROUP = 4;
+ /**
+ * Removed ads may not be modified
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5;
+ */
+ const CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5;
+ /**
+ * An ad of this type is deprecated and cannot be created. Only deletions
+ * are permitted.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_DEPRECATED_ADS = 6;
+ */
+ const CANNOT_CREATE_DEPRECATED_ADS = 6;
+ /**
+ * Text ads are deprecated and cannot be created. Use expanded text ads
+ * instead.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_TEXT_ADS = 7;
+ */
+ const CANNOT_CREATE_TEXT_ADS = 7;
+ /**
+ * A required field was not specified or is an empty string.
+ *
+ * Generated from protobuf enum EMPTY_FIELD = 8;
+ */
+ const EMPTY_FIELD = 8;
+ /**
+ * An ad may only be modified once per call
+ *
+ * Generated from protobuf enum RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9;
+ */
+ const RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_GROUP_AD_LABEL_DOES_NOT_EXIST => 'AD_GROUP_AD_LABEL_DOES_NOT_EXIST',
+ self::AD_GROUP_AD_LABEL_ALREADY_EXISTS => 'AD_GROUP_AD_LABEL_ALREADY_EXISTS',
+ self::AD_NOT_UNDER_ADGROUP => 'AD_NOT_UNDER_ADGROUP',
+ self::CANNOT_OPERATE_ON_REMOVED_ADGROUPAD => 'CANNOT_OPERATE_ON_REMOVED_ADGROUPAD',
+ self::CANNOT_CREATE_DEPRECATED_ADS => 'CANNOT_CREATE_DEPRECATED_ADS',
+ self::CANNOT_CREATE_TEXT_ADS => 'CANNOT_CREATE_TEXT_ADS',
+ self::EMPTY_FIELD => 'EMPTY_FIELD',
+ self::RESOURCE_REFERENCED_IN_MULTIPLE_OPS => 'RESOURCE_REFERENCED_IN_MULTIPLE_OPS',
+ ];
+
+ 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(AdGroupAdError::class, \Google\Ads\GoogleAds\V2\Errors\AdGroupAdErrorEnum_AdGroupAdError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum_AdGroupAdError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum_AdGroupAdError.php
new file mode 100644
index 000000000..92229be35
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupAdErrorEnum_AdGroupAdError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdGroupBidModifierErrorEnum
+ */
+final class AdGroupBidModifierErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdGroupBidModifierError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum/AdGroupBidModifierError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum/AdGroupBidModifierError.php
new file mode 100644
index 000000000..8bf078815
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum/AdGroupBidModifierError.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierError
+ */
+class AdGroupBidModifierError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The criterion ID does not support bid modification.
+ *
+ * Generated from protobuf enum CRITERION_ID_NOT_SUPPORTED = 2;
+ */
+ const CRITERION_ID_NOT_SUPPORTED = 2;
+ /**
+ * Cannot override the bid modifier for the given criterion ID if the parent
+ * campaign is opted out of the same criterion.
+ *
+ * Generated from protobuf enum CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3;
+ */
+ const CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CRITERION_ID_NOT_SUPPORTED => 'CRITERION_ID_NOT_SUPPORTED',
+ self::CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER => 'CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER',
+ ];
+
+ 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(AdGroupBidModifierError::class, \Google\Ads\GoogleAds\V2\Errors\AdGroupBidModifierErrorEnum_AdGroupBidModifierError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum_AdGroupBidModifierError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum_AdGroupBidModifierError.php
new file mode 100644
index 000000000..e1f690827
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupBidModifierErrorEnum_AdGroupBidModifierError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdGroupCriterionErrorEnum
+ */
+final class AdGroupCriterionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdGroupCriterionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum/AdGroupCriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum/AdGroupCriterionError.php
new file mode 100644
index 000000000..d0ecdf70c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum/AdGroupCriterionError.php
@@ -0,0 +1,326 @@
+google.ads.googleads.v2.errors.AdGroupCriterionErrorEnum.AdGroupCriterionError
+ */
+class AdGroupCriterionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * No link found between the AdGroupCriterion and the label.
+ *
+ * Generated from protobuf enum AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2;
+ */
+ const AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2;
+ /**
+ * The label has already been attached to the AdGroupCriterion.
+ *
+ * Generated from protobuf enum AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3;
+ */
+ const AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3;
+ /**
+ * Negative AdGroupCriterion cannot have labels.
+ *
+ * Generated from protobuf enum CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4;
+ */
+ const CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4;
+ /**
+ * Too many operations for a single call.
+ *
+ * Generated from protobuf enum TOO_MANY_OPERATIONS = 5;
+ */
+ const TOO_MANY_OPERATIONS = 5;
+ /**
+ * Negative ad group criteria are not updateable.
+ *
+ * Generated from protobuf enum CANT_UPDATE_NEGATIVE = 6;
+ */
+ const CANT_UPDATE_NEGATIVE = 6;
+ /**
+ * Concrete type of criterion (keyword v.s. placement) is required for ADD
+ * and SET operations.
+ *
+ * Generated from protobuf enum CONCRETE_TYPE_REQUIRED = 7;
+ */
+ const CONCRETE_TYPE_REQUIRED = 7;
+ /**
+ * Bid is incompatible with ad group's bidding settings.
+ *
+ * Generated from protobuf enum BID_INCOMPATIBLE_WITH_ADGROUP = 8;
+ */
+ const BID_INCOMPATIBLE_WITH_ADGROUP = 8;
+ /**
+ * Cannot target and exclude the same criterion at once.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_AND_EXCLUDE = 9;
+ */
+ const CANNOT_TARGET_AND_EXCLUDE = 9;
+ /**
+ * The URL of a placement is invalid.
+ *
+ * Generated from protobuf enum ILLEGAL_URL = 10;
+ */
+ const ILLEGAL_URL = 10;
+ /**
+ * Keyword text was invalid.
+ *
+ * Generated from protobuf enum INVALID_KEYWORD_TEXT = 11;
+ */
+ const INVALID_KEYWORD_TEXT = 11;
+ /**
+ * Destination URL was invalid.
+ *
+ * Generated from protobuf enum INVALID_DESTINATION_URL = 12;
+ */
+ const INVALID_DESTINATION_URL = 12;
+ /**
+ * The destination url must contain at least one tag (e.g. {lpurl})
+ *
+ * Generated from protobuf enum MISSING_DESTINATION_URL_TAG = 13;
+ */
+ const MISSING_DESTINATION_URL_TAG = 13;
+ /**
+ * Keyword-level cpm bid is not supported
+ *
+ * Generated from protobuf enum KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM = 14;
+ */
+ const KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM = 14;
+ /**
+ * For example, cannot add a biddable ad group criterion that had been
+ * removed.
+ *
+ * Generated from protobuf enum INVALID_USER_STATUS = 15;
+ */
+ const INVALID_USER_STATUS = 15;
+ /**
+ * Criteria type cannot be targeted for the ad group. Either the account is
+ * restricted to keywords only, the criteria type is incompatible with the
+ * campaign's bidding strategy, or the criteria type can only be applied to
+ * campaigns.
+ *
+ * Generated from protobuf enum CANNOT_ADD_CRITERIA_TYPE = 16;
+ */
+ const CANNOT_ADD_CRITERIA_TYPE = 16;
+ /**
+ * Criteria type cannot be excluded for the ad group. Refer to the
+ * documentation for a specific criterion to check if it is excludable.
+ *
+ * Generated from protobuf enum CANNOT_EXCLUDE_CRITERIA_TYPE = 17;
+ */
+ const CANNOT_EXCLUDE_CRITERIA_TYPE = 17;
+ /**
+ * Partial failure is not supported for shopping campaign mutate operations.
+ *
+ * Generated from protobuf enum CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE = 27;
+ */
+ const CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE = 27;
+ /**
+ * Operations in the mutate request changes too many shopping ad groups.
+ * Please split requests for multiple shopping ad groups across multiple
+ * requests.
+ *
+ * Generated from protobuf enum OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS = 28;
+ */
+ const OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS = 28;
+ /**
+ * Not allowed to modify url fields of an ad group criterion if there are
+ * duplicate elements for that ad group criterion in the request.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS = 29;
+ */
+ const CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS = 29;
+ /**
+ * Cannot set url fields without also setting final urls.
+ *
+ * Generated from protobuf enum CANNOT_SET_WITHOUT_FINAL_URLS = 30;
+ */
+ const CANNOT_SET_WITHOUT_FINAL_URLS = 30;
+ /**
+ * Cannot clear final urls if final mobile urls exist.
+ *
+ * Generated from protobuf enum CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST = 31;
+ */
+ const CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST = 31;
+ /**
+ * Cannot clear final urls if final app urls exist.
+ *
+ * Generated from protobuf enum CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST = 32;
+ */
+ const CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST = 32;
+ /**
+ * Cannot clear final urls if tracking url template exists.
+ *
+ * Generated from protobuf enum CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS = 33;
+ */
+ const CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS = 33;
+ /**
+ * Cannot clear final urls if url custom parameters exist.
+ *
+ * Generated from protobuf enum CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST = 34;
+ */
+ const CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST = 34;
+ /**
+ * Cannot set both destination url and final urls.
+ *
+ * Generated from protobuf enum CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS = 35;
+ */
+ const CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS = 35;
+ /**
+ * Cannot set both destination url and tracking url template.
+ *
+ * Generated from protobuf enum CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE = 36;
+ */
+ const CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE = 36;
+ /**
+ * Final urls are not supported for this criterion type.
+ *
+ * Generated from protobuf enum FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 37;
+ */
+ const FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 37;
+ /**
+ * Final mobile urls are not supported for this criterion type.
+ *
+ * Generated from protobuf enum FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 38;
+ */
+ const FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 38;
+ /**
+ * Ad group is invalid due to the listing groups it contains.
+ *
+ * Generated from protobuf enum INVALID_LISTING_GROUP_HIERARCHY = 39;
+ */
+ const INVALID_LISTING_GROUP_HIERARCHY = 39;
+ /**
+ * Listing group unit cannot have children.
+ *
+ * Generated from protobuf enum LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN = 40;
+ */
+ const LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN = 40;
+ /**
+ * Subdivided listing groups must have an "others" case.
+ *
+ * Generated from protobuf enum LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE = 41;
+ */
+ const LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE = 41;
+ /**
+ * Dimension type of listing group must be the same as that of its siblings.
+ *
+ * Generated from protobuf enum LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS = 42;
+ */
+ const LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS = 42;
+ /**
+ * Listing group cannot be added to the ad group because it already exists.
+ *
+ * Generated from protobuf enum LISTING_GROUP_ALREADY_EXISTS = 43;
+ */
+ const LISTING_GROUP_ALREADY_EXISTS = 43;
+ /**
+ * Listing group referenced in the operation was not found in the ad group.
+ *
+ * Generated from protobuf enum LISTING_GROUP_DOES_NOT_EXIST = 44;
+ */
+ const LISTING_GROUP_DOES_NOT_EXIST = 44;
+ /**
+ * Recursive removal failed because listing group subdivision is being
+ * created or modified in this request.
+ *
+ * Generated from protobuf enum LISTING_GROUP_CANNOT_BE_REMOVED = 45;
+ */
+ const LISTING_GROUP_CANNOT_BE_REMOVED = 45;
+ /**
+ * Listing group type is not allowed for specified ad group criterion type.
+ *
+ * Generated from protobuf enum INVALID_LISTING_GROUP_TYPE = 46;
+ */
+ const INVALID_LISTING_GROUP_TYPE = 46;
+ /**
+ * Listing group in an ADD operation specifies a non temporary criterion id.
+ *
+ * Generated from protobuf enum LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID = 47;
+ */
+ const LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID = 47;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST => 'AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST',
+ self::AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS => 'AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS',
+ self::CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION => 'CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION',
+ self::TOO_MANY_OPERATIONS => 'TOO_MANY_OPERATIONS',
+ self::CANT_UPDATE_NEGATIVE => 'CANT_UPDATE_NEGATIVE',
+ self::CONCRETE_TYPE_REQUIRED => 'CONCRETE_TYPE_REQUIRED',
+ self::BID_INCOMPATIBLE_WITH_ADGROUP => 'BID_INCOMPATIBLE_WITH_ADGROUP',
+ self::CANNOT_TARGET_AND_EXCLUDE => 'CANNOT_TARGET_AND_EXCLUDE',
+ self::ILLEGAL_URL => 'ILLEGAL_URL',
+ self::INVALID_KEYWORD_TEXT => 'INVALID_KEYWORD_TEXT',
+ self::INVALID_DESTINATION_URL => 'INVALID_DESTINATION_URL',
+ self::MISSING_DESTINATION_URL_TAG => 'MISSING_DESTINATION_URL_TAG',
+ self::KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM => 'KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM',
+ self::INVALID_USER_STATUS => 'INVALID_USER_STATUS',
+ self::CANNOT_ADD_CRITERIA_TYPE => 'CANNOT_ADD_CRITERIA_TYPE',
+ self::CANNOT_EXCLUDE_CRITERIA_TYPE => 'CANNOT_EXCLUDE_CRITERIA_TYPE',
+ self::CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE => 'CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE',
+ self::OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS => 'OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS',
+ self::CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS => 'CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS',
+ self::CANNOT_SET_WITHOUT_FINAL_URLS => 'CANNOT_SET_WITHOUT_FINAL_URLS',
+ self::CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST => 'CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST',
+ self::CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST => 'CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST',
+ self::CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS => 'CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS',
+ self::CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST => 'CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST',
+ self::CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS => 'CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS',
+ self::CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE => 'CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE',
+ self::FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE => 'FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE',
+ self::FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE => 'FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE',
+ self::INVALID_LISTING_GROUP_HIERARCHY => 'INVALID_LISTING_GROUP_HIERARCHY',
+ self::LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN => 'LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN',
+ self::LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE => 'LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE',
+ self::LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS => 'LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS',
+ self::LISTING_GROUP_ALREADY_EXISTS => 'LISTING_GROUP_ALREADY_EXISTS',
+ self::LISTING_GROUP_DOES_NOT_EXIST => 'LISTING_GROUP_DOES_NOT_EXIST',
+ self::LISTING_GROUP_CANNOT_BE_REMOVED => 'LISTING_GROUP_CANNOT_BE_REMOVED',
+ self::INVALID_LISTING_GROUP_TYPE => 'INVALID_LISTING_GROUP_TYPE',
+ self::LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID => 'LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID',
+ ];
+
+ 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(AdGroupCriterionError::class, \Google\Ads\GoogleAds\V2\Errors\AdGroupCriterionErrorEnum_AdGroupCriterionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum_AdGroupCriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum_AdGroupCriterionError.php
new file mode 100644
index 000000000..47e6b95eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupCriterionErrorEnum_AdGroupCriterionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdGroupErrorEnum
+ */
+final class AdGroupErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdGroupError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum/AdGroupError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum/AdGroupError.php
new file mode 100644
index 000000000..c7609714b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum/AdGroupError.php
@@ -0,0 +1,144 @@
+google.ads.googleads.v2.errors.AdGroupErrorEnum.AdGroupError
+ */
+class AdGroupError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * AdGroup with the same name already exists for the campaign.
+ *
+ * Generated from protobuf enum DUPLICATE_ADGROUP_NAME = 2;
+ */
+ const DUPLICATE_ADGROUP_NAME = 2;
+ /**
+ * AdGroup name is not valid.
+ *
+ * Generated from protobuf enum INVALID_ADGROUP_NAME = 3;
+ */
+ const INVALID_ADGROUP_NAME = 3;
+ /**
+ * Advertiser is not allowed to target sites or set site bids that are not
+ * on the Google Search Network.
+ *
+ * Generated from protobuf enum ADVERTISER_NOT_ON_CONTENT_NETWORK = 5;
+ */
+ const ADVERTISER_NOT_ON_CONTENT_NETWORK = 5;
+ /**
+ * Bid amount is too big.
+ *
+ * Generated from protobuf enum BID_TOO_BIG = 6;
+ */
+ const BID_TOO_BIG = 6;
+ /**
+ * AdGroup bid does not match the campaign's bidding strategy.
+ *
+ * Generated from protobuf enum BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7;
+ */
+ const BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7;
+ /**
+ * AdGroup name is required for Add.
+ *
+ * Generated from protobuf enum MISSING_ADGROUP_NAME = 8;
+ */
+ const MISSING_ADGROUP_NAME = 8;
+ /**
+ * No link found between the ad group and the label.
+ *
+ * Generated from protobuf enum ADGROUP_LABEL_DOES_NOT_EXIST = 9;
+ */
+ const ADGROUP_LABEL_DOES_NOT_EXIST = 9;
+ /**
+ * The label has already been attached to the ad group.
+ *
+ * Generated from protobuf enum ADGROUP_LABEL_ALREADY_EXISTS = 10;
+ */
+ const ADGROUP_LABEL_ALREADY_EXISTS = 10;
+ /**
+ * The CriterionTypeGroup is not supported for the content bid dimension.
+ *
+ * Generated from protobuf enum INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11;
+ */
+ const INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11;
+ /**
+ * The ad group type is not compatible with the campaign channel type.
+ *
+ * Generated from protobuf enum AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12;
+ */
+ const AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12;
+ /**
+ * The ad group type is not supported in the country of sale of the
+ * campaign.
+ *
+ * Generated from protobuf enum ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13;
+ */
+ const ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13;
+ /**
+ * Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to
+ * campaigns that have DynamicSearchAdsSetting attached.
+ *
+ * Generated from protobuf enum CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14;
+ */
+ const CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DUPLICATE_ADGROUP_NAME => 'DUPLICATE_ADGROUP_NAME',
+ self::INVALID_ADGROUP_NAME => 'INVALID_ADGROUP_NAME',
+ self::ADVERTISER_NOT_ON_CONTENT_NETWORK => 'ADVERTISER_NOT_ON_CONTENT_NETWORK',
+ self::BID_TOO_BIG => 'BID_TOO_BIG',
+ self::BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH => 'BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH',
+ self::MISSING_ADGROUP_NAME => 'MISSING_ADGROUP_NAME',
+ self::ADGROUP_LABEL_DOES_NOT_EXIST => 'ADGROUP_LABEL_DOES_NOT_EXIST',
+ self::ADGROUP_LABEL_ALREADY_EXISTS => 'ADGROUP_LABEL_ALREADY_EXISTS',
+ self::INVALID_CONTENT_BID_CRITERION_TYPE_GROUP => 'INVALID_CONTENT_BID_CRITERION_TYPE_GROUP',
+ self::AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE => 'AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE',
+ self::ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY => 'ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY',
+ self::CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING => 'CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING',
+ ];
+
+ 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(AdGroupError::class, \Google\Ads\GoogleAds\V2\Errors\AdGroupErrorEnum_AdGroupError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum_AdGroupError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum_AdGroupError.php
new file mode 100644
index 000000000..9369abc8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupErrorEnum_AdGroupError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdGroupFeedErrorEnum
+ */
+final class AdGroupFeedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdGroupFeedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum/AdGroupFeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum/AdGroupFeedError.php
new file mode 100644
index 000000000..74cf71a70
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum/AdGroupFeedError.php
@@ -0,0 +1,108 @@
+google.ads.googleads.v2.errors.AdGroupFeedErrorEnum.AdGroupFeedError
+ */
+class AdGroupFeedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * An active feed already exists for this ad group and place holder type.
+ *
+ * Generated from protobuf enum FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+ */
+ const FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+ /**
+ * The specified feed is removed.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_FOR_REMOVED_FEED = 3;
+ */
+ const CANNOT_CREATE_FOR_REMOVED_FEED = 3;
+ /**
+ * The AdGroupFeed already exists. UPDATE operation should be used to modify
+ * the existing AdGroupFeed.
+ *
+ * Generated from protobuf enum ADGROUP_FEED_ALREADY_EXISTS = 4;
+ */
+ const ADGROUP_FEED_ALREADY_EXISTS = 4;
+ /**
+ * Cannot operate on removed AdGroupFeed.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5;
+ */
+ const CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5;
+ /**
+ * Invalid placeholder type.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_TYPE = 6;
+ */
+ const INVALID_PLACEHOLDER_TYPE = 6;
+ /**
+ * Feed mapping for this placeholder type does not exist.
+ *
+ * Generated from protobuf enum MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7;
+ */
+ const MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7;
+ /**
+ * Location AdGroupFeeds cannot be created unless there is a location
+ * CustomerFeed for the specified feed.
+ *
+ * Generated from protobuf enum NO_EXISTING_LOCATION_CUSTOMER_FEED = 8;
+ */
+ const NO_EXISTING_LOCATION_CUSTOMER_FEED = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE => 'FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE',
+ self::CANNOT_CREATE_FOR_REMOVED_FEED => 'CANNOT_CREATE_FOR_REMOVED_FEED',
+ self::ADGROUP_FEED_ALREADY_EXISTS => 'ADGROUP_FEED_ALREADY_EXISTS',
+ self::CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED => 'CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED',
+ self::INVALID_PLACEHOLDER_TYPE => 'INVALID_PLACEHOLDER_TYPE',
+ self::MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE => 'MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE',
+ self::NO_EXISTING_LOCATION_CUSTOMER_FEED => 'NO_EXISTING_LOCATION_CUSTOMER_FEED',
+ ];
+
+ 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(AdGroupFeedError::class, \Google\Ads\GoogleAds\V2\Errors\AdGroupFeedErrorEnum_AdGroupFeedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum_AdGroupFeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum_AdGroupFeedError.php
new file mode 100644
index 000000000..fddfd1c6f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdGroupFeedErrorEnum_AdGroupFeedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdParameterErrorEnum
+ */
+final class AdParameterErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdParameterError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum/AdParameterError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum/AdParameterError.php
new file mode 100644
index 000000000..dd48b284b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum/AdParameterError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.AdParameterErrorEnum.AdParameterError
+ */
+class AdParameterError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The ad group criterion must be a keyword criterion.
+ *
+ * Generated from protobuf enum AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2;
+ */
+ const AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2;
+ /**
+ * The insertion text is invalid.
+ *
+ * Generated from protobuf enum INVALID_INSERTION_TEXT_FORMAT = 3;
+ */
+ const INVALID_INSERTION_TEXT_FORMAT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_GROUP_CRITERION_MUST_BE_KEYWORD => 'AD_GROUP_CRITERION_MUST_BE_KEYWORD',
+ self::INVALID_INSERTION_TEXT_FORMAT => 'INVALID_INSERTION_TEXT_FORMAT',
+ ];
+
+ 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(AdParameterError::class, \Google\Ads\GoogleAds\V2\Errors\AdParameterErrorEnum_AdParameterError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum_AdParameterError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum_AdParameterError.php
new file mode 100644
index 000000000..816bab393
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdParameterErrorEnum_AdParameterError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdSharingErrorEnum
+ */
+final class AdSharingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdSharingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum/AdSharingError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum/AdSharingError.php
new file mode 100644
index 000000000..8de0ad36a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum/AdSharingError.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.errors.AdSharingErrorEnum.AdSharingError
+ */
+class AdSharingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Error resulting in attempting to add an Ad to an AdGroup that already
+ * contains the Ad.
+ *
+ * Generated from protobuf enum AD_GROUP_ALREADY_CONTAINS_AD = 2;
+ */
+ const AD_GROUP_ALREADY_CONTAINS_AD = 2;
+ /**
+ * Ad is not compatible with the AdGroup it is being shared with.
+ *
+ * Generated from protobuf enum INCOMPATIBLE_AD_UNDER_AD_GROUP = 3;
+ */
+ const INCOMPATIBLE_AD_UNDER_AD_GROUP = 3;
+ /**
+ * Cannot add AdGroupAd on inactive Ad.
+ *
+ * Generated from protobuf enum CANNOT_SHARE_INACTIVE_AD = 4;
+ */
+ const CANNOT_SHARE_INACTIVE_AD = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AD_GROUP_ALREADY_CONTAINS_AD => 'AD_GROUP_ALREADY_CONTAINS_AD',
+ self::INCOMPATIBLE_AD_UNDER_AD_GROUP => 'INCOMPATIBLE_AD_UNDER_AD_GROUP',
+ self::CANNOT_SHARE_INACTIVE_AD => 'CANNOT_SHARE_INACTIVE_AD',
+ ];
+
+ 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(AdSharingError::class, \Google\Ads\GoogleAds\V2\Errors\AdSharingErrorEnum_AdSharingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum_AdSharingError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum_AdSharingError.php
new file mode 100644
index 000000000..6ac040648
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdSharingErrorEnum_AdSharingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AdxErrorEnum
+ */
+final class AdxErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AdxError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum/AdxError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum/AdxError.php
new file mode 100644
index 000000000..ef53d77f0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum/AdxError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.AdxErrorEnum.AdxError
+ */
+class AdxError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Attempt to use non-AdX feature by AdX customer.
+ *
+ * Generated from protobuf enum UNSUPPORTED_FEATURE = 2;
+ */
+ const UNSUPPORTED_FEATURE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UNSUPPORTED_FEATURE => 'UNSUPPORTED_FEATURE',
+ ];
+
+ 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(AdxError::class, \Google\Ads\GoogleAds\V2\Errors\AdxErrorEnum_AdxError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum_AdxError.php b/src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum_AdxError.php
new file mode 100644
index 000000000..31de73a6f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AdxErrorEnum_AdxError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AssetErrorEnum
+ */
+final class AssetErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AssetError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum/AssetError.php b/src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum/AssetError.php
new file mode 100644
index 000000000..b36fef1b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum/AssetError.php
@@ -0,0 +1,94 @@
+google.ads.googleads.v2.errors.AssetErrorEnum.AssetError
+ */
+class AssetError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The customer is not whitelisted for this asset type.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2;
+ */
+ const CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2;
+ /**
+ * Assets are duplicated across operations.
+ *
+ * Generated from protobuf enum DUPLICATE_ASSET = 3;
+ */
+ const DUPLICATE_ASSET = 3;
+ /**
+ * The asset name is duplicated, either across operations or with an
+ * existing asset.
+ *
+ * Generated from protobuf enum DUPLICATE_ASSET_NAME = 4;
+ */
+ const DUPLICATE_ASSET_NAME = 4;
+ /**
+ * The Asset.asset_data oneof is empty.
+ *
+ * Generated from protobuf enum ASSET_DATA_IS_MISSING = 5;
+ */
+ const ASSET_DATA_IS_MISSING = 5;
+ /**
+ * The asset has a name which is different from an existing duplicate that
+ * represents the same content.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_ASSET_NAME = 6;
+ */
+ const CANNOT_MODIFY_ASSET_NAME = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE => 'CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE',
+ self::DUPLICATE_ASSET => 'DUPLICATE_ASSET',
+ self::DUPLICATE_ASSET_NAME => 'DUPLICATE_ASSET_NAME',
+ self::ASSET_DATA_IS_MISSING => 'ASSET_DATA_IS_MISSING',
+ self::CANNOT_MODIFY_ASSET_NAME => 'CANNOT_MODIFY_ASSET_NAME',
+ ];
+
+ 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(AssetError::class, \Google\Ads\GoogleAds\V2\Errors\AssetErrorEnum_AssetError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum_AssetError.php b/src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum_AssetError.php
new file mode 100644
index 000000000..ec481cad1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AssetErrorEnum_AssetError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AuthenticationErrorEnum
+ */
+final class AuthenticationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AuthenticationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum/AuthenticationError.php b/src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum/AuthenticationError.php
new file mode 100644
index 000000000..816674ee1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum/AuthenticationError.php
@@ -0,0 +1,188 @@
+google.ads.googleads.v2.errors.AuthenticationErrorEnum.AuthenticationError
+ */
+class AuthenticationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Authentication of the request failed.
+ *
+ * Generated from protobuf enum AUTHENTICATION_ERROR = 2;
+ */
+ const AUTHENTICATION_ERROR = 2;
+ /**
+ * Client Customer Id is not a number.
+ *
+ * Generated from protobuf enum CLIENT_CUSTOMER_ID_INVALID = 5;
+ */
+ const CLIENT_CUSTOMER_ID_INVALID = 5;
+ /**
+ * No customer found for the provided customer id.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_FOUND = 8;
+ */
+ const CUSTOMER_NOT_FOUND = 8;
+ /**
+ * Client's Google Account is deleted.
+ *
+ * Generated from protobuf enum GOOGLE_ACCOUNT_DELETED = 9;
+ */
+ const GOOGLE_ACCOUNT_DELETED = 9;
+ /**
+ * Google account login token in the cookie is invalid.
+ *
+ * Generated from protobuf enum GOOGLE_ACCOUNT_COOKIE_INVALID = 10;
+ */
+ const GOOGLE_ACCOUNT_COOKIE_INVALID = 10;
+ /**
+ * A problem occurred during Google account authentication.
+ *
+ * Generated from protobuf enum GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25;
+ */
+ const GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25;
+ /**
+ * The user in the google account login token does not match the UserId in
+ * the cookie.
+ *
+ * Generated from protobuf enum GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12;
+ */
+ const GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12;
+ /**
+ * Login cookie is required for authentication.
+ *
+ * Generated from protobuf enum LOGIN_COOKIE_REQUIRED = 13;
+ */
+ const LOGIN_COOKIE_REQUIRED = 13;
+ /**
+ * User in the cookie is not a valid Ads user.
+ *
+ * Generated from protobuf enum NOT_ADS_USER = 14;
+ */
+ const NOT_ADS_USER = 14;
+ /**
+ * Oauth token in the header is not valid.
+ *
+ * Generated from protobuf enum OAUTH_TOKEN_INVALID = 15;
+ */
+ const OAUTH_TOKEN_INVALID = 15;
+ /**
+ * Oauth token in the header has expired.
+ *
+ * Generated from protobuf enum OAUTH_TOKEN_EXPIRED = 16;
+ */
+ const OAUTH_TOKEN_EXPIRED = 16;
+ /**
+ * Oauth token in the header has been disabled.
+ *
+ * Generated from protobuf enum OAUTH_TOKEN_DISABLED = 17;
+ */
+ const OAUTH_TOKEN_DISABLED = 17;
+ /**
+ * Oauth token in the header has been revoked.
+ *
+ * Generated from protobuf enum OAUTH_TOKEN_REVOKED = 18;
+ */
+ const OAUTH_TOKEN_REVOKED = 18;
+ /**
+ * Oauth token HTTP header is malformed.
+ *
+ * Generated from protobuf enum OAUTH_TOKEN_HEADER_INVALID = 19;
+ */
+ const OAUTH_TOKEN_HEADER_INVALID = 19;
+ /**
+ * Login cookie is not valid.
+ *
+ * Generated from protobuf enum LOGIN_COOKIE_INVALID = 20;
+ */
+ const LOGIN_COOKIE_INVALID = 20;
+ /**
+ * User Id in the header is not a valid id.
+ *
+ * Generated from protobuf enum USER_ID_INVALID = 22;
+ */
+ const USER_ID_INVALID = 22;
+ /**
+ * An account administrator changed this account's authentication settings.
+ * To access this Google Ads account, enable 2-Step Verification in your
+ * Google account at https://www.google.com/landing/2step.
+ *
+ * Generated from protobuf enum TWO_STEP_VERIFICATION_NOT_ENROLLED = 23;
+ */
+ const TWO_STEP_VERIFICATION_NOT_ENROLLED = 23;
+ /**
+ * An account administrator changed this account's authentication settings.
+ * To access this Google Ads account, enable Advanced Protection in your
+ * Google account at https://landing.google.com/advancedprotection.
+ *
+ * Generated from protobuf enum ADVANCED_PROTECTION_NOT_ENROLLED = 24;
+ */
+ const ADVANCED_PROTECTION_NOT_ENROLLED = 24;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::AUTHENTICATION_ERROR => 'AUTHENTICATION_ERROR',
+ self::CLIENT_CUSTOMER_ID_INVALID => 'CLIENT_CUSTOMER_ID_INVALID',
+ self::CUSTOMER_NOT_FOUND => 'CUSTOMER_NOT_FOUND',
+ self::GOOGLE_ACCOUNT_DELETED => 'GOOGLE_ACCOUNT_DELETED',
+ self::GOOGLE_ACCOUNT_COOKIE_INVALID => 'GOOGLE_ACCOUNT_COOKIE_INVALID',
+ self::GOOGLE_ACCOUNT_AUTHENTICATION_FAILED => 'GOOGLE_ACCOUNT_AUTHENTICATION_FAILED',
+ self::GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH => 'GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH',
+ self::LOGIN_COOKIE_REQUIRED => 'LOGIN_COOKIE_REQUIRED',
+ self::NOT_ADS_USER => 'NOT_ADS_USER',
+ self::OAUTH_TOKEN_INVALID => 'OAUTH_TOKEN_INVALID',
+ self::OAUTH_TOKEN_EXPIRED => 'OAUTH_TOKEN_EXPIRED',
+ self::OAUTH_TOKEN_DISABLED => 'OAUTH_TOKEN_DISABLED',
+ self::OAUTH_TOKEN_REVOKED => 'OAUTH_TOKEN_REVOKED',
+ self::OAUTH_TOKEN_HEADER_INVALID => 'OAUTH_TOKEN_HEADER_INVALID',
+ self::LOGIN_COOKIE_INVALID => 'LOGIN_COOKIE_INVALID',
+ self::USER_ID_INVALID => 'USER_ID_INVALID',
+ self::TWO_STEP_VERIFICATION_NOT_ENROLLED => 'TWO_STEP_VERIFICATION_NOT_ENROLLED',
+ self::ADVANCED_PROTECTION_NOT_ENROLLED => 'ADVANCED_PROTECTION_NOT_ENROLLED',
+ ];
+
+ 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(AuthenticationError::class, \Google\Ads\GoogleAds\V2\Errors\AuthenticationErrorEnum_AuthenticationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum_AuthenticationError.php b/src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum_AuthenticationError.php
new file mode 100644
index 000000000..6fc7071d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AuthenticationErrorEnum_AuthenticationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.AuthorizationErrorEnum
+ */
+final class AuthorizationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\AuthorizationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum/AuthorizationError.php b/src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum/AuthorizationError.php
new file mode 100644
index 000000000..9b05dffb7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum/AuthorizationError.php
@@ -0,0 +1,134 @@
+google.ads.googleads.v2.errors.AuthorizationErrorEnum.AuthorizationError
+ */
+class AuthorizationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * User doesn't have permission to access customer. Note: If you're
+ * accessing a client customer, the manager's customer ID must be set in the
+ * `login-customer-id` header. Learn more at
+ * https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid
+ *
+ * Generated from protobuf enum USER_PERMISSION_DENIED = 2;
+ */
+ const USER_PERMISSION_DENIED = 2;
+ /**
+ * The developer token is not whitelisted.
+ *
+ * Generated from protobuf enum DEVELOPER_TOKEN_NOT_WHITELISTED = 3;
+ */
+ const DEVELOPER_TOKEN_NOT_WHITELISTED = 3;
+ /**
+ * The developer token is not allowed with the project sent in the request.
+ *
+ * Generated from protobuf enum DEVELOPER_TOKEN_PROHIBITED = 4;
+ */
+ const DEVELOPER_TOKEN_PROHIBITED = 4;
+ /**
+ * The Google Cloud project sent in the request does not have permission to
+ * access the api.
+ *
+ * Generated from protobuf enum PROJECT_DISABLED = 5;
+ */
+ const PROJECT_DISABLED = 5;
+ /**
+ * Authorization of the client failed.
+ *
+ * Generated from protobuf enum AUTHORIZATION_ERROR = 6;
+ */
+ const AUTHORIZATION_ERROR = 6;
+ /**
+ * The user does not have permission to perform this action
+ * (e.g., ADD, UPDATE, REMOVE) on the resource or call a method.
+ *
+ * Generated from protobuf enum ACTION_NOT_PERMITTED = 7;
+ */
+ const ACTION_NOT_PERMITTED = 7;
+ /**
+ * Signup not complete.
+ *
+ * Generated from protobuf enum INCOMPLETE_SIGNUP = 8;
+ */
+ const INCOMPLETE_SIGNUP = 8;
+ /**
+ * The customer can't be used because it isn't enabled.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_ENABLED = 24;
+ */
+ const CUSTOMER_NOT_ENABLED = 24;
+ /**
+ * The developer must sign the terms of service. They can be found here:
+ * ads.google.com/aw/apicenter
+ *
+ * Generated from protobuf enum MISSING_TOS = 9;
+ */
+ const MISSING_TOS = 9;
+ /**
+ * The developer token is not approved. Non-approved developer tokens can
+ * only be used with test accounts.
+ *
+ * Generated from protobuf enum DEVELOPER_TOKEN_NOT_APPROVED = 10;
+ */
+ const DEVELOPER_TOKEN_NOT_APPROVED = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::USER_PERMISSION_DENIED => 'USER_PERMISSION_DENIED',
+ self::DEVELOPER_TOKEN_NOT_WHITELISTED => 'DEVELOPER_TOKEN_NOT_WHITELISTED',
+ self::DEVELOPER_TOKEN_PROHIBITED => 'DEVELOPER_TOKEN_PROHIBITED',
+ self::PROJECT_DISABLED => 'PROJECT_DISABLED',
+ self::AUTHORIZATION_ERROR => 'AUTHORIZATION_ERROR',
+ self::ACTION_NOT_PERMITTED => 'ACTION_NOT_PERMITTED',
+ self::INCOMPLETE_SIGNUP => 'INCOMPLETE_SIGNUP',
+ self::CUSTOMER_NOT_ENABLED => 'CUSTOMER_NOT_ENABLED',
+ self::MISSING_TOS => 'MISSING_TOS',
+ self::DEVELOPER_TOKEN_NOT_APPROVED => 'DEVELOPER_TOKEN_NOT_APPROVED',
+ ];
+
+ 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(AuthorizationError::class, \Google\Ads\GoogleAds\V2\Errors\AuthorizationErrorEnum_AuthorizationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum_AuthorizationError.php b/src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum_AuthorizationError.php
new file mode 100644
index 000000000..12e41257d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/AuthorizationErrorEnum_AuthorizationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.BiddingErrorEnum
+ */
+final class BiddingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\BiddingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum/BiddingError.php b/src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum/BiddingError.php
new file mode 100644
index 000000000..d2e9aaf80
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum/BiddingError.php
@@ -0,0 +1,223 @@
+google.ads.googleads.v2.errors.BiddingErrorEnum.BiddingError
+ */
+class BiddingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Cannot transition to new bidding strategy.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2;
+ */
+ const BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2;
+ /**
+ * Cannot attach bidding strategy to campaign.
+ *
+ * Generated from protobuf enum CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7;
+ */
+ const CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7;
+ /**
+ * Bidding strategy is not supported or cannot be used as anonymous.
+ *
+ * Generated from protobuf enum INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10;
+ */
+ const INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10;
+ /**
+ * The type does not match the named strategy's type.
+ *
+ * Generated from protobuf enum INVALID_BIDDING_STRATEGY_TYPE = 14;
+ */
+ const INVALID_BIDDING_STRATEGY_TYPE = 14;
+ /**
+ * The bid is invalid.
+ *
+ * Generated from protobuf enum INVALID_BID = 17;
+ */
+ const INVALID_BID = 17;
+ /**
+ * Bidding strategy is not available for the account type.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18;
+ */
+ const BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18;
+ /**
+ * Conversion tracking is not enabled for the campaign for VBB transition.
+ *
+ * Generated from protobuf enum CONVERSION_TRACKING_NOT_ENABLED = 19;
+ */
+ const CONVERSION_TRACKING_NOT_ENABLED = 19;
+ /**
+ * Not enough conversions tracked for VBB transitions.
+ *
+ * Generated from protobuf enum NOT_ENOUGH_CONVERSIONS = 20;
+ */
+ const NOT_ENOUGH_CONVERSIONS = 20;
+ /**
+ * Campaign can not be created with given bidding strategy. It can be
+ * transitioned to the strategy, once eligible.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY = 21;
+ */
+ const CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY = 21;
+ /**
+ * Cannot target content network only as campaign uses Page One Promoted
+ * bidding strategy.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY = 23;
+ */
+ const CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY = 23;
+ /**
+ * Budget Optimizer and Target Spend bidding strategies are not supported
+ * for campaigns with AdSchedule targeting.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE = 24;
+ */
+ const BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE = 24;
+ /**
+ * Pay per conversion is not available to all the customer, only few
+ * whitelisted customers can use this.
+ *
+ * Generated from protobuf enum PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25;
+ */
+ const PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25;
+ /**
+ * Pay per conversion is not allowed with Target CPA.
+ *
+ * Generated from protobuf enum PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA = 26;
+ */
+ const PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA = 26;
+ /**
+ * Cannot set bidding strategy to Manual CPM for search network only
+ * campaigns.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS = 27;
+ */
+ const BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS = 27;
+ /**
+ * The bidding strategy is not supported for use in drafts or experiments.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS = 28;
+ */
+ const BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS = 28;
+ /**
+ * Bidding strategy type does not support product type ad group criterion.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION = 29;
+ */
+ const BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION = 29;
+ /**
+ * Bid amount is too small.
+ *
+ * Generated from protobuf enum BID_TOO_SMALL = 30;
+ */
+ const BID_TOO_SMALL = 30;
+ /**
+ * Bid amount is too big.
+ *
+ * Generated from protobuf enum BID_TOO_BIG = 31;
+ */
+ const BID_TOO_BIG = 31;
+ /**
+ * Bid has too many fractional digit precision.
+ *
+ * Generated from protobuf enum BID_TOO_MANY_FRACTIONAL_DIGITS = 32;
+ */
+ const BID_TOO_MANY_FRACTIONAL_DIGITS = 32;
+ /**
+ * Invalid domain name specified.
+ *
+ * Generated from protobuf enum INVALID_DOMAIN_NAME = 33;
+ */
+ const INVALID_DOMAIN_NAME = 33;
+ /**
+ * The field is not compatible with the payment mode.
+ *
+ * Generated from protobuf enum NOT_COMPATIBLE_WITH_PAYMENT_MODE = 34;
+ */
+ const NOT_COMPATIBLE_WITH_PAYMENT_MODE = 34;
+ /**
+ * The field is not compatible with the budget type.
+ *
+ * Generated from protobuf enum NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35;
+ */
+ const NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35;
+ /**
+ * The field is not compatible with the bidding strategy type.
+ *
+ * Generated from protobuf enum NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36;
+ */
+ const NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED => 'BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED',
+ self::CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN => 'CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN',
+ self::INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE => 'INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE',
+ self::INVALID_BIDDING_STRATEGY_TYPE => 'INVALID_BIDDING_STRATEGY_TYPE',
+ self::INVALID_BID => 'INVALID_BID',
+ self::BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE => 'BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE',
+ self::CONVERSION_TRACKING_NOT_ENABLED => 'CONVERSION_TRACKING_NOT_ENABLED',
+ self::NOT_ENOUGH_CONVERSIONS => 'NOT_ENOUGH_CONVERSIONS',
+ self::CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY => 'CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY',
+ self::CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY => 'CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY',
+ self::BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE => 'BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE',
+ self::PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER => 'PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER',
+ self::PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA => 'PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA',
+ self::BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS => 'BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS',
+ self::BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS => 'BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS',
+ self::BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION => 'BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION',
+ self::BID_TOO_SMALL => 'BID_TOO_SMALL',
+ self::BID_TOO_BIG => 'BID_TOO_BIG',
+ self::BID_TOO_MANY_FRACTIONAL_DIGITS => 'BID_TOO_MANY_FRACTIONAL_DIGITS',
+ self::INVALID_DOMAIN_NAME => 'INVALID_DOMAIN_NAME',
+ self::NOT_COMPATIBLE_WITH_PAYMENT_MODE => 'NOT_COMPATIBLE_WITH_PAYMENT_MODE',
+ self::NOT_COMPATIBLE_WITH_BUDGET_TYPE => 'NOT_COMPATIBLE_WITH_BUDGET_TYPE',
+ self::NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE => 'NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE',
+ ];
+
+ 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(BiddingError::class, \Google\Ads\GoogleAds\V2\Errors\BiddingErrorEnum_BiddingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum_BiddingError.php b/src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum_BiddingError.php
new file mode 100644
index 000000000..5f034fcb1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/BiddingErrorEnum_BiddingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.BiddingStrategyErrorEnum
+ */
+final class BiddingStrategyErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\BiddingStrategyError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum/BiddingStrategyError.php b/src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum/BiddingStrategyError.php
new file mode 100644
index 000000000..66c71a38c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum/BiddingStrategyError.php
@@ -0,0 +1,94 @@
+google.ads.googleads.v2.errors.BiddingStrategyErrorEnum.BiddingStrategyError
+ */
+class BiddingStrategyError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Each bidding strategy must have a unique name.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 2;
+ */
+ const DUPLICATE_NAME = 2;
+ /**
+ * Bidding strategy type is immutable.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3;
+ */
+ const CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3;
+ /**
+ * Only bidding strategies not linked to campaigns, adgroups or adgroup
+ * criteria can be removed.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4;
+ */
+ const CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4;
+ /**
+ * The specified bidding strategy is not supported.
+ *
+ * Generated from protobuf enum BIDDING_STRATEGY_NOT_SUPPORTED = 5;
+ */
+ const BIDDING_STRATEGY_NOT_SUPPORTED = 5;
+ /**
+ * The bidding strategy is incompatible with the campaign's bidding
+ * strategy goal type.
+ *
+ * Generated from protobuf enum INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6;
+ */
+ const INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::CANNOT_CHANGE_BIDDING_STRATEGY_TYPE => 'CANNOT_CHANGE_BIDDING_STRATEGY_TYPE',
+ self::CANNOT_REMOVE_ASSOCIATED_STRATEGY => 'CANNOT_REMOVE_ASSOCIATED_STRATEGY',
+ self::BIDDING_STRATEGY_NOT_SUPPORTED => 'BIDDING_STRATEGY_NOT_SUPPORTED',
+ self::INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE => 'INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE',
+ ];
+
+ 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(BiddingStrategyError::class, \Google\Ads\GoogleAds\V2\Errors\BiddingStrategyErrorEnum_BiddingStrategyError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum_BiddingStrategyError.php b/src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum_BiddingStrategyError.php
new file mode 100644
index 000000000..3ba0c6e50
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/BiddingStrategyErrorEnum_BiddingStrategyError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.BillingSetupErrorEnum
+ */
+final class BillingSetupErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\BillingSetupError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum/BillingSetupError.php b/src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum/BillingSetupError.php
new file mode 100644
index 000000000..cfc07dd60
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum/BillingSetupError.php
@@ -0,0 +1,174 @@
+google.ads.googleads.v2.errors.BillingSetupErrorEnum.BillingSetupError
+ */
+class BillingSetupError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Cannot use both an existing Payments account and a new Payments account
+ * when setting up billing.
+ *
+ * Generated from protobuf enum CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2;
+ */
+ const CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2;
+ /**
+ * Cannot cancel an APPROVED billing setup whose start time has passed.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_STARTED_BILLING_SETUP = 3;
+ */
+ const CANNOT_REMOVE_STARTED_BILLING_SETUP = 3;
+ /**
+ * Cannot perform a Change of Bill-To (CBT) to the same Payments account.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4;
+ */
+ const CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4;
+ /**
+ * Billing Setups can only be used by customers with ENABLED or DRAFT
+ * status.
+ *
+ * Generated from protobuf enum BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5;
+ */
+ const BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5;
+ /**
+ * Billing Setups must either include a correctly formatted existing
+ * Payments account id, or a non-empty new Payments account name.
+ *
+ * Generated from protobuf enum INVALID_PAYMENTS_ACCOUNT = 6;
+ */
+ const INVALID_PAYMENTS_ACCOUNT = 6;
+ /**
+ * Only billable and third-party customers can create billing setups.
+ *
+ * Generated from protobuf enum BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7;
+ */
+ const BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7;
+ /**
+ * Billing Setup creations can only use NOW for start time type.
+ *
+ * Generated from protobuf enum INVALID_START_TIME_TYPE = 8;
+ */
+ const INVALID_START_TIME_TYPE = 8;
+ /**
+ * Billing Setups can only be created for a third-party customer if they do
+ * not already have a setup.
+ *
+ * Generated from protobuf enum THIRD_PARTY_ALREADY_HAS_BILLING = 9;
+ */
+ const THIRD_PARTY_ALREADY_HAS_BILLING = 9;
+ /**
+ * Billing Setups cannot be created if there is already a pending billing in
+ * progress, ie. a billing known to Payments.
+ *
+ * Generated from protobuf enum BILLING_SETUP_IN_PROGRESS = 10;
+ */
+ const BILLING_SETUP_IN_PROGRESS = 10;
+ /**
+ * Billing Setups can only be created by customers who have permission to
+ * setup billings. Users can contact a representative for help setting up
+ * permissions.
+ *
+ * Generated from protobuf enum NO_SIGNUP_PERMISSION = 11;
+ */
+ const NO_SIGNUP_PERMISSION = 11;
+ /**
+ * Billing Setups cannot be created if there is already a future-approved
+ * billing.
+ *
+ * Generated from protobuf enum CHANGE_OF_BILL_TO_IN_PROGRESS = 12;
+ */
+ const CHANGE_OF_BILL_TO_IN_PROGRESS = 12;
+ /**
+ * Billing Setup creation failed because Payments could not find the
+ * requested Payments profile.
+ *
+ * Generated from protobuf enum PAYMENTS_PROFILE_NOT_FOUND = 13;
+ */
+ const PAYMENTS_PROFILE_NOT_FOUND = 13;
+ /**
+ * Billing Setup creation failed because Payments could not find the
+ * requested Payments account.
+ *
+ * Generated from protobuf enum PAYMENTS_ACCOUNT_NOT_FOUND = 14;
+ */
+ const PAYMENTS_ACCOUNT_NOT_FOUND = 14;
+ /**
+ * Billing Setup creation failed because Payments considers requested
+ * Payments profile ineligible.
+ *
+ * Generated from protobuf enum PAYMENTS_PROFILE_INELIGIBLE = 15;
+ */
+ const PAYMENTS_PROFILE_INELIGIBLE = 15;
+ /**
+ * Billing Setup creation failed because Payments considers requested
+ * Payments account ineligible.
+ *
+ * Generated from protobuf enum PAYMENTS_ACCOUNT_INELIGIBLE = 16;
+ */
+ const PAYMENTS_ACCOUNT_INELIGIBLE = 16;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_USE_EXISTING_AND_NEW_ACCOUNT => 'CANNOT_USE_EXISTING_AND_NEW_ACCOUNT',
+ self::CANNOT_REMOVE_STARTED_BILLING_SETUP => 'CANNOT_REMOVE_STARTED_BILLING_SETUP',
+ self::CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT => 'CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT',
+ self::BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS => 'BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS',
+ self::INVALID_PAYMENTS_ACCOUNT => 'INVALID_PAYMENTS_ACCOUNT',
+ self::BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY => 'BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY',
+ self::INVALID_START_TIME_TYPE => 'INVALID_START_TIME_TYPE',
+ self::THIRD_PARTY_ALREADY_HAS_BILLING => 'THIRD_PARTY_ALREADY_HAS_BILLING',
+ self::BILLING_SETUP_IN_PROGRESS => 'BILLING_SETUP_IN_PROGRESS',
+ self::NO_SIGNUP_PERMISSION => 'NO_SIGNUP_PERMISSION',
+ self::CHANGE_OF_BILL_TO_IN_PROGRESS => 'CHANGE_OF_BILL_TO_IN_PROGRESS',
+ self::PAYMENTS_PROFILE_NOT_FOUND => 'PAYMENTS_PROFILE_NOT_FOUND',
+ self::PAYMENTS_ACCOUNT_NOT_FOUND => 'PAYMENTS_ACCOUNT_NOT_FOUND',
+ self::PAYMENTS_PROFILE_INELIGIBLE => 'PAYMENTS_PROFILE_INELIGIBLE',
+ self::PAYMENTS_ACCOUNT_INELIGIBLE => 'PAYMENTS_ACCOUNT_INELIGIBLE',
+ ];
+
+ 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(BillingSetupError::class, \Google\Ads\GoogleAds\V2\Errors\BillingSetupErrorEnum_BillingSetupError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum_BillingSetupError.php b/src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum_BillingSetupError.php
new file mode 100644
index 000000000..d8b3ff82d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/BillingSetupErrorEnum_BillingSetupError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignBudgetErrorEnum
+ */
+final class CampaignBudgetErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignBudgetError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum/CampaignBudgetError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum/CampaignBudgetError.php
new file mode 100644
index 000000000..1008348e9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum/CampaignBudgetError.php
@@ -0,0 +1,167 @@
+google.ads.googleads.v2.errors.CampaignBudgetErrorEnum.CampaignBudgetError
+ */
+class CampaignBudgetError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The campaign budget cannot be shared.
+ *
+ * Generated from protobuf enum CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17;
+ */
+ const CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17;
+ /**
+ * The requested campaign budget no longer exists.
+ *
+ * Generated from protobuf enum CAMPAIGN_BUDGET_REMOVED = 2;
+ */
+ const CAMPAIGN_BUDGET_REMOVED = 2;
+ /**
+ * The campaign budget is associated with at least one campaign, and so the
+ * campaign budget cannot be removed.
+ *
+ * Generated from protobuf enum CAMPAIGN_BUDGET_IN_USE = 3;
+ */
+ const CAMPAIGN_BUDGET_IN_USE = 3;
+ /**
+ * Customer is not whitelisted for this campaign budget period.
+ *
+ * Generated from protobuf enum CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4;
+ */
+ const CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4;
+ /**
+ * This field is not mutable on implicitly shared campaign budgets
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6;
+ */
+ const CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6;
+ /**
+ * Cannot change explicitly shared campaign budgets back to implicitly
+ * shared ones.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7;
+ */
+ const CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7;
+ /**
+ * An implicit campaign budget without a name cannot be changed to
+ * explicitly shared campaign budget.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8;
+ */
+ const CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8;
+ /**
+ * Cannot change an implicitly shared campaign budget to an explicitly
+ * shared one.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9;
+ */
+ const CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9;
+ /**
+ * Only explicitly shared campaign budgets can be used with multiple
+ * campaigns.
+ *
+ * Generated from protobuf enum CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10;
+ */
+ const CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10;
+ /**
+ * A campaign budget with this name already exists.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 11;
+ */
+ const DUPLICATE_NAME = 11;
+ /**
+ * A money amount was not in the expected currency.
+ *
+ * Generated from protobuf enum MONEY_AMOUNT_IN_WRONG_CURRENCY = 12;
+ */
+ const MONEY_AMOUNT_IN_WRONG_CURRENCY = 12;
+ /**
+ * A money amount was less than the minimum CPC for currency.
+ *
+ * Generated from protobuf enum MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13;
+ */
+ const MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13;
+ /**
+ * A money amount was greater than the maximum allowed.
+ *
+ * Generated from protobuf enum MONEY_AMOUNT_TOO_LARGE = 14;
+ */
+ const MONEY_AMOUNT_TOO_LARGE = 14;
+ /**
+ * A money amount was negative.
+ *
+ * Generated from protobuf enum NEGATIVE_MONEY_AMOUNT = 15;
+ */
+ const NEGATIVE_MONEY_AMOUNT = 15;
+ /**
+ * A money amount was not a multiple of a minimum unit.
+ *
+ * Generated from protobuf enum NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16;
+ */
+ const NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CAMPAIGN_BUDGET_CANNOT_BE_SHARED => 'CAMPAIGN_BUDGET_CANNOT_BE_SHARED',
+ self::CAMPAIGN_BUDGET_REMOVED => 'CAMPAIGN_BUDGET_REMOVED',
+ self::CAMPAIGN_BUDGET_IN_USE => 'CAMPAIGN_BUDGET_IN_USE',
+ self::CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE => 'CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE',
+ self::CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET => 'CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET',
+ self::CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED => 'CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED',
+ self::CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME => 'CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME',
+ self::CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED => 'CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED',
+ self::CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS => 'CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::MONEY_AMOUNT_IN_WRONG_CURRENCY => 'MONEY_AMOUNT_IN_WRONG_CURRENCY',
+ self::MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC => 'MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC',
+ self::MONEY_AMOUNT_TOO_LARGE => 'MONEY_AMOUNT_TOO_LARGE',
+ self::NEGATIVE_MONEY_AMOUNT => 'NEGATIVE_MONEY_AMOUNT',
+ self::NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT => 'NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT',
+ ];
+
+ 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(CampaignBudgetError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignBudgetErrorEnum_CampaignBudgetError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum_CampaignBudgetError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum_CampaignBudgetError.php
new file mode 100644
index 000000000..cc43ede2d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignBudgetErrorEnum_CampaignBudgetError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignCriterionErrorEnum
+ */
+final class CampaignCriterionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignCriterionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum/CampaignCriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum/CampaignCriterionError.php
new file mode 100644
index 000000000..b0fb45feb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum/CampaignCriterionError.php
@@ -0,0 +1,138 @@
+google.ads.googleads.v2.errors.CampaignCriterionErrorEnum.CampaignCriterionError
+ */
+class CampaignCriterionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Concrete type of criterion (keyword v.s. placement) is required for
+ * CREATE and UPDATE operations.
+ *
+ * Generated from protobuf enum CONCRETE_TYPE_REQUIRED = 2;
+ */
+ const CONCRETE_TYPE_REQUIRED = 2;
+ /**
+ * Invalid placement URL.
+ *
+ * Generated from protobuf enum INVALID_PLACEMENT_URL = 3;
+ */
+ const INVALID_PLACEMENT_URL = 3;
+ /**
+ * Criteria type can not be excluded for the campaign by the customer. like
+ * AOL account type cannot target site type criteria
+ *
+ * Generated from protobuf enum CANNOT_EXCLUDE_CRITERIA_TYPE = 4;
+ */
+ const CANNOT_EXCLUDE_CRITERIA_TYPE = 4;
+ /**
+ * Cannot set the campaign criterion status for this criteria type.
+ *
+ * Generated from protobuf enum CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5;
+ */
+ const CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5;
+ /**
+ * Cannot set the campaign criterion status for an excluded criteria.
+ *
+ * Generated from protobuf enum CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6;
+ */
+ const CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6;
+ /**
+ * Cannot target and exclude the same criterion.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_AND_EXCLUDE = 7;
+ */
+ const CANNOT_TARGET_AND_EXCLUDE = 7;
+ /**
+ * The mutate contained too many operations.
+ *
+ * Generated from protobuf enum TOO_MANY_OPERATIONS = 8;
+ */
+ const TOO_MANY_OPERATIONS = 8;
+ /**
+ * This operator cannot be applied to a criterion of this type.
+ *
+ * Generated from protobuf enum OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9;
+ */
+ const OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9;
+ /**
+ * The Shopping campaign sales country is not supported for
+ * ProductSalesChannel targeting.
+ *
+ * Generated from protobuf enum SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10;
+ */
+ const SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10;
+ /**
+ * The existing field can't be updated with CREATE operation. It can be
+ * updated with UPDATE operation only.
+ *
+ * Generated from protobuf enum CANNOT_ADD_EXISTING_FIELD = 11;
+ */
+ const CANNOT_ADD_EXISTING_FIELD = 11;
+ /**
+ * Negative criteria are immutable, so updates are not allowed.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_NEGATIVE_CRITERION = 12;
+ */
+ const CANNOT_UPDATE_NEGATIVE_CRITERION = 12;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CONCRETE_TYPE_REQUIRED => 'CONCRETE_TYPE_REQUIRED',
+ self::INVALID_PLACEMENT_URL => 'INVALID_PLACEMENT_URL',
+ self::CANNOT_EXCLUDE_CRITERIA_TYPE => 'CANNOT_EXCLUDE_CRITERIA_TYPE',
+ self::CANNOT_SET_STATUS_FOR_CRITERIA_TYPE => 'CANNOT_SET_STATUS_FOR_CRITERIA_TYPE',
+ self::CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA => 'CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA',
+ self::CANNOT_TARGET_AND_EXCLUDE => 'CANNOT_TARGET_AND_EXCLUDE',
+ self::TOO_MANY_OPERATIONS => 'TOO_MANY_OPERATIONS',
+ self::OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE => 'OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE',
+ self::SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL => 'SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL',
+ self::CANNOT_ADD_EXISTING_FIELD => 'CANNOT_ADD_EXISTING_FIELD',
+ self::CANNOT_UPDATE_NEGATIVE_CRITERION => 'CANNOT_UPDATE_NEGATIVE_CRITERION',
+ ];
+
+ 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(CampaignCriterionError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignCriterionErrorEnum_CampaignCriterionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum_CampaignCriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum_CampaignCriterionError.php
new file mode 100644
index 000000000..1c1d2344d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignCriterionErrorEnum_CampaignCriterionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignDraftErrorEnum
+ */
+final class CampaignDraftErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignDraftError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum/CampaignDraftError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum/CampaignDraftError.php
new file mode 100644
index 000000000..bfd992b61
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum/CampaignDraftError.php
@@ -0,0 +1,132 @@
+google.ads.googleads.v2.errors.CampaignDraftErrorEnum.CampaignDraftError
+ */
+class CampaignDraftError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A draft with this name already exists for this campaign.
+ *
+ * Generated from protobuf enum DUPLICATE_DRAFT_NAME = 2;
+ */
+ const DUPLICATE_DRAFT_NAME = 2;
+ /**
+ * The draft is removed and cannot be transitioned to another status.
+ *
+ * Generated from protobuf enum INVALID_STATUS_TRANSITION_FROM_REMOVED = 3;
+ */
+ const INVALID_STATUS_TRANSITION_FROM_REMOVED = 3;
+ /**
+ * The draft has been promoted and cannot be transitioned to the specified
+ * status.
+ *
+ * Generated from protobuf enum INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4;
+ */
+ const INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4;
+ /**
+ * The draft has failed to be promoted and cannot be transitioned to the
+ * specified status.
+ *
+ * Generated from protobuf enum INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5;
+ */
+ const INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5;
+ /**
+ * This customer is not allowed to create drafts.
+ *
+ * Generated from protobuf enum CUSTOMER_CANNOT_CREATE_DRAFT = 6;
+ */
+ const CUSTOMER_CANNOT_CREATE_DRAFT = 6;
+ /**
+ * This campaign is not allowed to create drafts.
+ *
+ * Generated from protobuf enum CAMPAIGN_CANNOT_CREATE_DRAFT = 7;
+ */
+ const CAMPAIGN_CANNOT_CREATE_DRAFT = 7;
+ /**
+ * This modification cannot be made on a draft.
+ *
+ * Generated from protobuf enum INVALID_DRAFT_CHANGE = 8;
+ */
+ const INVALID_DRAFT_CHANGE = 8;
+ /**
+ * The draft cannot be transitioned to the specified status from its
+ * current status.
+ *
+ * Generated from protobuf enum INVALID_STATUS_TRANSITION = 9;
+ */
+ const INVALID_STATUS_TRANSITION = 9;
+ /**
+ * The campaign has reached the maximum number of drafts that can be created
+ * for a campaign throughout its lifetime. No additional drafts can be
+ * created for this campaign. Removed drafts also count towards this limit.
+ *
+ * Generated from protobuf enum MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10;
+ */
+ const MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10;
+ /**
+ * ListAsyncErrors was called without first promoting the draft.
+ *
+ * Generated from protobuf enum LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11;
+ */
+ const LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DUPLICATE_DRAFT_NAME => 'DUPLICATE_DRAFT_NAME',
+ self::INVALID_STATUS_TRANSITION_FROM_REMOVED => 'INVALID_STATUS_TRANSITION_FROM_REMOVED',
+ self::INVALID_STATUS_TRANSITION_FROM_PROMOTED => 'INVALID_STATUS_TRANSITION_FROM_PROMOTED',
+ self::INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED => 'INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED',
+ self::CUSTOMER_CANNOT_CREATE_DRAFT => 'CUSTOMER_CANNOT_CREATE_DRAFT',
+ self::CAMPAIGN_CANNOT_CREATE_DRAFT => 'CAMPAIGN_CANNOT_CREATE_DRAFT',
+ self::INVALID_DRAFT_CHANGE => 'INVALID_DRAFT_CHANGE',
+ self::INVALID_STATUS_TRANSITION => 'INVALID_STATUS_TRANSITION',
+ self::MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED => 'MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED',
+ self::LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY => 'LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY',
+ ];
+
+ 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(CampaignDraftError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignDraftErrorEnum_CampaignDraftError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum_CampaignDraftError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum_CampaignDraftError.php
new file mode 100644
index 000000000..150a25b2f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignDraftErrorEnum_CampaignDraftError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignErrorEnum
+ */
+final class CampaignErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum/CampaignError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum/CampaignError.php
new file mode 100644
index 000000000..1262a4e51
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum/CampaignError.php
@@ -0,0 +1,352 @@
+google.ads.googleads.v2.errors.CampaignErrorEnum.CampaignError
+ */
+class CampaignError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Cannot target content network.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_CONTENT_NETWORK = 3;
+ */
+ const CANNOT_TARGET_CONTENT_NETWORK = 3;
+ /**
+ * Cannot target search network.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_SEARCH_NETWORK = 4;
+ */
+ const CANNOT_TARGET_SEARCH_NETWORK = 4;
+ /**
+ * Cannot cover search network without google search network.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5;
+ */
+ const CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5;
+ /**
+ * Cannot target Google Search network for a CPM campaign.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6;
+ */
+ const CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6;
+ /**
+ * Must target at least one network.
+ *
+ * Generated from protobuf enum CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7;
+ */
+ const CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7;
+ /**
+ * Only some Google partners are allowed to target partner search network.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8;
+ */
+ const CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8;
+ /**
+ * Cannot target content network only as campaign has criteria-level bidding
+ * strategy.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9;
+ */
+ const CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9;
+ /**
+ * Cannot modify the start or end date such that the campaign duration would
+ * not contain the durations of all runnable trials.
+ *
+ * Generated from protobuf enum CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10;
+ */
+ const CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10;
+ /**
+ * Cannot modify dates, budget or campaign name of a trial campaign.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11;
+ */
+ const CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11;
+ /**
+ * Trying to modify the name of an active or paused campaign, where the name
+ * is already assigned to another active or paused campaign.
+ *
+ * Generated from protobuf enum DUPLICATE_CAMPAIGN_NAME = 12;
+ */
+ const DUPLICATE_CAMPAIGN_NAME = 12;
+ /**
+ * Two fields are in conflicting modes.
+ *
+ * Generated from protobuf enum INCOMPATIBLE_CAMPAIGN_FIELD = 13;
+ */
+ const INCOMPATIBLE_CAMPAIGN_FIELD = 13;
+ /**
+ * Campaign name cannot be used.
+ *
+ * Generated from protobuf enum INVALID_CAMPAIGN_NAME = 14;
+ */
+ const INVALID_CAMPAIGN_NAME = 14;
+ /**
+ * Given status is invalid.
+ *
+ * Generated from protobuf enum INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15;
+ */
+ const INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15;
+ /**
+ * Error in the campaign level tracking url.
+ *
+ * Generated from protobuf enum INVALID_TRACKING_URL = 16;
+ */
+ const INVALID_TRACKING_URL = 16;
+ /**
+ * Cannot set both tracking url template and tracking setting. An user has
+ * to clear legacy tracking setting in order to add tracking url template.
+ *
+ * Generated from protobuf enum CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17;
+ */
+ const CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17;
+ /**
+ * The maximum number of impressions for Frequency Cap should be an integer
+ * greater than 0.
+ *
+ * Generated from protobuf enum MAX_IMPRESSIONS_NOT_IN_RANGE = 18;
+ */
+ const MAX_IMPRESSIONS_NOT_IN_RANGE = 18;
+ /**
+ * Only the Day, Week and Month time units are supported.
+ *
+ * Generated from protobuf enum TIME_UNIT_NOT_SUPPORTED = 19;
+ */
+ const TIME_UNIT_NOT_SUPPORTED = 19;
+ /**
+ * Operation not allowed on a campaign whose serving status has ended
+ *
+ * Generated from protobuf enum INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20;
+ */
+ const INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20;
+ /**
+ * This budget is exclusively linked to a Campaign that is using experiments
+ * so it cannot be shared.
+ *
+ * Generated from protobuf enum BUDGET_CANNOT_BE_SHARED = 21;
+ */
+ const BUDGET_CANNOT_BE_SHARED = 21;
+ /**
+ * Campaigns using experiments cannot use a shared budget.
+ *
+ * Generated from protobuf enum CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22;
+ */
+ const CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22;
+ /**
+ * A different budget cannot be assigned to a campaign when there are
+ * running or scheduled trials.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23;
+ */
+ const CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23;
+ /**
+ * No link found between the campaign and the label.
+ *
+ * Generated from protobuf enum CAMPAIGN_LABEL_DOES_NOT_EXIST = 24;
+ */
+ const CAMPAIGN_LABEL_DOES_NOT_EXIST = 24;
+ /**
+ * The label has already been attached to the campaign.
+ *
+ * Generated from protobuf enum CAMPAIGN_LABEL_ALREADY_EXISTS = 25;
+ */
+ const CAMPAIGN_LABEL_ALREADY_EXISTS = 25;
+ /**
+ * A ShoppingSetting was not found when creating a shopping campaign.
+ *
+ * Generated from protobuf enum MISSING_SHOPPING_SETTING = 26;
+ */
+ const MISSING_SHOPPING_SETTING = 26;
+ /**
+ * The country in shopping setting is not an allowed country.
+ *
+ * Generated from protobuf enum INVALID_SHOPPING_SALES_COUNTRY = 27;
+ */
+ const INVALID_SHOPPING_SALES_COUNTRY = 27;
+ /**
+ * A Campaign with channel sub type UNIVERSAL_APP_CAMPAIGN must have a
+ * UniversalAppCampaignSetting specified.
+ *
+ * Generated from protobuf enum MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30;
+ */
+ const MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30;
+ /**
+ * The requested channel type is not available according to the customer's
+ * account setting.
+ *
+ * Generated from protobuf enum ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31;
+ */
+ const ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31;
+ /**
+ * The AdvertisingChannelSubType is not a valid subtype of the primary
+ * channel type.
+ *
+ * Generated from protobuf enum INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32;
+ */
+ const INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32;
+ /**
+ * At least one conversion must be selected.
+ *
+ * Generated from protobuf enum AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33;
+ */
+ const AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33;
+ /**
+ * Setting ad rotation mode for a campaign is not allowed. Ad rotation mode
+ * at campaign is deprecated.
+ *
+ * Generated from protobuf enum CANNOT_SET_AD_ROTATION_MODE = 34;
+ */
+ const CANNOT_SET_AD_ROTATION_MODE = 34;
+ /**
+ * Trying to change start date on a campaign that has started.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35;
+ */
+ const CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35;
+ /**
+ * Trying to modify a date into the past.
+ *
+ * Generated from protobuf enum CANNOT_SET_DATE_TO_PAST = 36;
+ */
+ const CANNOT_SET_DATE_TO_PAST = 36;
+ /**
+ * Hotel center id in the hotel setting does not match any customer links.
+ *
+ * Generated from protobuf enum MISSING_HOTEL_CUSTOMER_LINK = 37;
+ */
+ const MISSING_HOTEL_CUSTOMER_LINK = 37;
+ /**
+ * Hotel center id in the hotel setting must match an active customer link.
+ *
+ * Generated from protobuf enum INVALID_HOTEL_CUSTOMER_LINK = 38;
+ */
+ const INVALID_HOTEL_CUSTOMER_LINK = 38;
+ /**
+ * Hotel setting was not found when creating a hotel ads campaign.
+ *
+ * Generated from protobuf enum MISSING_HOTEL_SETTING = 39;
+ */
+ const MISSING_HOTEL_SETTING = 39;
+ /**
+ * A Campaign cannot use shared campaign budgets and be part of a campaign
+ * group.
+ *
+ * Generated from protobuf enum CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40;
+ */
+ const CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40;
+ /**
+ * The app ID was not found.
+ *
+ * Generated from protobuf enum APP_NOT_FOUND = 41;
+ */
+ const APP_NOT_FOUND = 41;
+ /**
+ * Campaign.shopping_setting.enable_local is not supported for the specified
+ * campaign type.
+ *
+ * Generated from protobuf enum SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 42;
+ */
+ const SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 42;
+ /**
+ * The merchant does not support the creation of campaigns for Shopping
+ * Comparison Listing Ads.
+ *
+ * Generated from protobuf enum MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS = 43;
+ */
+ const MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS = 43;
+ /**
+ * The App campaign for engagement cannot be created because there aren't
+ * enough installs.
+ *
+ * Generated from protobuf enum INSUFFICIENT_APP_INSTALLS_COUNT = 44;
+ */
+ const INSUFFICIENT_APP_INSTALLS_COUNT = 44;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_TARGET_CONTENT_NETWORK => 'CANNOT_TARGET_CONTENT_NETWORK',
+ self::CANNOT_TARGET_SEARCH_NETWORK => 'CANNOT_TARGET_SEARCH_NETWORK',
+ self::CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH => 'CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH',
+ self::CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN => 'CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN',
+ self::CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK => 'CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK',
+ self::CANNOT_TARGET_PARTNER_SEARCH_NETWORK => 'CANNOT_TARGET_PARTNER_SEARCH_NETWORK',
+ self::CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY => 'CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY',
+ self::CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS => 'CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS',
+ self::CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN => 'CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN',
+ self::DUPLICATE_CAMPAIGN_NAME => 'DUPLICATE_CAMPAIGN_NAME',
+ self::INCOMPATIBLE_CAMPAIGN_FIELD => 'INCOMPATIBLE_CAMPAIGN_FIELD',
+ self::INVALID_CAMPAIGN_NAME => 'INVALID_CAMPAIGN_NAME',
+ self::INVALID_AD_SERVING_OPTIMIZATION_STATUS => 'INVALID_AD_SERVING_OPTIMIZATION_STATUS',
+ self::INVALID_TRACKING_URL => 'INVALID_TRACKING_URL',
+ self::CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING => 'CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING',
+ self::MAX_IMPRESSIONS_NOT_IN_RANGE => 'MAX_IMPRESSIONS_NOT_IN_RANGE',
+ self::TIME_UNIT_NOT_SUPPORTED => 'TIME_UNIT_NOT_SUPPORTED',
+ self::INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED => 'INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED',
+ self::BUDGET_CANNOT_BE_SHARED => 'BUDGET_CANNOT_BE_SHARED',
+ self::CAMPAIGN_CANNOT_USE_SHARED_BUDGET => 'CAMPAIGN_CANNOT_USE_SHARED_BUDGET',
+ self::CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS => 'CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS',
+ self::CAMPAIGN_LABEL_DOES_NOT_EXIST => 'CAMPAIGN_LABEL_DOES_NOT_EXIST',
+ self::CAMPAIGN_LABEL_ALREADY_EXISTS => 'CAMPAIGN_LABEL_ALREADY_EXISTS',
+ self::MISSING_SHOPPING_SETTING => 'MISSING_SHOPPING_SETTING',
+ self::INVALID_SHOPPING_SALES_COUNTRY => 'INVALID_SHOPPING_SALES_COUNTRY',
+ self::MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING => 'MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING',
+ self::ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE => 'ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE',
+ self::INVALID_ADVERTISING_CHANNEL_SUB_TYPE => 'INVALID_ADVERTISING_CHANNEL_SUB_TYPE',
+ self::AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED => 'AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED',
+ self::CANNOT_SET_AD_ROTATION_MODE => 'CANNOT_SET_AD_ROTATION_MODE',
+ self::CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED => 'CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED',
+ self::CANNOT_SET_DATE_TO_PAST => 'CANNOT_SET_DATE_TO_PAST',
+ self::MISSING_HOTEL_CUSTOMER_LINK => 'MISSING_HOTEL_CUSTOMER_LINK',
+ self::INVALID_HOTEL_CUSTOMER_LINK => 'INVALID_HOTEL_CUSTOMER_LINK',
+ self::MISSING_HOTEL_SETTING => 'MISSING_HOTEL_SETTING',
+ self::CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP => 'CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP',
+ self::APP_NOT_FOUND => 'APP_NOT_FOUND',
+ self::SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE => 'SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE',
+ self::MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS => 'MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS',
+ self::INSUFFICIENT_APP_INSTALLS_COUNT => 'INSUFFICIENT_APP_INSTALLS_COUNT',
+ ];
+
+ 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(CampaignError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignErrorEnum_CampaignError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum_CampaignError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum_CampaignError.php
new file mode 100644
index 000000000..82af6dbf7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignErrorEnum_CampaignError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignExperimentErrorEnum
+ */
+final class CampaignExperimentErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignExperimentError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum/CampaignExperimentError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum/CampaignExperimentError.php
new file mode 100644
index 000000000..501e058f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum/CampaignExperimentError.php
@@ -0,0 +1,134 @@
+google.ads.googleads.v2.errors.CampaignExperimentErrorEnum.CampaignExperimentError
+ */
+class CampaignExperimentError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * An active campaign or experiment with this name already exists.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 2;
+ */
+ const DUPLICATE_NAME = 2;
+ /**
+ * Experiment cannot be updated from the current state to the
+ * requested target state. For example, an experiment can only graduate
+ * if its status is ENABLED.
+ *
+ * Generated from protobuf enum INVALID_TRANSITION = 3;
+ */
+ const INVALID_TRANSITION = 3;
+ /**
+ * Cannot create an experiment from a campaign using an explicitly shared
+ * budget.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4;
+ */
+ const CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4;
+ /**
+ * Cannot create an experiment for a removed base campaign.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5;
+ */
+ const CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5;
+ /**
+ * Cannot create an experiment from a draft, which has a status other than
+ * proposed.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6;
+ */
+ const CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6;
+ /**
+ * This customer is not allowed to create an experiment.
+ *
+ * Generated from protobuf enum CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7;
+ */
+ const CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7;
+ /**
+ * This campaign is not allowed to create an experiment.
+ *
+ * Generated from protobuf enum CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8;
+ */
+ const CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8;
+ /**
+ * Trying to set an experiment duration which overlaps with another
+ * experiment.
+ *
+ * Generated from protobuf enum EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9;
+ */
+ const EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9;
+ /**
+ * All non-removed experiments must start and end within their campaign's
+ * duration.
+ *
+ * Generated from protobuf enum EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10;
+ */
+ const EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10;
+ /**
+ * The experiment cannot be modified because its status is in a terminal
+ * state, such as REMOVED.
+ *
+ * Generated from protobuf enum CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11;
+ */
+ const CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::INVALID_TRANSITION => 'INVALID_TRANSITION',
+ self::CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET => 'CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET',
+ self::CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN => 'CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN',
+ self::CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT => 'CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT',
+ self::CUSTOMER_CANNOT_CREATE_EXPERIMENT => 'CUSTOMER_CANNOT_CREATE_EXPERIMENT',
+ self::CAMPAIGN_CANNOT_CREATE_EXPERIMENT => 'CAMPAIGN_CANNOT_CREATE_EXPERIMENT',
+ self::EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP => 'EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP',
+ self::EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION => 'EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION',
+ self::CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS => 'CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS',
+ ];
+
+ 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(CampaignExperimentError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignExperimentErrorEnum_CampaignExperimentError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum_CampaignExperimentError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum_CampaignExperimentError.php
new file mode 100644
index 000000000..cf03f02f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignExperimentErrorEnum_CampaignExperimentError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignFeedErrorEnum
+ */
+final class CampaignFeedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignFeedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum/CampaignFeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum/CampaignFeedError.php
new file mode 100644
index 000000000..59c276700
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum/CampaignFeedError.php
@@ -0,0 +1,100 @@
+google.ads.googleads.v2.errors.CampaignFeedErrorEnum.CampaignFeedError
+ */
+class CampaignFeedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * An active feed already exists for this campaign and placeholder type.
+ *
+ * Generated from protobuf enum FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+ */
+ const FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+ /**
+ * The specified feed is removed.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_FOR_REMOVED_FEED = 4;
+ */
+ const CANNOT_CREATE_FOR_REMOVED_FEED = 4;
+ /**
+ * The CampaignFeed already exists. UPDATE should be used to modify the
+ * existing CampaignFeed.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5;
+ */
+ const CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5;
+ /**
+ * Cannot update removed campaign feed.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6;
+ */
+ const CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6;
+ /**
+ * Invalid placeholder type.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_TYPE = 7;
+ */
+ const INVALID_PLACEHOLDER_TYPE = 7;
+ /**
+ * Feed mapping for this placeholder type does not exist.
+ *
+ * Generated from protobuf enum MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8;
+ */
+ const MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE => 'FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE',
+ self::CANNOT_CREATE_FOR_REMOVED_FEED => 'CANNOT_CREATE_FOR_REMOVED_FEED',
+ self::CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED => 'CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED',
+ self::CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED => 'CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED',
+ self::INVALID_PLACEHOLDER_TYPE => 'INVALID_PLACEHOLDER_TYPE',
+ self::MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE => 'MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE',
+ ];
+
+ 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(CampaignFeedError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignFeedErrorEnum_CampaignFeedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum_CampaignFeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum_CampaignFeedError.php
new file mode 100644
index 000000000..76ad3e8c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignFeedErrorEnum_CampaignFeedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CampaignSharedSetErrorEnum
+ */
+final class CampaignSharedSetErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CampaignSharedSetError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum/CampaignSharedSetError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum/CampaignSharedSetError.php
new file mode 100644
index 000000000..6df2c9b1e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum/CampaignSharedSetError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.CampaignSharedSetErrorEnum.CampaignSharedSetError
+ */
+class CampaignSharedSetError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The shared set belongs to another customer and permission isn't granted.
+ *
+ * Generated from protobuf enum SHARED_SET_ACCESS_DENIED = 2;
+ */
+ const SHARED_SET_ACCESS_DENIED = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SHARED_SET_ACCESS_DENIED => 'SHARED_SET_ACCESS_DENIED',
+ ];
+
+ 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(CampaignSharedSetError::class, \Google\Ads\GoogleAds\V2\Errors\CampaignSharedSetErrorEnum_CampaignSharedSetError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum_CampaignSharedSetError.php b/src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum_CampaignSharedSetError.php
new file mode 100644
index 000000000..887369aa7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CampaignSharedSetErrorEnum_CampaignSharedSetError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ChangeStatusErrorEnum
+ */
+final class ChangeStatusErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ChangeStatusError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum/ChangeStatusError.php b/src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum/ChangeStatusError.php
new file mode 100644
index 000000000..05a1a4a37
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum/ChangeStatusError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.ChangeStatusErrorEnum.ChangeStatusError
+ */
+class ChangeStatusError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The requested start date is too old.
+ *
+ * Generated from protobuf enum START_DATE_TOO_OLD = 3;
+ */
+ const START_DATE_TOO_OLD = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::START_DATE_TOO_OLD => 'START_DATE_TOO_OLD',
+ ];
+
+ 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(ChangeStatusError::class, \Google\Ads\GoogleAds\V2\Errors\ChangeStatusErrorEnum_ChangeStatusError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum_ChangeStatusError.php b/src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum_ChangeStatusError.php
new file mode 100644
index 000000000..ae629eac1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ChangeStatusErrorEnum_ChangeStatusError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CollectionSizeErrorEnum
+ */
+final class CollectionSizeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CollectionSizeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum/CollectionSizeError.php b/src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum/CollectionSizeError.php
new file mode 100644
index 000000000..8dfba3aca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum/CollectionSizeError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.CollectionSizeErrorEnum.CollectionSizeError
+ */
+class CollectionSizeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Too few.
+ *
+ * Generated from protobuf enum TOO_FEW = 2;
+ */
+ const TOO_FEW = 2;
+ /**
+ * Too many.
+ *
+ * Generated from protobuf enum TOO_MANY = 3;
+ */
+ const TOO_MANY = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TOO_FEW => 'TOO_FEW',
+ self::TOO_MANY => 'TOO_MANY',
+ ];
+
+ 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(CollectionSizeError::class, \Google\Ads\GoogleAds\V2\Errors\CollectionSizeErrorEnum_CollectionSizeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum_CollectionSizeError.php b/src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum_CollectionSizeError.php
new file mode 100644
index 000000000..5325c216f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CollectionSizeErrorEnum_CollectionSizeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ContextErrorEnum
+ */
+final class ContextErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ContextError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum/ContextError.php b/src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum/ContextError.php
new file mode 100644
index 000000000..84834e1f0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum/ContextError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.ContextErrorEnum.ContextError
+ */
+class ContextError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The operation is not allowed for the given context.
+ *
+ * Generated from protobuf enum OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2;
+ */
+ const OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2;
+ /**
+ * The operation is not allowed for removed resources.
+ *
+ * Generated from protobuf enum OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3;
+ */
+ const OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OPERATION_NOT_PERMITTED_FOR_CONTEXT => 'OPERATION_NOT_PERMITTED_FOR_CONTEXT',
+ self::OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE => 'OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE',
+ ];
+
+ 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(ContextError::class, \Google\Ads\GoogleAds\V2\Errors\ContextErrorEnum_ContextError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum_ContextError.php b/src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum_ContextError.php
new file mode 100644
index 000000000..6b590e63d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ContextErrorEnum_ContextError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ConversionActionErrorEnum
+ */
+final class ConversionActionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ConversionActionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum/ConversionActionError.php b/src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum/ConversionActionError.php
new file mode 100644
index 000000000..4561e86c4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum/ConversionActionError.php
@@ -0,0 +1,120 @@
+google.ads.googleads.v2.errors.ConversionActionErrorEnum.ConversionActionError
+ */
+class ConversionActionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The specified conversion action name already exists.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 2;
+ */
+ const DUPLICATE_NAME = 2;
+ /**
+ * Another conversion action with the specified app id already exists.
+ *
+ * Generated from protobuf enum DUPLICATE_APP_ID = 3;
+ */
+ const DUPLICATE_APP_ID = 3;
+ /**
+ * Android first open action conflicts with Google play codeless download
+ * action tracking the same app.
+ *
+ * Generated from protobuf enum TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4;
+ */
+ const TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4;
+ /**
+ * Android first open action conflicts with Google play codeless download
+ * action tracking the same app.
+ *
+ * Generated from protobuf enum BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5;
+ */
+ const BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5;
+ /**
+ * The attribution model cannot be set to DATA_DRIVEN because a data-driven
+ * model has never been generated.
+ *
+ * Generated from protobuf enum DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6;
+ */
+ const DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6;
+ /**
+ * The attribution model cannot be set to DATA_DRIVEN because the
+ * data-driven model is expired.
+ *
+ * Generated from protobuf enum DATA_DRIVEN_MODEL_EXPIRED = 7;
+ */
+ const DATA_DRIVEN_MODEL_EXPIRED = 7;
+ /**
+ * The attribution model cannot be set to DATA_DRIVEN because the
+ * data-driven model is stale.
+ *
+ * Generated from protobuf enum DATA_DRIVEN_MODEL_STALE = 8;
+ */
+ const DATA_DRIVEN_MODEL_STALE = 8;
+ /**
+ * The attribution model cannot be set to DATA_DRIVEN because the
+ * data-driven model is unavailable or the conversion action was newly
+ * added.
+ *
+ * Generated from protobuf enum DATA_DRIVEN_MODEL_UNKNOWN = 9;
+ */
+ const DATA_DRIVEN_MODEL_UNKNOWN = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::DUPLICATE_APP_ID => 'DUPLICATE_APP_ID',
+ self::TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD => 'TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD',
+ self::BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION => 'BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION',
+ self::DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED => 'DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED',
+ self::DATA_DRIVEN_MODEL_EXPIRED => 'DATA_DRIVEN_MODEL_EXPIRED',
+ self::DATA_DRIVEN_MODEL_STALE => 'DATA_DRIVEN_MODEL_STALE',
+ self::DATA_DRIVEN_MODEL_UNKNOWN => 'DATA_DRIVEN_MODEL_UNKNOWN',
+ ];
+
+ 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(ConversionActionError::class, \Google\Ads\GoogleAds\V2\Errors\ConversionActionErrorEnum_ConversionActionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum_ConversionActionError.php b/src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum_ConversionActionError.php
new file mode 100644
index 000000000..838a7ee10
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ConversionActionErrorEnum_ConversionActionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ConversionAdjustmentUploadErrorEnum
+ */
+final class ConversionAdjustmentUploadErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ConversionAdjustmentUploadError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum/ConversionAdjustmentUploadError.php b/src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum/ConversionAdjustmentUploadError.php
new file mode 100644
index 000000000..ac0dd6dc6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum/ConversionAdjustmentUploadError.php
@@ -0,0 +1,128 @@
+google.ads.googleads.v2.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadError
+ */
+class ConversionAdjustmentUploadError
+{
+ /**
+ * Not specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The specified conversion action was created too recently.
+ * Please try the upload again after 4-6 hours have passed since the
+ * conversion action was created.
+ *
+ * Generated from protobuf enum TOO_RECENT_CONVERSION_ACTION = 2;
+ */
+ const TOO_RECENT_CONVERSION_ACTION = 2;
+ /**
+ * No conversion action of a supported ConversionActionType that matches the
+ * provided information can be found for the customer.
+ *
+ * Generated from protobuf enum INVALID_CONVERSION_ACTION = 3;
+ */
+ const INVALID_CONVERSION_ACTION = 3;
+ /**
+ * A retraction was already reported for this conversion.
+ *
+ * Generated from protobuf enum CONVERSION_ALREADY_RETRACTED = 4;
+ */
+ const CONVERSION_ALREADY_RETRACTED = 4;
+ /**
+ * A conversion for the supplied combination of conversion
+ * action and conversion identifier could not be found.
+ *
+ * Generated from protobuf enum CONVERSION_NOT_FOUND = 5;
+ */
+ const CONVERSION_NOT_FOUND = 5;
+ /**
+ * The specified conversion has already expired. Conversions expire after 55
+ * days, after which adjustments cannot be reported against them.
+ *
+ * Generated from protobuf enum CONVERSION_EXPIRED = 6;
+ */
+ const CONVERSION_EXPIRED = 6;
+ /**
+ * The supplied adjustment date time precedes that of the original
+ * conversion.
+ *
+ * Generated from protobuf enum ADJUSTMENT_PRECEDES_CONVERSION = 7;
+ */
+ const ADJUSTMENT_PRECEDES_CONVERSION = 7;
+ /**
+ * A restatement with a more recent adjustment date time was already
+ * reported for this conversion.
+ *
+ * Generated from protobuf enum MORE_RECENT_RESTATEMENT_FOUND = 8;
+ */
+ const MORE_RECENT_RESTATEMENT_FOUND = 8;
+ /**
+ * The conversion was created too recently.
+ *
+ * Generated from protobuf enum TOO_RECENT_CONVERSION = 9;
+ */
+ const TOO_RECENT_CONVERSION = 9;
+ /**
+ * Restatements cannot be reported for a conversion action that always uses
+ * the default value.
+ *
+ * Generated from protobuf enum CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10;
+ */
+ const CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TOO_RECENT_CONVERSION_ACTION => 'TOO_RECENT_CONVERSION_ACTION',
+ self::INVALID_CONVERSION_ACTION => 'INVALID_CONVERSION_ACTION',
+ self::CONVERSION_ALREADY_RETRACTED => 'CONVERSION_ALREADY_RETRACTED',
+ self::CONVERSION_NOT_FOUND => 'CONVERSION_NOT_FOUND',
+ self::CONVERSION_EXPIRED => 'CONVERSION_EXPIRED',
+ self::ADJUSTMENT_PRECEDES_CONVERSION => 'ADJUSTMENT_PRECEDES_CONVERSION',
+ self::MORE_RECENT_RESTATEMENT_FOUND => 'MORE_RECENT_RESTATEMENT_FOUND',
+ self::TOO_RECENT_CONVERSION => 'TOO_RECENT_CONVERSION',
+ self::CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE => 'CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE',
+ ];
+
+ 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(ConversionAdjustmentUploadError::class, \Google\Ads\GoogleAds\V2\Errors\ConversionAdjustmentUploadErrorEnum_ConversionAdjustmentUploadError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum_ConversionAdjustmentUploadError.php b/src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum_ConversionAdjustmentUploadError.php
new file mode 100644
index 000000000..6cecee2bf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ConversionAdjustmentUploadErrorEnum_ConversionAdjustmentUploadError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ConversionUploadErrorEnum
+ */
+final class ConversionUploadErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ConversionUploadError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum/ConversionUploadError.php b/src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum/ConversionUploadError.php
new file mode 100644
index 000000000..98d2d77ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum/ConversionUploadError.php
@@ -0,0 +1,227 @@
+google.ads.googleads.v2.errors.ConversionUploadErrorEnum.ConversionUploadError
+ */
+class ConversionUploadError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The request contained more than 2000 conversions.
+ *
+ * Generated from protobuf enum TOO_MANY_CONVERSIONS_IN_REQUEST = 2;
+ */
+ const TOO_MANY_CONVERSIONS_IN_REQUEST = 2;
+ /**
+ * The specified gclid could not be decoded.
+ *
+ * Generated from protobuf enum UNPARSEABLE_GCLID = 3;
+ */
+ const UNPARSEABLE_GCLID = 3;
+ /**
+ * The specified conversion_date_time is before the event time
+ * associated with the given gclid.
+ *
+ * Generated from protobuf enum CONVERSION_PRECEDES_GCLID = 4;
+ */
+ const CONVERSION_PRECEDES_GCLID = 4;
+ /**
+ * The click associated with the given gclid is either too old to be
+ * imported or occurred outside of the click through lookback window for the
+ * specified conversion action.
+ *
+ * Generated from protobuf enum EXPIRED_GCLID = 5;
+ */
+ const EXPIRED_GCLID = 5;
+ /**
+ * The click associated with the given gclid occurred too recently. Please
+ * try uploading again after 24 hours have passed since the click occurred.
+ *
+ * Generated from protobuf enum TOO_RECENT_GCLID = 6;
+ */
+ const TOO_RECENT_GCLID = 6;
+ /**
+ * The click associated with the given gclid could not be found in the
+ * system. This can happen if Google Click IDs are collected for non Google
+ * Ads clicks.
+ *
+ * Generated from protobuf enum GCLID_NOT_FOUND = 7;
+ */
+ const GCLID_NOT_FOUND = 7;
+ /**
+ * The click associated with the given gclid is owned by a customer
+ * account that the uploading customer does not manage.
+ *
+ * Generated from protobuf enum UNAUTHORIZED_CUSTOMER = 8;
+ */
+ const UNAUTHORIZED_CUSTOMER = 8;
+ /**
+ * No upload eligible conversion action that matches the provided
+ * information can be found for the customer.
+ *
+ * Generated from protobuf enum INVALID_CONVERSION_ACTION = 9;
+ */
+ const INVALID_CONVERSION_ACTION = 9;
+ /**
+ * The specified conversion action was created too recently.
+ * Please try the upload again after 4-6 hours have passed since the
+ * conversion action was created.
+ *
+ * Generated from protobuf enum TOO_RECENT_CONVERSION_ACTION = 10;
+ */
+ const TOO_RECENT_CONVERSION_ACTION = 10;
+ /**
+ * The click associated with the given gclid does not contain conversion
+ * tracking information.
+ *
+ * Generated from protobuf enum CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11;
+ */
+ const CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11;
+ /**
+ * The specified conversion action does not use an external attribution
+ * model, but external_attribution_data was set.
+ *
+ * Generated from protobuf enum EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12;
+ */
+ const EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12;
+ /**
+ * The specified conversion action uses an external attribution model, but
+ * external_attribution_data or one of its contained fields was not set.
+ * Both external_attribution_credit and external_attribution_model must be
+ * set for externally attributed conversion actions.
+ *
+ * Generated from protobuf enum EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13;
+ */
+ const EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13;
+ /**
+ * Order IDs are not supported for conversion actions which use an external
+ * attribution model.
+ *
+ * Generated from protobuf enum ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14;
+ */
+ const ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14;
+ /**
+ * A conversion with the same order id and conversion action combination
+ * already exists in our system.
+ *
+ * Generated from protobuf enum ORDER_ID_ALREADY_IN_USE = 15;
+ */
+ const ORDER_ID_ALREADY_IN_USE = 15;
+ /**
+ * The request contained two or more conversions with the same order id and
+ * conversion action combination.
+ *
+ * Generated from protobuf enum DUPLICATE_ORDER_ID = 16;
+ */
+ const DUPLICATE_ORDER_ID = 16;
+ /**
+ * The call occurred too recently. Please try uploading again after 24 hours
+ * have passed since the call occurred.
+ *
+ * Generated from protobuf enum TOO_RECENT_CALL = 17;
+ */
+ const TOO_RECENT_CALL = 17;
+ /**
+ * The click that initiated the call is too old for this conversion to be
+ * imported.
+ *
+ * Generated from protobuf enum EXPIRED_CALL = 18;
+ */
+ const EXPIRED_CALL = 18;
+ /**
+ * The call or the click leading to the call was not found.
+ *
+ * Generated from protobuf enum CALL_NOT_FOUND = 19;
+ */
+ const CALL_NOT_FOUND = 19;
+ /**
+ * The specified conversion_date_time is before the call_start_date_time.
+ *
+ * Generated from protobuf enum CONVERSION_PRECEDES_CALL = 20;
+ */
+ const CONVERSION_PRECEDES_CALL = 20;
+ /**
+ * The click associated with the call does not contain conversion tracking
+ * information.
+ *
+ * Generated from protobuf enum CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21;
+ */
+ const CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21;
+ /**
+ * The caller’s phone number cannot be parsed. It should be formatted either
+ * as E.164 "+16502531234", International "+64 3-331 6005" or US national
+ * number "6502531234".
+ *
+ * Generated from protobuf enum UNPARSEABLE_CALLERS_PHONE_NUMBER = 22;
+ */
+ const UNPARSEABLE_CALLERS_PHONE_NUMBER = 22;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TOO_MANY_CONVERSIONS_IN_REQUEST => 'TOO_MANY_CONVERSIONS_IN_REQUEST',
+ self::UNPARSEABLE_GCLID => 'UNPARSEABLE_GCLID',
+ self::CONVERSION_PRECEDES_GCLID => 'CONVERSION_PRECEDES_GCLID',
+ self::EXPIRED_GCLID => 'EXPIRED_GCLID',
+ self::TOO_RECENT_GCLID => 'TOO_RECENT_GCLID',
+ self::GCLID_NOT_FOUND => 'GCLID_NOT_FOUND',
+ self::UNAUTHORIZED_CUSTOMER => 'UNAUTHORIZED_CUSTOMER',
+ self::INVALID_CONVERSION_ACTION => 'INVALID_CONVERSION_ACTION',
+ self::TOO_RECENT_CONVERSION_ACTION => 'TOO_RECENT_CONVERSION_ACTION',
+ self::CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME => 'CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME',
+ self::EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION => 'EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION',
+ self::EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION => 'EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION',
+ self::ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION => 'ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION',
+ self::ORDER_ID_ALREADY_IN_USE => 'ORDER_ID_ALREADY_IN_USE',
+ self::DUPLICATE_ORDER_ID => 'DUPLICATE_ORDER_ID',
+ self::TOO_RECENT_CALL => 'TOO_RECENT_CALL',
+ self::EXPIRED_CALL => 'EXPIRED_CALL',
+ self::CALL_NOT_FOUND => 'CALL_NOT_FOUND',
+ self::CONVERSION_PRECEDES_CALL => 'CONVERSION_PRECEDES_CALL',
+ self::CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME => 'CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME',
+ self::UNPARSEABLE_CALLERS_PHONE_NUMBER => 'UNPARSEABLE_CALLERS_PHONE_NUMBER',
+ ];
+
+ 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(ConversionUploadError::class, \Google\Ads\GoogleAds\V2\Errors\ConversionUploadErrorEnum_ConversionUploadError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum_ConversionUploadError.php b/src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum_ConversionUploadError.php
new file mode 100644
index 000000000..701bd323e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ConversionUploadErrorEnum_ConversionUploadError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CountryCodeErrorEnum
+ */
+final class CountryCodeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CountryCodeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum/CountryCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum/CountryCodeError.php
new file mode 100644
index 000000000..4dc71408f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum/CountryCodeError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.CountryCodeErrorEnum.CountryCodeError
+ */
+class CountryCodeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The country code is invalid.
+ *
+ * Generated from protobuf enum INVALID_COUNTRY_CODE = 2;
+ */
+ const INVALID_COUNTRY_CODE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_COUNTRY_CODE => 'INVALID_COUNTRY_CODE',
+ ];
+
+ 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(CountryCodeError::class, \Google\Ads\GoogleAds\V2\Errors\CountryCodeErrorEnum_CountryCodeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum_CountryCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum_CountryCodeError.php
new file mode 100644
index 000000000..406b9a9b8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CountryCodeErrorEnum_CountryCodeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CriterionErrorEnum
+ */
+final class CriterionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CriterionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum/CriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum/CriterionError.php
new file mode 100644
index 000000000..fa4817247
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum/CriterionError.php
@@ -0,0 +1,770 @@
+google.ads.googleads.v2.errors.CriterionErrorEnum.CriterionError
+ */
+class CriterionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Concrete type of criterion is required for CREATE and UPDATE operations.
+ *
+ * Generated from protobuf enum CONCRETE_TYPE_REQUIRED = 2;
+ */
+ const CONCRETE_TYPE_REQUIRED = 2;
+ /**
+ * The category requested for exclusion is invalid.
+ *
+ * Generated from protobuf enum INVALID_EXCLUDED_CATEGORY = 3;
+ */
+ const INVALID_EXCLUDED_CATEGORY = 3;
+ /**
+ * Invalid keyword criteria text.
+ *
+ * Generated from protobuf enum INVALID_KEYWORD_TEXT = 4;
+ */
+ const INVALID_KEYWORD_TEXT = 4;
+ /**
+ * Keyword text should be less than 80 chars.
+ *
+ * Generated from protobuf enum KEYWORD_TEXT_TOO_LONG = 5;
+ */
+ const KEYWORD_TEXT_TOO_LONG = 5;
+ /**
+ * Keyword text has too many words.
+ *
+ * Generated from protobuf enum KEYWORD_HAS_TOO_MANY_WORDS = 6;
+ */
+ const KEYWORD_HAS_TOO_MANY_WORDS = 6;
+ /**
+ * Keyword text has invalid characters or symbols.
+ *
+ * Generated from protobuf enum KEYWORD_HAS_INVALID_CHARS = 7;
+ */
+ const KEYWORD_HAS_INVALID_CHARS = 7;
+ /**
+ * Invalid placement URL.
+ *
+ * Generated from protobuf enum INVALID_PLACEMENT_URL = 8;
+ */
+ const INVALID_PLACEMENT_URL = 8;
+ /**
+ * Invalid user list criterion.
+ *
+ * Generated from protobuf enum INVALID_USER_LIST = 9;
+ */
+ const INVALID_USER_LIST = 9;
+ /**
+ * Invalid user interest criterion.
+ *
+ * Generated from protobuf enum INVALID_USER_INTEREST = 10;
+ */
+ const INVALID_USER_INTEREST = 10;
+ /**
+ * Placement URL has wrong format.
+ *
+ * Generated from protobuf enum INVALID_FORMAT_FOR_PLACEMENT_URL = 11;
+ */
+ const INVALID_FORMAT_FOR_PLACEMENT_URL = 11;
+ /**
+ * Placement URL is too long.
+ *
+ * Generated from protobuf enum PLACEMENT_URL_IS_TOO_LONG = 12;
+ */
+ const PLACEMENT_URL_IS_TOO_LONG = 12;
+ /**
+ * Indicates the URL contains an illegal character.
+ *
+ * Generated from protobuf enum PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13;
+ */
+ const PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13;
+ /**
+ * Indicates the URL contains multiple comma separated URLs.
+ *
+ * Generated from protobuf enum PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14;
+ */
+ const PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14;
+ /**
+ * Indicates the domain is blacklisted.
+ *
+ * Generated from protobuf enum PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15;
+ */
+ const PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15;
+ /**
+ * Invalid topic path.
+ *
+ * Generated from protobuf enum INVALID_TOPIC_PATH = 16;
+ */
+ const INVALID_TOPIC_PATH = 16;
+ /**
+ * The YouTube Channel Id is invalid.
+ *
+ * Generated from protobuf enum INVALID_YOUTUBE_CHANNEL_ID = 17;
+ */
+ const INVALID_YOUTUBE_CHANNEL_ID = 17;
+ /**
+ * The YouTube Video Id is invalid.
+ *
+ * Generated from protobuf enum INVALID_YOUTUBE_VIDEO_ID = 18;
+ */
+ const INVALID_YOUTUBE_VIDEO_ID = 18;
+ /**
+ * Indicates the placement is a YouTube vertical channel, which is no longer
+ * supported.
+ *
+ * Generated from protobuf enum YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19;
+ */
+ const YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19;
+ /**
+ * Indicates the placement is a YouTube demographic channel, which is no
+ * longer supported.
+ *
+ * Generated from protobuf enum YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20;
+ */
+ const YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20;
+ /**
+ * YouTube urls are not supported in Placement criterion. Use YouTubeChannel
+ * and YouTubeVideo criterion instead.
+ *
+ * Generated from protobuf enum YOUTUBE_URL_UNSUPPORTED = 21;
+ */
+ const YOUTUBE_URL_UNSUPPORTED = 21;
+ /**
+ * Criteria type can not be excluded by the customer, like AOL account type
+ * cannot target site type criteria.
+ *
+ * Generated from protobuf enum CANNOT_EXCLUDE_CRITERIA_TYPE = 22;
+ */
+ const CANNOT_EXCLUDE_CRITERIA_TYPE = 22;
+ /**
+ * Criteria type can not be targeted.
+ *
+ * Generated from protobuf enum CANNOT_ADD_CRITERIA_TYPE = 23;
+ */
+ const CANNOT_ADD_CRITERIA_TYPE = 23;
+ /**
+ * Product filter in the product criteria has invalid characters. Operand
+ * and the argument in the filter can not have "==" or "&+".
+ *
+ * Generated from protobuf enum INVALID_PRODUCT_FILTER = 24;
+ */
+ const INVALID_PRODUCT_FILTER = 24;
+ /**
+ * Product filter in the product criteria is translated to a string as
+ * operand1==argument1&+operand2==argument2, maximum allowed length for the
+ * string is 255 chars.
+ *
+ * Generated from protobuf enum PRODUCT_FILTER_TOO_LONG = 25;
+ */
+ const PRODUCT_FILTER_TOO_LONG = 25;
+ /**
+ * Not allowed to exclude similar user list.
+ *
+ * Generated from protobuf enum CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26;
+ */
+ const CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26;
+ /**
+ * Not allowed to target a closed user list.
+ *
+ * Generated from protobuf enum CANNOT_ADD_CLOSED_USER_LIST = 27;
+ */
+ const CANNOT_ADD_CLOSED_USER_LIST = 27;
+ /**
+ * Not allowed to add display only UserLists to search only campaigns.
+ *
+ * Generated from protobuf enum CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28;
+ */
+ const CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28;
+ /**
+ * Not allowed to add display only UserLists to search plus campaigns.
+ *
+ * Generated from protobuf enum CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29;
+ */
+ const CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29;
+ /**
+ * Not allowed to add display only UserLists to shopping campaigns.
+ *
+ * Generated from protobuf enum CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30;
+ */
+ const CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30;
+ /**
+ * Not allowed to add User interests to search only campaigns.
+ *
+ * Generated from protobuf enum CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31;
+ */
+ const CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31;
+ /**
+ * Not allowed to set bids for this criterion type in search campaigns
+ *
+ * Generated from protobuf enum CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32;
+ */
+ const CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32;
+ /**
+ * Final URLs, URL Templates and CustomParameters cannot be set for the
+ * criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and
+ * MobileAppCategory in search campaigns and shopping campaigns.
+ *
+ * Generated from protobuf enum CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33;
+ */
+ const CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33;
+ /**
+ * Invalid custom affinity criterion.
+ *
+ * Generated from protobuf enum INVALID_CUSTOM_AFFINITY = 96;
+ */
+ const INVALID_CUSTOM_AFFINITY = 96;
+ /**
+ * Invalid custom intent criterion.
+ *
+ * Generated from protobuf enum INVALID_CUSTOM_INTENT = 97;
+ */
+ const INVALID_CUSTOM_INTENT = 97;
+ /**
+ * IP address is not valid.
+ *
+ * Generated from protobuf enum INVALID_IP_ADDRESS = 34;
+ */
+ const INVALID_IP_ADDRESS = 34;
+ /**
+ * IP format is not valid.
+ *
+ * Generated from protobuf enum INVALID_IP_FORMAT = 35;
+ */
+ const INVALID_IP_FORMAT = 35;
+ /**
+ * Mobile application is not valid.
+ *
+ * Generated from protobuf enum INVALID_MOBILE_APP = 36;
+ */
+ const INVALID_MOBILE_APP = 36;
+ /**
+ * Mobile application category is not valid.
+ *
+ * Generated from protobuf enum INVALID_MOBILE_APP_CATEGORY = 37;
+ */
+ const INVALID_MOBILE_APP_CATEGORY = 37;
+ /**
+ * The CriterionId does not exist or is of the incorrect type.
+ *
+ * Generated from protobuf enum INVALID_CRITERION_ID = 38;
+ */
+ const INVALID_CRITERION_ID = 38;
+ /**
+ * The Criterion is not allowed to be targeted.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_CRITERION = 39;
+ */
+ const CANNOT_TARGET_CRITERION = 39;
+ /**
+ * The criterion is not allowed to be targeted as it is deprecated.
+ *
+ * Generated from protobuf enum CANNOT_TARGET_OBSOLETE_CRITERION = 40;
+ */
+ const CANNOT_TARGET_OBSOLETE_CRITERION = 40;
+ /**
+ * The CriterionId is not valid for the type.
+ *
+ * Generated from protobuf enum CRITERION_ID_AND_TYPE_MISMATCH = 41;
+ */
+ const CRITERION_ID_AND_TYPE_MISMATCH = 41;
+ /**
+ * Distance for the radius for the proximity criterion is invalid.
+ *
+ * Generated from protobuf enum INVALID_PROXIMITY_RADIUS = 42;
+ */
+ const INVALID_PROXIMITY_RADIUS = 42;
+ /**
+ * Units for the distance for the radius for the proximity criterion is
+ * invalid.
+ *
+ * Generated from protobuf enum INVALID_PROXIMITY_RADIUS_UNITS = 43;
+ */
+ const INVALID_PROXIMITY_RADIUS_UNITS = 43;
+ /**
+ * Street address in the address is not valid.
+ *
+ * Generated from protobuf enum INVALID_STREETADDRESS_LENGTH = 44;
+ */
+ const INVALID_STREETADDRESS_LENGTH = 44;
+ /**
+ * City name in the address is not valid.
+ *
+ * Generated from protobuf enum INVALID_CITYNAME_LENGTH = 45;
+ */
+ const INVALID_CITYNAME_LENGTH = 45;
+ /**
+ * Region code in the address is not valid.
+ *
+ * Generated from protobuf enum INVALID_REGIONCODE_LENGTH = 46;
+ */
+ const INVALID_REGIONCODE_LENGTH = 46;
+ /**
+ * Region name in the address is not valid.
+ *
+ * Generated from protobuf enum INVALID_REGIONNAME_LENGTH = 47;
+ */
+ const INVALID_REGIONNAME_LENGTH = 47;
+ /**
+ * Postal code in the address is not valid.
+ *
+ * Generated from protobuf enum INVALID_POSTALCODE_LENGTH = 48;
+ */
+ const INVALID_POSTALCODE_LENGTH = 48;
+ /**
+ * Country code in the address is not valid.
+ *
+ * Generated from protobuf enum INVALID_COUNTRY_CODE = 49;
+ */
+ const INVALID_COUNTRY_CODE = 49;
+ /**
+ * Latitude for the GeoPoint is not valid.
+ *
+ * Generated from protobuf enum INVALID_LATITUDE = 50;
+ */
+ const INVALID_LATITUDE = 50;
+ /**
+ * Longitude for the GeoPoint is not valid.
+ *
+ * Generated from protobuf enum INVALID_LONGITUDE = 51;
+ */
+ const INVALID_LONGITUDE = 51;
+ /**
+ * The Proximity input is not valid. Both address and geoPoint cannot be
+ * null.
+ *
+ * Generated from protobuf enum PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52;
+ */
+ const PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52;
+ /**
+ * The Proximity address cannot be geocoded to a valid lat/long.
+ *
+ * Generated from protobuf enum INVALID_PROXIMITY_ADDRESS = 53;
+ */
+ const INVALID_PROXIMITY_ADDRESS = 53;
+ /**
+ * User domain name is not valid.
+ *
+ * Generated from protobuf enum INVALID_USER_DOMAIN_NAME = 54;
+ */
+ const INVALID_USER_DOMAIN_NAME = 54;
+ /**
+ * Length of serialized criterion parameter exceeded size limit.
+ *
+ * Generated from protobuf enum CRITERION_PARAMETER_TOO_LONG = 55;
+ */
+ const CRITERION_PARAMETER_TOO_LONG = 55;
+ /**
+ * Time interval in the AdSchedule overlaps with another AdSchedule.
+ *
+ * Generated from protobuf enum AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56;
+ */
+ const AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56;
+ /**
+ * AdSchedule time interval cannot span multiple days.
+ *
+ * Generated from protobuf enum AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57;
+ */
+ const AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57;
+ /**
+ * AdSchedule time interval specified is invalid, endTime cannot be earlier
+ * than startTime.
+ *
+ * Generated from protobuf enum AD_SCHEDULE_INVALID_TIME_INTERVAL = 58;
+ */
+ const AD_SCHEDULE_INVALID_TIME_INTERVAL = 58;
+ /**
+ * The number of AdSchedule entries in a day exceeds the limit.
+ *
+ * Generated from protobuf enum AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59;
+ */
+ const AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59;
+ /**
+ * CriteriaId does not match the interval of the AdSchedule specified.
+ *
+ * Generated from protobuf enum AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60;
+ */
+ const AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60;
+ /**
+ * Cannot set bid modifier for this criterion type.
+ *
+ * Generated from protobuf enum CANNOT_BID_MODIFY_CRITERION_TYPE = 61;
+ */
+ const CANNOT_BID_MODIFY_CRITERION_TYPE = 61;
+ /**
+ * Cannot bid modify criterion, since it is opted out of the campaign.
+ *
+ * Generated from protobuf enum CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62;
+ */
+ const CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62;
+ /**
+ * Cannot set bid modifier for a negative criterion.
+ *
+ * Generated from protobuf enum CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63;
+ */
+ const CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63;
+ /**
+ * Bid Modifier already exists. Use SET operation to update.
+ *
+ * Generated from protobuf enum BID_MODIFIER_ALREADY_EXISTS = 64;
+ */
+ const BID_MODIFIER_ALREADY_EXISTS = 64;
+ /**
+ * Feed Id is not allowed in these Location Groups.
+ *
+ * Generated from protobuf enum FEED_ID_NOT_ALLOWED = 65;
+ */
+ const FEED_ID_NOT_ALLOWED = 65;
+ /**
+ * The account may not use the requested criteria type. For example, some
+ * accounts are restricted to keywords only.
+ *
+ * Generated from protobuf enum ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66;
+ */
+ const ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66;
+ /**
+ * The requested criteria type cannot be used with campaign or ad group
+ * bidding strategy.
+ *
+ * Generated from protobuf enum CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67;
+ */
+ const CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67;
+ /**
+ * The Criterion is not allowed to be excluded.
+ *
+ * Generated from protobuf enum CANNOT_EXCLUDE_CRITERION = 68;
+ */
+ const CANNOT_EXCLUDE_CRITERION = 68;
+ /**
+ * The criterion is not allowed to be removed. For example, we cannot remove
+ * any of the device criterion.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_CRITERION = 69;
+ */
+ const CANNOT_REMOVE_CRITERION = 69;
+ /**
+ * The combined length of product dimension values of the product scope
+ * criterion is too long.
+ *
+ * Generated from protobuf enum PRODUCT_SCOPE_TOO_LONG = 70;
+ */
+ const PRODUCT_SCOPE_TOO_LONG = 70;
+ /**
+ * Product scope contains too many dimensions.
+ *
+ * Generated from protobuf enum PRODUCT_SCOPE_TOO_MANY_DIMENSIONS = 71;
+ */
+ const PRODUCT_SCOPE_TOO_MANY_DIMENSIONS = 71;
+ /**
+ * The combined length of product dimension values of the product partition
+ * criterion is too long.
+ *
+ * Generated from protobuf enum PRODUCT_PARTITION_TOO_LONG = 72;
+ */
+ const PRODUCT_PARTITION_TOO_LONG = 72;
+ /**
+ * Product partition contains too many dimensions.
+ *
+ * Generated from protobuf enum PRODUCT_PARTITION_TOO_MANY_DIMENSIONS = 73;
+ */
+ const PRODUCT_PARTITION_TOO_MANY_DIMENSIONS = 73;
+ /**
+ * The product dimension is invalid (e.g. dimension contains illegal value,
+ * dimension type is represented with wrong class, etc). Product dimension
+ * value can not contain "==" or "&+".
+ *
+ * Generated from protobuf enum INVALID_PRODUCT_DIMENSION = 74;
+ */
+ const INVALID_PRODUCT_DIMENSION = 74;
+ /**
+ * Product dimension type is either invalid for campaigns of this type or
+ * cannot be used in the current context. BIDDING_CATEGORY_Lx and
+ * PRODUCT_TYPE_Lx product dimensions must be used in ascending order of
+ * their levels: L1, L2, L3, L4, L5... The levels must be specified
+ * sequentially and start from L1. Furthermore, an "others" product
+ * partition cannot be subdivided with a dimension of the same type but of a
+ * higher level ("others" BIDDING_CATEGORY_L3 can be subdivided with BRAND
+ * but not with BIDDING_CATEGORY_L4).
+ *
+ * Generated from protobuf enum INVALID_PRODUCT_DIMENSION_TYPE = 75;
+ */
+ const INVALID_PRODUCT_DIMENSION_TYPE = 75;
+ /**
+ * Bidding categories do not form a valid path in the Shopping bidding
+ * category taxonomy.
+ *
+ * Generated from protobuf enum INVALID_PRODUCT_BIDDING_CATEGORY = 76;
+ */
+ const INVALID_PRODUCT_BIDDING_CATEGORY = 76;
+ /**
+ * ShoppingSetting must be added to the campaign before ProductScope
+ * criteria can be added.
+ *
+ * Generated from protobuf enum MISSING_SHOPPING_SETTING = 77;
+ */
+ const MISSING_SHOPPING_SETTING = 77;
+ /**
+ * Matching function is invalid.
+ *
+ * Generated from protobuf enum INVALID_MATCHING_FUNCTION = 78;
+ */
+ const INVALID_MATCHING_FUNCTION = 78;
+ /**
+ * Filter parameters not allowed for location groups targeting.
+ *
+ * Generated from protobuf enum LOCATION_FILTER_NOT_ALLOWED = 79;
+ */
+ const LOCATION_FILTER_NOT_ALLOWED = 79;
+ /**
+ * Feed not found, or the feed is not an enabled location feed.
+ *
+ * Generated from protobuf enum INVALID_FEED_FOR_LOCATION_FILTER = 98;
+ */
+ const INVALID_FEED_FOR_LOCATION_FILTER = 98;
+ /**
+ * Given location filter parameter is invalid for location groups targeting.
+ *
+ * Generated from protobuf enum LOCATION_FILTER_INVALID = 80;
+ */
+ const LOCATION_FILTER_INVALID = 80;
+ /**
+ * Criteria type cannot be associated with a campaign and its ad group(s)
+ * simultaneously.
+ *
+ * Generated from protobuf enum CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP = 81;
+ */
+ const CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP = 81;
+ /**
+ * Range represented by hotel length of stay's min nights and max nights
+ * overlaps with an existing criterion.
+ *
+ * Generated from protobuf enum HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION = 82;
+ */
+ const HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION = 82;
+ /**
+ * Range represented by hotel advance booking window's min days and max days
+ * overlaps with an existing criterion.
+ *
+ * Generated from protobuf enum HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION = 83;
+ */
+ const HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION = 83;
+ /**
+ * The field is not allowed to be set when the negative field is set to
+ * true, e.g. we don't allow bids in negative ad group or campaign criteria.
+ *
+ * Generated from protobuf enum FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING = 84;
+ */
+ const FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING = 84;
+ /**
+ * The combination of operand and operator in webpage condition is invalid.
+ *
+ * Generated from protobuf enum INVALID_WEBPAGE_CONDITION = 85;
+ */
+ const INVALID_WEBPAGE_CONDITION = 85;
+ /**
+ * The URL of webpage condition is invalid.
+ *
+ * Generated from protobuf enum INVALID_WEBPAGE_CONDITION_URL = 86;
+ */
+ const INVALID_WEBPAGE_CONDITION_URL = 86;
+ /**
+ * The URL of webpage condition cannot be empty or contain white space.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY = 87;
+ */
+ const WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY = 87;
+ /**
+ * The URL of webpage condition contains an unsupported protocol.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL = 88;
+ */
+ const WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL = 88;
+ /**
+ * The URL of webpage condition cannot be an IP address.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS = 89;
+ */
+ const WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS = 89;
+ /**
+ * The domain of the URL is not consistent with the domain in campaign
+ * setting.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING = 90;
+ */
+ const WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING = 90;
+ /**
+ * The URL of webpage condition cannot be a public suffix itself.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX = 91;
+ */
+ const WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX = 91;
+ /**
+ * The URL of webpage condition has an invalid public suffix.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX = 92;
+ */
+ const WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX = 92;
+ /**
+ * Value track parameter is not supported in webpage condition URL.
+ *
+ * Generated from protobuf enum WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED = 93;
+ */
+ const WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED = 93;
+ /**
+ * Only one URL-EQUALS webpage condition is allowed in a webpage
+ * criterion and it cannot be combined with other conditions.
+ *
+ * Generated from protobuf enum WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION = 94;
+ */
+ const WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION = 94;
+ /**
+ * A webpage criterion cannot be added to a non-DSA ad group.
+ *
+ * Generated from protobuf enum WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP = 95;
+ */
+ const WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP = 95;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CONCRETE_TYPE_REQUIRED => 'CONCRETE_TYPE_REQUIRED',
+ self::INVALID_EXCLUDED_CATEGORY => 'INVALID_EXCLUDED_CATEGORY',
+ self::INVALID_KEYWORD_TEXT => 'INVALID_KEYWORD_TEXT',
+ self::KEYWORD_TEXT_TOO_LONG => 'KEYWORD_TEXT_TOO_LONG',
+ self::KEYWORD_HAS_TOO_MANY_WORDS => 'KEYWORD_HAS_TOO_MANY_WORDS',
+ self::KEYWORD_HAS_INVALID_CHARS => 'KEYWORD_HAS_INVALID_CHARS',
+ self::INVALID_PLACEMENT_URL => 'INVALID_PLACEMENT_URL',
+ self::INVALID_USER_LIST => 'INVALID_USER_LIST',
+ self::INVALID_USER_INTEREST => 'INVALID_USER_INTEREST',
+ self::INVALID_FORMAT_FOR_PLACEMENT_URL => 'INVALID_FORMAT_FOR_PLACEMENT_URL',
+ self::PLACEMENT_URL_IS_TOO_LONG => 'PLACEMENT_URL_IS_TOO_LONG',
+ self::PLACEMENT_URL_HAS_ILLEGAL_CHAR => 'PLACEMENT_URL_HAS_ILLEGAL_CHAR',
+ self::PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE => 'PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE',
+ self::PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION => 'PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION',
+ self::INVALID_TOPIC_PATH => 'INVALID_TOPIC_PATH',
+ self::INVALID_YOUTUBE_CHANNEL_ID => 'INVALID_YOUTUBE_CHANNEL_ID',
+ self::INVALID_YOUTUBE_VIDEO_ID => 'INVALID_YOUTUBE_VIDEO_ID',
+ self::YOUTUBE_VERTICAL_CHANNEL_DEPRECATED => 'YOUTUBE_VERTICAL_CHANNEL_DEPRECATED',
+ self::YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED => 'YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED',
+ self::YOUTUBE_URL_UNSUPPORTED => 'YOUTUBE_URL_UNSUPPORTED',
+ self::CANNOT_EXCLUDE_CRITERIA_TYPE => 'CANNOT_EXCLUDE_CRITERIA_TYPE',
+ self::CANNOT_ADD_CRITERIA_TYPE => 'CANNOT_ADD_CRITERIA_TYPE',
+ self::INVALID_PRODUCT_FILTER => 'INVALID_PRODUCT_FILTER',
+ self::PRODUCT_FILTER_TOO_LONG => 'PRODUCT_FILTER_TOO_LONG',
+ self::CANNOT_EXCLUDE_SIMILAR_USER_LIST => 'CANNOT_EXCLUDE_SIMILAR_USER_LIST',
+ self::CANNOT_ADD_CLOSED_USER_LIST => 'CANNOT_ADD_CLOSED_USER_LIST',
+ self::CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS => 'CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS',
+ self::CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS => 'CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS',
+ self::CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS => 'CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS',
+ self::CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS => 'CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS',
+ self::CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS => 'CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS',
+ self::CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE => 'CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE',
+ self::INVALID_CUSTOM_AFFINITY => 'INVALID_CUSTOM_AFFINITY',
+ self::INVALID_CUSTOM_INTENT => 'INVALID_CUSTOM_INTENT',
+ self::INVALID_IP_ADDRESS => 'INVALID_IP_ADDRESS',
+ self::INVALID_IP_FORMAT => 'INVALID_IP_FORMAT',
+ self::INVALID_MOBILE_APP => 'INVALID_MOBILE_APP',
+ self::INVALID_MOBILE_APP_CATEGORY => 'INVALID_MOBILE_APP_CATEGORY',
+ self::INVALID_CRITERION_ID => 'INVALID_CRITERION_ID',
+ self::CANNOT_TARGET_CRITERION => 'CANNOT_TARGET_CRITERION',
+ self::CANNOT_TARGET_OBSOLETE_CRITERION => 'CANNOT_TARGET_OBSOLETE_CRITERION',
+ self::CRITERION_ID_AND_TYPE_MISMATCH => 'CRITERION_ID_AND_TYPE_MISMATCH',
+ self::INVALID_PROXIMITY_RADIUS => 'INVALID_PROXIMITY_RADIUS',
+ self::INVALID_PROXIMITY_RADIUS_UNITS => 'INVALID_PROXIMITY_RADIUS_UNITS',
+ self::INVALID_STREETADDRESS_LENGTH => 'INVALID_STREETADDRESS_LENGTH',
+ self::INVALID_CITYNAME_LENGTH => 'INVALID_CITYNAME_LENGTH',
+ self::INVALID_REGIONCODE_LENGTH => 'INVALID_REGIONCODE_LENGTH',
+ self::INVALID_REGIONNAME_LENGTH => 'INVALID_REGIONNAME_LENGTH',
+ self::INVALID_POSTALCODE_LENGTH => 'INVALID_POSTALCODE_LENGTH',
+ self::INVALID_COUNTRY_CODE => 'INVALID_COUNTRY_CODE',
+ self::INVALID_LATITUDE => 'INVALID_LATITUDE',
+ self::INVALID_LONGITUDE => 'INVALID_LONGITUDE',
+ self::PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL => 'PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL',
+ self::INVALID_PROXIMITY_ADDRESS => 'INVALID_PROXIMITY_ADDRESS',
+ self::INVALID_USER_DOMAIN_NAME => 'INVALID_USER_DOMAIN_NAME',
+ self::CRITERION_PARAMETER_TOO_LONG => 'CRITERION_PARAMETER_TOO_LONG',
+ self::AD_SCHEDULE_TIME_INTERVALS_OVERLAP => 'AD_SCHEDULE_TIME_INTERVALS_OVERLAP',
+ self::AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS => 'AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS',
+ self::AD_SCHEDULE_INVALID_TIME_INTERVAL => 'AD_SCHEDULE_INVALID_TIME_INTERVAL',
+ self::AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT => 'AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT',
+ self::AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS => 'AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS',
+ self::CANNOT_BID_MODIFY_CRITERION_TYPE => 'CANNOT_BID_MODIFY_CRITERION_TYPE',
+ self::CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT => 'CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT',
+ self::CANNOT_BID_MODIFY_NEGATIVE_CRITERION => 'CANNOT_BID_MODIFY_NEGATIVE_CRITERION',
+ self::BID_MODIFIER_ALREADY_EXISTS => 'BID_MODIFIER_ALREADY_EXISTS',
+ self::FEED_ID_NOT_ALLOWED => 'FEED_ID_NOT_ALLOWED',
+ self::ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE => 'ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE',
+ self::CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY => 'CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY',
+ self::CANNOT_EXCLUDE_CRITERION => 'CANNOT_EXCLUDE_CRITERION',
+ self::CANNOT_REMOVE_CRITERION => 'CANNOT_REMOVE_CRITERION',
+ self::PRODUCT_SCOPE_TOO_LONG => 'PRODUCT_SCOPE_TOO_LONG',
+ self::PRODUCT_SCOPE_TOO_MANY_DIMENSIONS => 'PRODUCT_SCOPE_TOO_MANY_DIMENSIONS',
+ self::PRODUCT_PARTITION_TOO_LONG => 'PRODUCT_PARTITION_TOO_LONG',
+ self::PRODUCT_PARTITION_TOO_MANY_DIMENSIONS => 'PRODUCT_PARTITION_TOO_MANY_DIMENSIONS',
+ self::INVALID_PRODUCT_DIMENSION => 'INVALID_PRODUCT_DIMENSION',
+ self::INVALID_PRODUCT_DIMENSION_TYPE => 'INVALID_PRODUCT_DIMENSION_TYPE',
+ self::INVALID_PRODUCT_BIDDING_CATEGORY => 'INVALID_PRODUCT_BIDDING_CATEGORY',
+ self::MISSING_SHOPPING_SETTING => 'MISSING_SHOPPING_SETTING',
+ self::INVALID_MATCHING_FUNCTION => 'INVALID_MATCHING_FUNCTION',
+ self::LOCATION_FILTER_NOT_ALLOWED => 'LOCATION_FILTER_NOT_ALLOWED',
+ self::INVALID_FEED_FOR_LOCATION_FILTER => 'INVALID_FEED_FOR_LOCATION_FILTER',
+ self::LOCATION_FILTER_INVALID => 'LOCATION_FILTER_INVALID',
+ self::CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP => 'CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP',
+ self::HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION => 'HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION',
+ self::HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION => 'HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION',
+ self::FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING => 'FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING',
+ self::INVALID_WEBPAGE_CONDITION => 'INVALID_WEBPAGE_CONDITION',
+ self::INVALID_WEBPAGE_CONDITION_URL => 'INVALID_WEBPAGE_CONDITION_URL',
+ self::WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY => 'WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY',
+ self::WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL => 'WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL',
+ self::WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS => 'WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS',
+ self::WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING => 'WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING',
+ self::WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX => 'WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX',
+ self::WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX => 'WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX',
+ self::WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED => 'WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED',
+ self::WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION => 'WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION',
+ self::WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP => 'WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP',
+ ];
+
+ 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(CriterionError::class, \Google\Ads\GoogleAds\V2\Errors\CriterionErrorEnum_CriterionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum_CriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum_CriterionError.php
new file mode 100644
index 000000000..8781dbf5c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CriterionErrorEnum_CriterionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CurrencyCodeErrorEnum
+ */
+final class CurrencyCodeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CurrencyCodeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum/CurrencyCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum/CurrencyCodeError.php
new file mode 100644
index 000000000..57413fdf3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum/CurrencyCodeError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.CurrencyCodeErrorEnum.CurrencyCodeError
+ */
+class CurrencyCodeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The currency code is not supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED = 2;
+ */
+ const UNSUPPORTED = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UNSUPPORTED => 'UNSUPPORTED',
+ ];
+
+ 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(CurrencyCodeError::class, \Google\Ads\GoogleAds\V2\Errors\CurrencyCodeErrorEnum_CurrencyCodeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum_CurrencyCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum_CurrencyCodeError.php
new file mode 100644
index 000000000..b057eb0f8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CurrencyCodeErrorEnum_CurrencyCodeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CustomInterestErrorEnum
+ */
+final class CustomInterestErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CustomInterestError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum/CustomInterestError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum/CustomInterestError.php
new file mode 100644
index 000000000..4167729ce
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum/CustomInterestError.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.errors.CustomInterestErrorEnum.CustomInterestError
+ */
+class CustomInterestError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Duplicate custom interest name ignoring case.
+ *
+ * Generated from protobuf enum NAME_ALREADY_USED = 2;
+ */
+ const NAME_ALREADY_USED = 2;
+ /**
+ * In the remove custom interest member operation, both member ID and
+ * pair [type, parameter] are not present.
+ *
+ * Generated from protobuf enum CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3;
+ */
+ const CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3;
+ /**
+ * The pair of [type, parameter] does not exist.
+ *
+ * Generated from protobuf enum TYPE_AND_PARAMETER_NOT_FOUND = 4;
+ */
+ const TYPE_AND_PARAMETER_NOT_FOUND = 4;
+ /**
+ * The pair of [type, parameter] already exists.
+ *
+ * Generated from protobuf enum TYPE_AND_PARAMETER_ALREADY_EXISTED = 5;
+ */
+ const TYPE_AND_PARAMETER_ALREADY_EXISTED = 5;
+ /**
+ * Unsupported custom interest member type.
+ *
+ * Generated from protobuf enum INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6;
+ */
+ const INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6;
+ /**
+ * Cannot remove a custom interest while it's still being targeted.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_WHILE_IN_USE = 7;
+ */
+ const CANNOT_REMOVE_WHILE_IN_USE = 7;
+ /**
+ * Cannot mutate custom interest type.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_TYPE = 8;
+ */
+ const CANNOT_CHANGE_TYPE = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NAME_ALREADY_USED => 'NAME_ALREADY_USED',
+ self::CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE => 'CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE',
+ self::TYPE_AND_PARAMETER_NOT_FOUND => 'TYPE_AND_PARAMETER_NOT_FOUND',
+ self::TYPE_AND_PARAMETER_ALREADY_EXISTED => 'TYPE_AND_PARAMETER_ALREADY_EXISTED',
+ self::INVALID_CUSTOM_INTEREST_MEMBER_TYPE => 'INVALID_CUSTOM_INTEREST_MEMBER_TYPE',
+ self::CANNOT_REMOVE_WHILE_IN_USE => 'CANNOT_REMOVE_WHILE_IN_USE',
+ self::CANNOT_CHANGE_TYPE => 'CANNOT_CHANGE_TYPE',
+ ];
+
+ 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(CustomInterestError::class, \Google\Ads\GoogleAds\V2\Errors\CustomInterestErrorEnum_CustomInterestError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum_CustomInterestError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum_CustomInterestError.php
new file mode 100644
index 000000000..bc28a7708
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomInterestErrorEnum_CustomInterestError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CustomerClientLinkErrorEnum
+ */
+final class CustomerClientLinkErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CustomerClientLinkError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum/CustomerClientLinkError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum/CustomerClientLinkError.php
new file mode 100644
index 000000000..572f94ae9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum/CustomerClientLinkError.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.errors.CustomerClientLinkErrorEnum.CustomerClientLinkError
+ */
+class CustomerClientLinkError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Trying to manage a client that already in being managed by customer.
+ *
+ * Generated from protobuf enum CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2;
+ */
+ const CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2;
+ /**
+ * Already managed by some other manager in the hierarchy.
+ *
+ * Generated from protobuf enum CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3;
+ */
+ const CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3;
+ /**
+ * Attempt to create a cycle in the hierarchy.
+ *
+ * Generated from protobuf enum CYCLIC_LINK_NOT_ALLOWED = 4;
+ */
+ const CYCLIC_LINK_NOT_ALLOWED = 4;
+ /**
+ * Managed accounts has the maximum number of linked accounts.
+ *
+ * Generated from protobuf enum CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5;
+ */
+ const CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5;
+ /**
+ * Invitor has the maximum pending invitations.
+ *
+ * Generated from protobuf enum CLIENT_HAS_TOO_MANY_INVITATIONS = 6;
+ */
+ const CLIENT_HAS_TOO_MANY_INVITATIONS = 6;
+ /**
+ * Attempt to change hidden status of a link that is not active.
+ *
+ * Generated from protobuf enum CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7;
+ */
+ const CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7;
+ /**
+ * Parent manager account has the maximum number of linked accounts.
+ *
+ * Generated from protobuf enum CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8;
+ */
+ const CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CLIENT_ALREADY_INVITED_BY_THIS_MANAGER => 'CLIENT_ALREADY_INVITED_BY_THIS_MANAGER',
+ self::CLIENT_ALREADY_MANAGED_IN_HIERARCHY => 'CLIENT_ALREADY_MANAGED_IN_HIERARCHY',
+ self::CYCLIC_LINK_NOT_ALLOWED => 'CYCLIC_LINK_NOT_ALLOWED',
+ self::CUSTOMER_HAS_TOO_MANY_ACCOUNTS => 'CUSTOMER_HAS_TOO_MANY_ACCOUNTS',
+ self::CLIENT_HAS_TOO_MANY_INVITATIONS => 'CLIENT_HAS_TOO_MANY_INVITATIONS',
+ self::CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS => 'CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS',
+ self::CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER => 'CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER',
+ ];
+
+ 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(CustomerClientLinkError::class, \Google\Ads\GoogleAds\V2\Errors\CustomerClientLinkErrorEnum_CustomerClientLinkError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum_CustomerClientLinkError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum_CustomerClientLinkError.php
new file mode 100644
index 000000000..0ef314f7d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerClientLinkErrorEnum_CustomerClientLinkError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CustomerErrorEnum
+ */
+final class CustomerErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CustomerError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum/CustomerError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum/CustomerError.php
new file mode 100644
index 000000000..217cb3950
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum/CustomerError.php
@@ -0,0 +1,74 @@
+google.ads.googleads.v2.errors.CustomerErrorEnum.CustomerError
+ */
+class CustomerError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Customer status is not allowed to be changed from DRAFT and CLOSED.
+ * Currency code and at least one of country code and time zone needs to be
+ * set when status is changed to ENABLED.
+ *
+ * Generated from protobuf enum STATUS_CHANGE_DISALLOWED = 2;
+ */
+ const STATUS_CHANGE_DISALLOWED = 2;
+ /**
+ * CustomerService cannot get a customer that has not been fully set up.
+ *
+ * Generated from protobuf enum ACCOUNT_NOT_SET_UP = 3;
+ */
+ const ACCOUNT_NOT_SET_UP = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::STATUS_CHANGE_DISALLOWED => 'STATUS_CHANGE_DISALLOWED',
+ self::ACCOUNT_NOT_SET_UP => 'ACCOUNT_NOT_SET_UP',
+ ];
+
+ 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(CustomerError::class, \Google\Ads\GoogleAds\V2\Errors\CustomerErrorEnum_CustomerError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum_CustomerError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum_CustomerError.php
new file mode 100644
index 000000000..14d45446a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerErrorEnum_CustomerError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CustomerFeedErrorEnum
+ */
+final class CustomerFeedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CustomerFeedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum/CustomerFeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum/CustomerFeedError.php
new file mode 100644
index 000000000..2c4520c97
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum/CustomerFeedError.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.errors.CustomerFeedErrorEnum.CustomerFeedError
+ */
+class CustomerFeedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * An active feed already exists for this customer and place holder type.
+ *
+ * Generated from protobuf enum FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+ */
+ const FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+ /**
+ * The specified feed is removed.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_FOR_REMOVED_FEED = 3;
+ */
+ const CANNOT_CREATE_FOR_REMOVED_FEED = 3;
+ /**
+ * The CustomerFeed already exists. Update should be used to modify the
+ * existing CustomerFeed.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4;
+ */
+ const CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4;
+ /**
+ * Cannot update removed customer feed.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5;
+ */
+ const CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5;
+ /**
+ * Invalid placeholder type.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_TYPE = 6;
+ */
+ const INVALID_PLACEHOLDER_TYPE = 6;
+ /**
+ * Feed mapping for this placeholder type does not exist.
+ *
+ * Generated from protobuf enum MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7;
+ */
+ const MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7;
+ /**
+ * Placeholder not allowed at the account level.
+ *
+ * Generated from protobuf enum PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8;
+ */
+ const PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE => 'FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE',
+ self::CANNOT_CREATE_FOR_REMOVED_FEED => 'CANNOT_CREATE_FOR_REMOVED_FEED',
+ self::CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED => 'CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED',
+ self::CANNOT_MODIFY_REMOVED_CUSTOMER_FEED => 'CANNOT_MODIFY_REMOVED_CUSTOMER_FEED',
+ self::INVALID_PLACEHOLDER_TYPE => 'INVALID_PLACEHOLDER_TYPE',
+ self::MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE => 'MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE',
+ self::PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED => 'PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED',
+ ];
+
+ 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(CustomerFeedError::class, \Google\Ads\GoogleAds\V2\Errors\CustomerFeedErrorEnum_CustomerFeedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum_CustomerFeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum_CustomerFeedError.php
new file mode 100644
index 000000000..6f6841681
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerFeedErrorEnum_CustomerFeedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.CustomerManagerLinkErrorEnum
+ */
+final class CustomerManagerLinkErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\CustomerManagerLinkError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum/CustomerManagerLinkError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum/CustomerManagerLinkError.php
new file mode 100644
index 000000000..8d777b181
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum/CustomerManagerLinkError.php
@@ -0,0 +1,116 @@
+google.ads.googleads.v2.errors.CustomerManagerLinkErrorEnum.CustomerManagerLinkError
+ */
+class CustomerManagerLinkError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * No pending invitation.
+ *
+ * Generated from protobuf enum NO_PENDING_INVITE = 2;
+ */
+ const NO_PENDING_INVITE = 2;
+ /**
+ * Attempt to operate on the same client more than once in the same call.
+ *
+ * Generated from protobuf enum SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3;
+ */
+ const SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3;
+ /**
+ * Manager account has the maximum number of linked accounts.
+ *
+ * Generated from protobuf enum MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4;
+ */
+ const MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4;
+ /**
+ * If no active user on account it cannot be unlinked from its manager.
+ *
+ * Generated from protobuf enum CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5;
+ */
+ const CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5;
+ /**
+ * Account should have at least one active owner on it before being
+ * unlinked.
+ *
+ * Generated from protobuf enum CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6;
+ */
+ const CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6;
+ /**
+ * Only account owners may change their permission role.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7;
+ */
+ const CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7;
+ /**
+ * When a client's link to its manager is not active, the link role cannot
+ * be changed.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8;
+ */
+ const CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8;
+ /**
+ * Attempt to link a child to a parent that contains or will contain
+ * duplicate children.
+ *
+ * Generated from protobuf enum DUPLICATE_CHILD_FOUND = 9;
+ */
+ const DUPLICATE_CHILD_FOUND = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NO_PENDING_INVITE => 'NO_PENDING_INVITE',
+ self::SAME_CLIENT_MORE_THAN_ONCE_PER_CALL => 'SAME_CLIENT_MORE_THAN_ONCE_PER_CALL',
+ self::MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS => 'MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS',
+ self::CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER => 'CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER',
+ self::CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER => 'CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER',
+ self::CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER => 'CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER',
+ self::CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT => 'CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT',
+ self::DUPLICATE_CHILD_FOUND => 'DUPLICATE_CHILD_FOUND',
+ ];
+
+ 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(CustomerManagerLinkError::class, \Google\Ads\GoogleAds\V2\Errors\CustomerManagerLinkErrorEnum_CustomerManagerLinkError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum_CustomerManagerLinkError.php b/src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum_CustomerManagerLinkError.php
new file mode 100644
index 000000000..96580ab43
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/CustomerManagerLinkErrorEnum_CustomerManagerLinkError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.DatabaseErrorEnum
+ */
+final class DatabaseErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\DatabaseError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum/DatabaseError.php b/src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum/DatabaseError.php
new file mode 100644
index 000000000..9da9c32e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum/DatabaseError.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.errors.DatabaseErrorEnum.DatabaseError
+ */
+class DatabaseError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Multiple requests were attempting to modify the same resource at once.
+ * Please retry the request.
+ *
+ * Generated from protobuf enum CONCURRENT_MODIFICATION = 2;
+ */
+ const CONCURRENT_MODIFICATION = 2;
+ /**
+ * The request conflicted with existing data. This error will usually be
+ * replaced with a more specific error if the request is retried.
+ *
+ * Generated from protobuf enum DATA_CONSTRAINT_VIOLATION = 3;
+ */
+ const DATA_CONSTRAINT_VIOLATION = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CONCURRENT_MODIFICATION => 'CONCURRENT_MODIFICATION',
+ self::DATA_CONSTRAINT_VIOLATION => 'DATA_CONSTRAINT_VIOLATION',
+ ];
+
+ 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(DatabaseError::class, \Google\Ads\GoogleAds\V2\Errors\DatabaseErrorEnum_DatabaseError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum_DatabaseError.php b/src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum_DatabaseError.php
new file mode 100644
index 000000000..839ccfc3e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DatabaseErrorEnum_DatabaseError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.DateErrorEnum
+ */
+final class DateErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\DateError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum/DateError.php b/src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum/DateError.php
new file mode 100644
index 000000000..985d6b5be
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum/DateError.php
@@ -0,0 +1,127 @@
+google.ads.googleads.v2.errors.DateErrorEnum.DateError
+ */
+class DateError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Given field values do not correspond to a valid date.
+ *
+ * Generated from protobuf enum INVALID_FIELD_VALUES_IN_DATE = 2;
+ */
+ const INVALID_FIELD_VALUES_IN_DATE = 2;
+ /**
+ * Given field values do not correspond to a valid date time.
+ *
+ * Generated from protobuf enum INVALID_FIELD_VALUES_IN_DATE_TIME = 3;
+ */
+ const INVALID_FIELD_VALUES_IN_DATE_TIME = 3;
+ /**
+ * The string date's format should be yyyy-mm-dd.
+ *
+ * Generated from protobuf enum INVALID_STRING_DATE = 4;
+ */
+ const INVALID_STRING_DATE = 4;
+ /**
+ * The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.
+ *
+ * Generated from protobuf enum INVALID_STRING_DATE_TIME_MICROS = 6;
+ */
+ const INVALID_STRING_DATE_TIME_MICROS = 6;
+ /**
+ * The string date time's format should be yyyy-mm-dd hh:mm:ss.
+ *
+ * Generated from protobuf enum INVALID_STRING_DATE_TIME_SECONDS = 11;
+ */
+ const INVALID_STRING_DATE_TIME_SECONDS = 11;
+ /**
+ * The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.
+ *
+ * Generated from protobuf enum INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12;
+ */
+ const INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12;
+ /**
+ * Date is before allowed minimum.
+ *
+ * Generated from protobuf enum EARLIER_THAN_MINIMUM_DATE = 7;
+ */
+ const EARLIER_THAN_MINIMUM_DATE = 7;
+ /**
+ * Date is after allowed maximum.
+ *
+ * Generated from protobuf enum LATER_THAN_MAXIMUM_DATE = 8;
+ */
+ const LATER_THAN_MAXIMUM_DATE = 8;
+ /**
+ * Date range bounds are not in order.
+ *
+ * Generated from protobuf enum DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9;
+ */
+ const DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9;
+ /**
+ * Both dates in range are null.
+ *
+ * Generated from protobuf enum DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10;
+ */
+ const DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_FIELD_VALUES_IN_DATE => 'INVALID_FIELD_VALUES_IN_DATE',
+ self::INVALID_FIELD_VALUES_IN_DATE_TIME => 'INVALID_FIELD_VALUES_IN_DATE_TIME',
+ self::INVALID_STRING_DATE => 'INVALID_STRING_DATE',
+ self::INVALID_STRING_DATE_TIME_MICROS => 'INVALID_STRING_DATE_TIME_MICROS',
+ self::INVALID_STRING_DATE_TIME_SECONDS => 'INVALID_STRING_DATE_TIME_SECONDS',
+ self::INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET => 'INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET',
+ self::EARLIER_THAN_MINIMUM_DATE => 'EARLIER_THAN_MINIMUM_DATE',
+ self::LATER_THAN_MAXIMUM_DATE => 'LATER_THAN_MAXIMUM_DATE',
+ self::DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE => 'DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE',
+ self::DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL => 'DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL',
+ ];
+
+ 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(DateError::class, \Google\Ads\GoogleAds\V2\Errors\DateErrorEnum_DateError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum_DateError.php b/src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum_DateError.php
new file mode 100644
index 000000000..4acd2dec9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DateErrorEnum_DateError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.DateRangeErrorEnum
+ */
+final class DateRangeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\DateRangeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum/DateRangeError.php b/src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum/DateRangeError.php
new file mode 100644
index 000000000..97534fd15
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum/DateRangeError.php
@@ -0,0 +1,92 @@
+google.ads.googleads.v2.errors.DateRangeErrorEnum.DateRangeError
+ */
+class DateRangeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Invalid date.
+ *
+ * Generated from protobuf enum INVALID_DATE = 2;
+ */
+ const INVALID_DATE = 2;
+ /**
+ * The start date was after the end date.
+ *
+ * Generated from protobuf enum START_DATE_AFTER_END_DATE = 3;
+ */
+ const START_DATE_AFTER_END_DATE = 3;
+ /**
+ * Cannot set date to past time
+ *
+ * Generated from protobuf enum CANNOT_SET_DATE_TO_PAST = 4;
+ */
+ const CANNOT_SET_DATE_TO_PAST = 4;
+ /**
+ * A date was used that is past the system "last" date.
+ *
+ * Generated from protobuf enum AFTER_MAXIMUM_ALLOWABLE_DATE = 5;
+ */
+ const AFTER_MAXIMUM_ALLOWABLE_DATE = 5;
+ /**
+ * Trying to change start date on a resource that has started.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6;
+ */
+ const CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_DATE => 'INVALID_DATE',
+ self::START_DATE_AFTER_END_DATE => 'START_DATE_AFTER_END_DATE',
+ self::CANNOT_SET_DATE_TO_PAST => 'CANNOT_SET_DATE_TO_PAST',
+ self::AFTER_MAXIMUM_ALLOWABLE_DATE => 'AFTER_MAXIMUM_ALLOWABLE_DATE',
+ self::CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED => 'CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED',
+ ];
+
+ 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(DateRangeError::class, \Google\Ads\GoogleAds\V2\Errors\DateRangeErrorEnum_DateRangeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum_DateRangeError.php b/src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum_DateRangeError.php
new file mode 100644
index 000000000..104c0e278
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DateRangeErrorEnum_DateRangeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.DistinctErrorEnum
+ */
+final class DistinctErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\DistinctError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum/DistinctError.php b/src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum/DistinctError.php
new file mode 100644
index 000000000..7b928d4ee
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum/DistinctError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.DistinctErrorEnum.DistinctError
+ */
+class DistinctError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Duplicate element.
+ *
+ * Generated from protobuf enum DUPLICATE_ELEMENT = 2;
+ */
+ const DUPLICATE_ELEMENT = 2;
+ /**
+ * Duplicate type.
+ *
+ * Generated from protobuf enum DUPLICATE_TYPE = 3;
+ */
+ const DUPLICATE_TYPE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::DUPLICATE_ELEMENT => 'DUPLICATE_ELEMENT',
+ self::DUPLICATE_TYPE => 'DUPLICATE_TYPE',
+ ];
+
+ 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(DistinctError::class, \Google\Ads\GoogleAds\V2\Errors\DistinctErrorEnum_DistinctError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum_DistinctError.php b/src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum_DistinctError.php
new file mode 100644
index 000000000..f657500c3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/DistinctErrorEnum_DistinctError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.EnumErrorEnum
+ */
+final class EnumErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\EnumError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum/EnumError.php b/src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum/EnumError.php
new file mode 100644
index 000000000..3e51c29ff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum/EnumError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.EnumErrorEnum.EnumError
+ */
+class EnumError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The enum value is not permitted.
+ *
+ * Generated from protobuf enum ENUM_VALUE_NOT_PERMITTED = 3;
+ */
+ const ENUM_VALUE_NOT_PERMITTED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ENUM_VALUE_NOT_PERMITTED => 'ENUM_VALUE_NOT_PERMITTED',
+ ];
+
+ 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(EnumError::class, \Google\Ads\GoogleAds\V2\Errors\EnumErrorEnum_EnumError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum_EnumError.php b/src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum_EnumError.php
new file mode 100644
index 000000000..cfd407a09
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/EnumErrorEnum_EnumError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ErrorCode
+ */
+final class ErrorCode extends \Google\Protobuf\Internal\Message
+{
+ protected $error_code;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $request_error
+ * An error caused by the request
+ * @type int $bidding_strategy_error
+ * An error with a Bidding Strategy mutate.
+ * @type int $url_field_error
+ * An error with a URL field mutate.
+ * @type int $list_operation_error
+ * An error with a list operation.
+ * @type int $query_error
+ * An error with an AWQL query
+ * @type int $mutate_error
+ * An error with a mutate
+ * @type int $field_mask_error
+ * An error with a field mask
+ * @type int $authorization_error
+ * An error encountered when trying to authorize a user.
+ * @type int $internal_error
+ * An unexpected server-side error.
+ * @type int $quota_error
+ * An error with the amonut of quota remaining.
+ * @type int $ad_error
+ * An error with an Ad Group Ad mutate.
+ * @type int $ad_group_error
+ * An error with an Ad Group mutate.
+ * @type int $campaign_budget_error
+ * An error with a Campaign Budget mutate.
+ * @type int $campaign_error
+ * An error with a Campaign mutate.
+ * @type int $authentication_error
+ * Indicates failure to properly authenticate user.
+ * @type int $ad_group_criterion_error
+ * Indicates failure to properly authenticate user.
+ * @type int $ad_customizer_error
+ * The reasons for the ad customizer error
+ * @type int $ad_group_ad_error
+ * The reasons for the ad group ad error
+ * @type int $ad_sharing_error
+ * The reasons for the ad sharing error
+ * @type int $adx_error
+ * The reasons for the adx error
+ * @type int $asset_error
+ * The reasons for the asset error
+ * @type int $bidding_error
+ * The reasons for the bidding errors
+ * @type int $campaign_criterion_error
+ * The reasons for the campaign criterion error
+ * @type int $collection_size_error
+ * The reasons for the collection size error
+ * @type int $country_code_error
+ * The reasons for the country code error
+ * @type int $criterion_error
+ * The reasons for the criterion error
+ * @type int $customer_error
+ * The reasons for the customer error
+ * @type int $date_error
+ * The reasons for the date error
+ * @type int $date_range_error
+ * The reasons for the date range error
+ * @type int $distinct_error
+ * The reasons for the distinct error
+ * @type int $feed_attribute_reference_error
+ * The reasons for the feed attribute reference error
+ * @type int $function_error
+ * The reasons for the function error
+ * @type int $function_parsing_error
+ * The reasons for the function parsing error
+ * @type int $id_error
+ * The reasons for the id error
+ * @type int $image_error
+ * The reasons for the image error
+ * @type int $language_code_error
+ * The reasons for the language code error
+ * @type int $media_bundle_error
+ * The reasons for the media bundle error
+ * @type int $media_upload_error
+ * The reasons for media uploading errors.
+ * @type int $media_file_error
+ * The reasons for the media file error
+ * @type int $multiplier_error
+ * The reasons for the multiplier error
+ * @type int $new_resource_creation_error
+ * The reasons for the new resource creation error
+ * @type int $not_empty_error
+ * The reasons for the not empty error
+ * @type int $null_error
+ * The reasons for the null error
+ * @type int $operator_error
+ * The reasons for the operator error
+ * @type int $range_error
+ * The reasons for the range error
+ * @type int $recommendation_error
+ * The reasons for error in applying a recommendation
+ * @type int $region_code_error
+ * The reasons for the region code error
+ * @type int $setting_error
+ * The reasons for the setting error
+ * @type int $string_format_error
+ * The reasons for the string format error
+ * @type int $string_length_error
+ * The reasons for the string length error
+ * @type int $operation_access_denied_error
+ * The reasons for the operation access denied error
+ * @type int $resource_access_denied_error
+ * The reasons for the resource access denied error
+ * @type int $resource_count_limit_exceeded_error
+ * The reasons for the resource count limit exceeded error
+ * @type int $youtube_video_registration_error
+ * The reasons for YouTube video registration errors.
+ * @type int $ad_group_bid_modifier_error
+ * The reasons for the ad group bid modifier error
+ * @type int $context_error
+ * The reasons for the context error
+ * @type int $field_error
+ * The reasons for the field error
+ * @type int $shared_set_error
+ * The reasons for the shared set error
+ * @type int $shared_criterion_error
+ * The reasons for the shared criterion error
+ * @type int $campaign_shared_set_error
+ * The reasons for the campaign shared set error
+ * @type int $conversion_action_error
+ * The reasons for the conversion action error
+ * @type int $conversion_adjustment_upload_error
+ * The reasons for the conversion adjustment upload error
+ * @type int $conversion_upload_error
+ * The reasons for the conversion upload error
+ * @type int $header_error
+ * The reasons for the header error.
+ * @type int $database_error
+ * The reasons for the database error.
+ * @type int $policy_finding_error
+ * The reasons for the policy finding error.
+ * @type int $enum_error
+ * The reason for enum error.
+ * @type int $keyword_plan_error
+ * The reason for keyword plan error.
+ * @type int $keyword_plan_campaign_error
+ * The reason for keyword plan campaign error.
+ * @type int $keyword_plan_negative_keyword_error
+ * The reason for keyword plan negative keyword error.
+ * @type int $keyword_plan_ad_group_error
+ * The reason for keyword plan ad group error.
+ * @type int $keyword_plan_keyword_error
+ * The reason for keyword plan keyword error.
+ * @type int $keyword_plan_idea_error
+ * The reason for keyword idea error.
+ * @type int $account_budget_proposal_error
+ * The reasons for account budget proposal errors.
+ * @type int $user_list_error
+ * The reasons for the user list error
+ * @type int $change_status_error
+ * The reasons for the change status error
+ * @type int $feed_error
+ * The reasons for the feed error
+ * @type int $geo_target_constant_suggestion_error
+ * The reasons for the geo target constant suggestion error.
+ * @type int $campaign_draft_error
+ * The reasons for the campaign draft error
+ * @type int $feed_item_error
+ * The reasons for the feed item error
+ * @type int $label_error
+ * The reason for the label error.
+ * @type int $billing_setup_error
+ * The reasons for the billing setup error
+ * @type int $customer_client_link_error
+ * The reasons for the customer client link error
+ * @type int $customer_manager_link_error
+ * The reasons for the customer manager link error
+ * @type int $feed_mapping_error
+ * The reasons for the feed mapping error
+ * @type int $customer_feed_error
+ * The reasons for the customer feed error
+ * @type int $ad_group_feed_error
+ * The reasons for the ad group feed error
+ * @type int $campaign_feed_error
+ * The reasons for the campaign feed error
+ * @type int $custom_interest_error
+ * The reasons for the custom interest error
+ * @type int $campaign_experiment_error
+ * The reasons for the campaign experiment error
+ * @type int $extension_feed_item_error
+ * The reasons for the extension feed item error
+ * @type int $ad_parameter_error
+ * The reasons for the ad parameter error
+ * @type int $feed_item_validation_error
+ * The reasons for the feed item validation error
+ * @type int $extension_setting_error
+ * The reasons for the extension setting error
+ * @type int $feed_item_target_error
+ * The reasons for the feed item target error
+ * @type int $policy_violation_error
+ * The reasons for the policy violation error
+ * @type int $mutate_job_error
+ * The reasons for the mutate job error
+ * @type int $partial_failure_error
+ * The reasons for the mutate job error
+ * @type int $policy_validation_parameter_error
+ * The reasons for the policy validation parameter error
+ * @type int $size_limit_error
+ * The reasons for the size limit error
+ * @type int $not_whitelisted_error
+ * The reasons for the not whitelisted error
+ * @type int $manager_link_error
+ * The reasons for the manager link error
+ * @type int $currency_code_error
+ * The reasons for the currency code error
+ * @type int $access_invitation_error
+ * The reasons for the access invitation error
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * An error caused by the request
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RequestErrorEnum.RequestError request_error = 1;
+ * @return int
+ */
+ public function getRequestError()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * An error caused by the request
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RequestErrorEnum.RequestError request_error = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setRequestError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\RequestErrorEnum_RequestError::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a Bidding Strategy mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2;
+ * @return int
+ */
+ public function getBiddingStrategyError()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * An error with a Bidding Strategy mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setBiddingStrategyError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\BiddingStrategyErrorEnum_BiddingStrategyError::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a URL field mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.UrlFieldErrorEnum.UrlFieldError url_field_error = 3;
+ * @return int
+ */
+ public function getUrlFieldError()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * An error with a URL field mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.UrlFieldErrorEnum.UrlFieldError url_field_error = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setUrlFieldError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\UrlFieldErrorEnum_UrlFieldError::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a list operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ListOperationErrorEnum.ListOperationError list_operation_error = 4;
+ * @return int
+ */
+ public function getListOperationError()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * An error with a list operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ListOperationErrorEnum.ListOperationError list_operation_error = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setListOperationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ListOperationErrorEnum_ListOperationError::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with an AWQL query
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.QueryErrorEnum.QueryError query_error = 5;
+ * @return int
+ */
+ public function getQueryError()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * An error with an AWQL query
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.QueryErrorEnum.QueryError query_error = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setQueryError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\QueryErrorEnum_QueryError::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a mutate
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MutateErrorEnum.MutateError mutate_error = 7;
+ * @return int
+ */
+ public function getMutateError()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * An error with a mutate
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MutateErrorEnum.MutateError mutate_error = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setMutateError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\MutateErrorEnum_MutateError::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a field mask
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FieldMaskErrorEnum.FieldMaskError field_mask_error = 8;
+ * @return int
+ */
+ public function getFieldMaskError()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * An error with a field mask
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FieldMaskErrorEnum.FieldMaskError field_mask_error = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setFieldMaskError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FieldMaskErrorEnum_FieldMaskError::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error encountered when trying to authorize a user.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AuthorizationErrorEnum.AuthorizationError authorization_error = 9;
+ * @return int
+ */
+ public function getAuthorizationError()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * An error encountered when trying to authorize a user.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AuthorizationErrorEnum.AuthorizationError authorization_error = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setAuthorizationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AuthorizationErrorEnum_AuthorizationError::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * An unexpected server-side error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.InternalErrorEnum.InternalError internal_error = 10;
+ * @return int
+ */
+ public function getInternalError()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * An unexpected server-side error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.InternalErrorEnum.InternalError internal_error = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setInternalError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\InternalErrorEnum_InternalError::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with the amonut of quota remaining.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.QuotaErrorEnum.QuotaError quota_error = 11;
+ * @return int
+ */
+ public function getQuotaError()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * An error with the amonut of quota remaining.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.QuotaErrorEnum.QuotaError quota_error = 11;
+ * @param int $var
+ * @return $this
+ */
+ public function setQuotaError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\QuotaErrorEnum_QuotaError::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with an Ad Group Ad mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdErrorEnum.AdError ad_error = 12;
+ * @return int
+ */
+ public function getAdError()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * An error with an Ad Group Ad mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdErrorEnum.AdError ad_error = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdErrorEnum_AdError::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with an Ad Group mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupErrorEnum.AdGroupError ad_group_error = 13;
+ * @return int
+ */
+ public function getAdGroupError()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * An error with an Ad Group mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupErrorEnum.AdGroupError ad_group_error = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdGroupError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdGroupErrorEnum_AdGroupError::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a Campaign Budget mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14;
+ * @return int
+ */
+ public function getCampaignBudgetError()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * An error with a Campaign Budget mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignBudgetError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignBudgetErrorEnum_CampaignBudgetError::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * An error with a Campaign mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignErrorEnum.CampaignError campaign_error = 15;
+ * @return int
+ */
+ public function getCampaignError()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * An error with a Campaign mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignErrorEnum.CampaignError campaign_error = 15;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignErrorEnum_CampaignError::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * Indicates failure to properly authenticate user.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AuthenticationErrorEnum.AuthenticationError authentication_error = 17;
+ * @return int
+ */
+ public function getAuthenticationError()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * Indicates failure to properly authenticate user.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AuthenticationErrorEnum.AuthenticationError authentication_error = 17;
+ * @param int $var
+ * @return $this
+ */
+ public function setAuthenticationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AuthenticationErrorEnum_AuthenticationError::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * Indicates failure to properly authenticate user.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = 18;
+ * @return int
+ */
+ public function getAdGroupCriterionError()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * Indicates failure to properly authenticate user.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = 18;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdGroupCriterionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdGroupCriterionErrorEnum_AdGroupCriterionError::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the ad customizer error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19;
+ * @return int
+ */
+ public function getAdCustomizerError()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * The reasons for the ad customizer error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdCustomizerError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdCustomizerErrorEnum_AdCustomizerError::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the ad group ad error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21;
+ * @return int
+ */
+ public function getAdGroupAdError()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * The reasons for the ad group ad error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdGroupAdError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdGroupAdErrorEnum_AdGroupAdError::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the ad sharing error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdSharingErrorEnum.AdSharingError ad_sharing_error = 24;
+ * @return int
+ */
+ public function getAdSharingError()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * The reasons for the ad sharing error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdSharingErrorEnum.AdSharingError ad_sharing_error = 24;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdSharingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdSharingErrorEnum_AdSharingError::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the adx error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdxErrorEnum.AdxError adx_error = 25;
+ * @return int
+ */
+ public function getAdxError()
+ {
+ return $this->readOneof(25);
+ }
+
+ /**
+ * The reasons for the adx error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdxErrorEnum.AdxError adx_error = 25;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdxError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdxErrorEnum_AdxError::class);
+ $this->writeOneof(25, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the asset error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AssetErrorEnum.AssetError asset_error = 107;
+ * @return int
+ */
+ public function getAssetError()
+ {
+ return $this->readOneof(107);
+ }
+
+ /**
+ * The reasons for the asset error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AssetErrorEnum.AssetError asset_error = 107;
+ * @param int $var
+ * @return $this
+ */
+ public function setAssetError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AssetErrorEnum_AssetError::class);
+ $this->writeOneof(107, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the bidding errors
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.BiddingErrorEnum.BiddingError bidding_error = 26;
+ * @return int
+ */
+ public function getBiddingError()
+ {
+ return $this->readOneof(26);
+ }
+
+ /**
+ * The reasons for the bidding errors
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.BiddingErrorEnum.BiddingError bidding_error = 26;
+ * @param int $var
+ * @return $this
+ */
+ public function setBiddingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\BiddingErrorEnum_BiddingError::class);
+ $this->writeOneof(26, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the campaign criterion error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = 29;
+ * @return int
+ */
+ public function getCampaignCriterionError()
+ {
+ return $this->readOneof(29);
+ }
+
+ /**
+ * The reasons for the campaign criterion error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = 29;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignCriterionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignCriterionErrorEnum_CampaignCriterionError::class);
+ $this->writeOneof(29, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the collection size error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31;
+ * @return int
+ */
+ public function getCollectionSizeError()
+ {
+ return $this->readOneof(31);
+ }
+
+ /**
+ * The reasons for the collection size error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31;
+ * @param int $var
+ * @return $this
+ */
+ public function setCollectionSizeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CollectionSizeErrorEnum_CollectionSizeError::class);
+ $this->writeOneof(31, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the country code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CountryCodeErrorEnum.CountryCodeError country_code_error = 109;
+ * @return int
+ */
+ public function getCountryCodeError()
+ {
+ return $this->readOneof(109);
+ }
+
+ /**
+ * The reasons for the country code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CountryCodeErrorEnum.CountryCodeError country_code_error = 109;
+ * @param int $var
+ * @return $this
+ */
+ public function setCountryCodeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CountryCodeErrorEnum_CountryCodeError::class);
+ $this->writeOneof(109, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the criterion error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CriterionErrorEnum.CriterionError criterion_error = 32;
+ * @return int
+ */
+ public function getCriterionError()
+ {
+ return $this->readOneof(32);
+ }
+
+ /**
+ * The reasons for the criterion error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CriterionErrorEnum.CriterionError criterion_error = 32;
+ * @param int $var
+ * @return $this
+ */
+ public function setCriterionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CriterionErrorEnum_CriterionError::class);
+ $this->writeOneof(32, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the customer error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerErrorEnum.CustomerError customer_error = 90;
+ * @return int
+ */
+ public function getCustomerError()
+ {
+ return $this->readOneof(90);
+ }
+
+ /**
+ * The reasons for the customer error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerErrorEnum.CustomerError customer_error = 90;
+ * @param int $var
+ * @return $this
+ */
+ public function setCustomerError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CustomerErrorEnum_CustomerError::class);
+ $this->writeOneof(90, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the date error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DateErrorEnum.DateError date_error = 33;
+ * @return int
+ */
+ public function getDateError()
+ {
+ return $this->readOneof(33);
+ }
+
+ /**
+ * The reasons for the date error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DateErrorEnum.DateError date_error = 33;
+ * @param int $var
+ * @return $this
+ */
+ public function setDateError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\DateErrorEnum_DateError::class);
+ $this->writeOneof(33, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the date range error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DateRangeErrorEnum.DateRangeError date_range_error = 34;
+ * @return int
+ */
+ public function getDateRangeError()
+ {
+ return $this->readOneof(34);
+ }
+
+ /**
+ * The reasons for the date range error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DateRangeErrorEnum.DateRangeError date_range_error = 34;
+ * @param int $var
+ * @return $this
+ */
+ public function setDateRangeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\DateRangeErrorEnum_DateRangeError::class);
+ $this->writeOneof(34, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the distinct error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DistinctErrorEnum.DistinctError distinct_error = 35;
+ * @return int
+ */
+ public function getDistinctError()
+ {
+ return $this->readOneof(35);
+ }
+
+ /**
+ * The reasons for the distinct error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DistinctErrorEnum.DistinctError distinct_error = 35;
+ * @param int $var
+ * @return $this
+ */
+ public function setDistinctError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\DistinctErrorEnum_DistinctError::class);
+ $this->writeOneof(35, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the feed attribute reference error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError feed_attribute_reference_error = 36;
+ * @return int
+ */
+ public function getFeedAttributeReferenceError()
+ {
+ return $this->readOneof(36);
+ }
+
+ /**
+ * The reasons for the feed attribute reference error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError feed_attribute_reference_error = 36;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedAttributeReferenceError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedAttributeReferenceErrorEnum_FeedAttributeReferenceError::class);
+ $this->writeOneof(36, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the function error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FunctionErrorEnum.FunctionError function_error = 37;
+ * @return int
+ */
+ public function getFunctionError()
+ {
+ return $this->readOneof(37);
+ }
+
+ /**
+ * The reasons for the function error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FunctionErrorEnum.FunctionError function_error = 37;
+ * @param int $var
+ * @return $this
+ */
+ public function setFunctionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FunctionErrorEnum_FunctionError::class);
+ $this->writeOneof(37, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the function parsing error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38;
+ * @return int
+ */
+ public function getFunctionParsingError()
+ {
+ return $this->readOneof(38);
+ }
+
+ /**
+ * The reasons for the function parsing error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38;
+ * @param int $var
+ * @return $this
+ */
+ public function setFunctionParsingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FunctionParsingErrorEnum_FunctionParsingError::class);
+ $this->writeOneof(38, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the id error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.IdErrorEnum.IdError id_error = 39;
+ * @return int
+ */
+ public function getIdError()
+ {
+ return $this->readOneof(39);
+ }
+
+ /**
+ * The reasons for the id error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.IdErrorEnum.IdError id_error = 39;
+ * @param int $var
+ * @return $this
+ */
+ public function setIdError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\IdErrorEnum_IdError::class);
+ $this->writeOneof(39, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the image error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ImageErrorEnum.ImageError image_error = 40;
+ * @return int
+ */
+ public function getImageError()
+ {
+ return $this->readOneof(40);
+ }
+
+ /**
+ * The reasons for the image error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ImageErrorEnum.ImageError image_error = 40;
+ * @param int $var
+ * @return $this
+ */
+ public function setImageError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ImageErrorEnum_ImageError::class);
+ $this->writeOneof(40, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the language code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.LanguageCodeErrorEnum.LanguageCodeError language_code_error = 110;
+ * @return int
+ */
+ public function getLanguageCodeError()
+ {
+ return $this->readOneof(110);
+ }
+
+ /**
+ * The reasons for the language code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.LanguageCodeErrorEnum.LanguageCodeError language_code_error = 110;
+ * @param int $var
+ * @return $this
+ */
+ public function setLanguageCodeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\LanguageCodeErrorEnum_LanguageCodeError::class);
+ $this->writeOneof(110, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the media bundle error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42;
+ * @return int
+ */
+ public function getMediaBundleError()
+ {
+ return $this->readOneof(42);
+ }
+
+ /**
+ * The reasons for the media bundle error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42;
+ * @param int $var
+ * @return $this
+ */
+ public function setMediaBundleError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\MediaBundleErrorEnum_MediaBundleError::class);
+ $this->writeOneof(42, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for media uploading errors.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MediaUploadErrorEnum.MediaUploadError media_upload_error = 116;
+ * @return int
+ */
+ public function getMediaUploadError()
+ {
+ return $this->readOneof(116);
+ }
+
+ /**
+ * The reasons for media uploading errors.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MediaUploadErrorEnum.MediaUploadError media_upload_error = 116;
+ * @param int $var
+ * @return $this
+ */
+ public function setMediaUploadError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\MediaUploadErrorEnum_MediaUploadError::class);
+ $this->writeOneof(116, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the media file error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MediaFileErrorEnum.MediaFileError media_file_error = 86;
+ * @return int
+ */
+ public function getMediaFileError()
+ {
+ return $this->readOneof(86);
+ }
+
+ /**
+ * The reasons for the media file error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MediaFileErrorEnum.MediaFileError media_file_error = 86;
+ * @param int $var
+ * @return $this
+ */
+ public function setMediaFileError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\MediaFileErrorEnum_MediaFileError::class);
+ $this->writeOneof(86, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the multiplier error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MultiplierErrorEnum.MultiplierError multiplier_error = 44;
+ * @return int
+ */
+ public function getMultiplierError()
+ {
+ return $this->readOneof(44);
+ }
+
+ /**
+ * The reasons for the multiplier error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MultiplierErrorEnum.MultiplierError multiplier_error = 44;
+ * @param int $var
+ * @return $this
+ */
+ public function setMultiplierError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\MultiplierErrorEnum_MultiplierError::class);
+ $this->writeOneof(44, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the new resource creation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NewResourceCreationErrorEnum.NewResourceCreationError new_resource_creation_error = 45;
+ * @return int
+ */
+ public function getNewResourceCreationError()
+ {
+ return $this->readOneof(45);
+ }
+
+ /**
+ * The reasons for the new resource creation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NewResourceCreationErrorEnum.NewResourceCreationError new_resource_creation_error = 45;
+ * @param int $var
+ * @return $this
+ */
+ public function setNewResourceCreationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\NewResourceCreationErrorEnum_NewResourceCreationError::class);
+ $this->writeOneof(45, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the not empty error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NotEmptyErrorEnum.NotEmptyError not_empty_error = 46;
+ * @return int
+ */
+ public function getNotEmptyError()
+ {
+ return $this->readOneof(46);
+ }
+
+ /**
+ * The reasons for the not empty error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NotEmptyErrorEnum.NotEmptyError not_empty_error = 46;
+ * @param int $var
+ * @return $this
+ */
+ public function setNotEmptyError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\NotEmptyErrorEnum_NotEmptyError::class);
+ $this->writeOneof(46, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the null error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NullErrorEnum.NullError null_error = 47;
+ * @return int
+ */
+ public function getNullError()
+ {
+ return $this->readOneof(47);
+ }
+
+ /**
+ * The reasons for the null error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NullErrorEnum.NullError null_error = 47;
+ * @param int $var
+ * @return $this
+ */
+ public function setNullError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\NullErrorEnum_NullError::class);
+ $this->writeOneof(47, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the operator error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.OperatorErrorEnum.OperatorError operator_error = 48;
+ * @return int
+ */
+ public function getOperatorError()
+ {
+ return $this->readOneof(48);
+ }
+
+ /**
+ * The reasons for the operator error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.OperatorErrorEnum.OperatorError operator_error = 48;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperatorError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\OperatorErrorEnum_OperatorError::class);
+ $this->writeOneof(48, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the range error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RangeErrorEnum.RangeError range_error = 49;
+ * @return int
+ */
+ public function getRangeError()
+ {
+ return $this->readOneof(49);
+ }
+
+ /**
+ * The reasons for the range error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RangeErrorEnum.RangeError range_error = 49;
+ * @param int $var
+ * @return $this
+ */
+ public function setRangeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\RangeErrorEnum_RangeError::class);
+ $this->writeOneof(49, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for error in applying a recommendation
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RecommendationErrorEnum.RecommendationError recommendation_error = 58;
+ * @return int
+ */
+ public function getRecommendationError()
+ {
+ return $this->readOneof(58);
+ }
+
+ /**
+ * The reasons for error in applying a recommendation
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RecommendationErrorEnum.RecommendationError recommendation_error = 58;
+ * @param int $var
+ * @return $this
+ */
+ public function setRecommendationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\RecommendationErrorEnum_RecommendationError::class);
+ $this->writeOneof(58, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the region code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RegionCodeErrorEnum.RegionCodeError region_code_error = 51;
+ * @return int
+ */
+ public function getRegionCodeError()
+ {
+ return $this->readOneof(51);
+ }
+
+ /**
+ * The reasons for the region code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.RegionCodeErrorEnum.RegionCodeError region_code_error = 51;
+ * @param int $var
+ * @return $this
+ */
+ public function setRegionCodeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\RegionCodeErrorEnum_RegionCodeError::class);
+ $this->writeOneof(51, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the setting error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SettingErrorEnum.SettingError setting_error = 52;
+ * @return int
+ */
+ public function getSettingError()
+ {
+ return $this->readOneof(52);
+ }
+
+ /**
+ * The reasons for the setting error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SettingErrorEnum.SettingError setting_error = 52;
+ * @param int $var
+ * @return $this
+ */
+ public function setSettingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\SettingErrorEnum_SettingError::class);
+ $this->writeOneof(52, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the string format error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.StringFormatErrorEnum.StringFormatError string_format_error = 53;
+ * @return int
+ */
+ public function getStringFormatError()
+ {
+ return $this->readOneof(53);
+ }
+
+ /**
+ * The reasons for the string format error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.StringFormatErrorEnum.StringFormatError string_format_error = 53;
+ * @param int $var
+ * @return $this
+ */
+ public function setStringFormatError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\StringFormatErrorEnum_StringFormatError::class);
+ $this->writeOneof(53, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the string length error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.StringLengthErrorEnum.StringLengthError string_length_error = 54;
+ * @return int
+ */
+ public function getStringLengthError()
+ {
+ return $this->readOneof(54);
+ }
+
+ /**
+ * The reasons for the string length error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.StringLengthErrorEnum.StringLengthError string_length_error = 54;
+ * @param int $var
+ * @return $this
+ */
+ public function setStringLengthError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\StringLengthErrorEnum_StringLengthError::class);
+ $this->writeOneof(54, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the operation access denied error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.OperationAccessDeniedErrorEnum.OperationAccessDeniedError operation_access_denied_error = 55;
+ * @return int
+ */
+ public function getOperationAccessDeniedError()
+ {
+ return $this->readOneof(55);
+ }
+
+ /**
+ * The reasons for the operation access denied error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.OperationAccessDeniedErrorEnum.OperationAccessDeniedError operation_access_denied_error = 55;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperationAccessDeniedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\OperationAccessDeniedErrorEnum_OperationAccessDeniedError::class);
+ $this->writeOneof(55, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the resource access denied error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError resource_access_denied_error = 56;
+ * @return int
+ */
+ public function getResourceAccessDeniedError()
+ {
+ return $this->readOneof(56);
+ }
+
+ /**
+ * The reasons for the resource access denied error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError resource_access_denied_error = 56;
+ * @param int $var
+ * @return $this
+ */
+ public function setResourceAccessDeniedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ResourceAccessDeniedErrorEnum_ResourceAccessDeniedError::class);
+ $this->writeOneof(56, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the resource count limit exceeded error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError resource_count_limit_exceeded_error = 57;
+ * @return int
+ */
+ public function getResourceCountLimitExceededError()
+ {
+ return $this->readOneof(57);
+ }
+
+ /**
+ * The reasons for the resource count limit exceeded error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError resource_count_limit_exceeded_error = 57;
+ * @param int $var
+ * @return $this
+ */
+ public function setResourceCountLimitExceededError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ResourceCountLimitExceededErrorEnum_ResourceCountLimitExceededError::class);
+ $this->writeOneof(57, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for YouTube video registration errors.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.YoutubeVideoRegistrationErrorEnum.YoutubeVideoRegistrationError youtube_video_registration_error = 117;
+ * @return int
+ */
+ public function getYoutubeVideoRegistrationError()
+ {
+ return $this->readOneof(117);
+ }
+
+ /**
+ * The reasons for YouTube video registration errors.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.YoutubeVideoRegistrationErrorEnum.YoutubeVideoRegistrationError youtube_video_registration_error = 117;
+ * @param int $var
+ * @return $this
+ */
+ public function setYoutubeVideoRegistrationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\YoutubeVideoRegistrationErrorEnum_YoutubeVideoRegistrationError::class);
+ $this->writeOneof(117, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the ad group bid modifier error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierError ad_group_bid_modifier_error = 59;
+ * @return int
+ */
+ public function getAdGroupBidModifierError()
+ {
+ return $this->readOneof(59);
+ }
+
+ /**
+ * The reasons for the ad group bid modifier error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierError ad_group_bid_modifier_error = 59;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdGroupBidModifierError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdGroupBidModifierErrorEnum_AdGroupBidModifierError::class);
+ $this->writeOneof(59, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the context error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ContextErrorEnum.ContextError context_error = 60;
+ * @return int
+ */
+ public function getContextError()
+ {
+ return $this->readOneof(60);
+ }
+
+ /**
+ * The reasons for the context error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ContextErrorEnum.ContextError context_error = 60;
+ * @param int $var
+ * @return $this
+ */
+ public function setContextError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ContextErrorEnum_ContextError::class);
+ $this->writeOneof(60, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the field error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FieldErrorEnum.FieldError field_error = 61;
+ * @return int
+ */
+ public function getFieldError()
+ {
+ return $this->readOneof(61);
+ }
+
+ /**
+ * The reasons for the field error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FieldErrorEnum.FieldError field_error = 61;
+ * @param int $var
+ * @return $this
+ */
+ public function setFieldError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FieldErrorEnum_FieldError::class);
+ $this->writeOneof(61, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the shared set error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SharedSetErrorEnum.SharedSetError shared_set_error = 62;
+ * @return int
+ */
+ public function getSharedSetError()
+ {
+ return $this->readOneof(62);
+ }
+
+ /**
+ * The reasons for the shared set error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SharedSetErrorEnum.SharedSetError shared_set_error = 62;
+ * @param int $var
+ * @return $this
+ */
+ public function setSharedSetError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\SharedSetErrorEnum_SharedSetError::class);
+ $this->writeOneof(62, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the shared criterion error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SharedCriterionErrorEnum.SharedCriterionError shared_criterion_error = 63;
+ * @return int
+ */
+ public function getSharedCriterionError()
+ {
+ return $this->readOneof(63);
+ }
+
+ /**
+ * The reasons for the shared criterion error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SharedCriterionErrorEnum.SharedCriterionError shared_criterion_error = 63;
+ * @param int $var
+ * @return $this
+ */
+ public function setSharedCriterionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\SharedCriterionErrorEnum_SharedCriterionError::class);
+ $this->writeOneof(63, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the campaign shared set error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignSharedSetErrorEnum.CampaignSharedSetError campaign_shared_set_error = 64;
+ * @return int
+ */
+ public function getCampaignSharedSetError()
+ {
+ return $this->readOneof(64);
+ }
+
+ /**
+ * The reasons for the campaign shared set error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignSharedSetErrorEnum.CampaignSharedSetError campaign_shared_set_error = 64;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignSharedSetError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignSharedSetErrorEnum_CampaignSharedSetError::class);
+ $this->writeOneof(64, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the conversion action error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ConversionActionErrorEnum.ConversionActionError conversion_action_error = 65;
+ * @return int
+ */
+ public function getConversionActionError()
+ {
+ return $this->readOneof(65);
+ }
+
+ /**
+ * The reasons for the conversion action error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ConversionActionErrorEnum.ConversionActionError conversion_action_error = 65;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionActionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ConversionActionErrorEnum_ConversionActionError::class);
+ $this->writeOneof(65, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the conversion adjustment upload error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadError conversion_adjustment_upload_error = 115;
+ * @return int
+ */
+ public function getConversionAdjustmentUploadError()
+ {
+ return $this->readOneof(115);
+ }
+
+ /**
+ * The reasons for the conversion adjustment upload error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadError conversion_adjustment_upload_error = 115;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionAdjustmentUploadError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ConversionAdjustmentUploadErrorEnum_ConversionAdjustmentUploadError::class);
+ $this->writeOneof(115, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the conversion upload error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ConversionUploadErrorEnum.ConversionUploadError conversion_upload_error = 111;
+ * @return int
+ */
+ public function getConversionUploadError()
+ {
+ return $this->readOneof(111);
+ }
+
+ /**
+ * The reasons for the conversion upload error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ConversionUploadErrorEnum.ConversionUploadError conversion_upload_error = 111;
+ * @param int $var
+ * @return $this
+ */
+ public function setConversionUploadError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ConversionUploadErrorEnum_ConversionUploadError::class);
+ $this->writeOneof(111, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the header error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.HeaderErrorEnum.HeaderError header_error = 66;
+ * @return int
+ */
+ public function getHeaderError()
+ {
+ return $this->readOneof(66);
+ }
+
+ /**
+ * The reasons for the header error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.HeaderErrorEnum.HeaderError header_error = 66;
+ * @param int $var
+ * @return $this
+ */
+ public function setHeaderError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\HeaderErrorEnum_HeaderError::class);
+ $this->writeOneof(66, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the database error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DatabaseErrorEnum.DatabaseError database_error = 67;
+ * @return int
+ */
+ public function getDatabaseError()
+ {
+ return $this->readOneof(67);
+ }
+
+ /**
+ * The reasons for the database error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.DatabaseErrorEnum.DatabaseError database_error = 67;
+ * @param int $var
+ * @return $this
+ */
+ public function setDatabaseError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\DatabaseErrorEnum_DatabaseError::class);
+ $this->writeOneof(67, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the policy finding error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyFindingErrorEnum.PolicyFindingError policy_finding_error = 68;
+ * @return int
+ */
+ public function getPolicyFindingError()
+ {
+ return $this->readOneof(68);
+ }
+
+ /**
+ * The reasons for the policy finding error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyFindingErrorEnum.PolicyFindingError policy_finding_error = 68;
+ * @param int $var
+ * @return $this
+ */
+ public function setPolicyFindingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\PolicyFindingErrorEnum_PolicyFindingError::class);
+ $this->writeOneof(68, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for enum error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.EnumErrorEnum.EnumError enum_error = 70;
+ * @return int
+ */
+ public function getEnumError()
+ {
+ return $this->readOneof(70);
+ }
+
+ /**
+ * The reason for enum error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.EnumErrorEnum.EnumError enum_error = 70;
+ * @param int $var
+ * @return $this
+ */
+ public function setEnumError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\EnumErrorEnum_EnumError::class);
+ $this->writeOneof(70, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for keyword plan error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanErrorEnum.KeywordPlanError keyword_plan_error = 71;
+ * @return int
+ */
+ public function getKeywordPlanError()
+ {
+ return $this->readOneof(71);
+ }
+
+ /**
+ * The reason for keyword plan error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanErrorEnum.KeywordPlanError keyword_plan_error = 71;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanErrorEnum_KeywordPlanError::class);
+ $this->writeOneof(71, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for keyword plan campaign error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError keyword_plan_campaign_error = 72;
+ * @return int
+ */
+ public function getKeywordPlanCampaignError()
+ {
+ return $this->readOneof(72);
+ }
+
+ /**
+ * The reason for keyword plan campaign error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError keyword_plan_campaign_error = 72;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaignError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanCampaignErrorEnum_KeywordPlanCampaignError::class);
+ $this->writeOneof(72, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for keyword plan negative keyword error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError keyword_plan_negative_keyword_error = 73;
+ * @return int
+ */
+ public function getKeywordPlanNegativeKeywordError()
+ {
+ return $this->readOneof(73);
+ }
+
+ /**
+ * The reason for keyword plan negative keyword error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError keyword_plan_negative_keyword_error = 73;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanNegativeKeywordError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanNegativeKeywordErrorEnum_KeywordPlanNegativeKeywordError::class);
+ $this->writeOneof(73, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for keyword plan ad group error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError keyword_plan_ad_group_error = 74;
+ * @return int
+ */
+ public function getKeywordPlanAdGroupError()
+ {
+ return $this->readOneof(74);
+ }
+
+ /**
+ * The reason for keyword plan ad group error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError keyword_plan_ad_group_error = 74;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroupError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanAdGroupErrorEnum_KeywordPlanAdGroupError::class);
+ $this->writeOneof(74, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for keyword plan keyword error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError keyword_plan_keyword_error = 75;
+ * @return int
+ */
+ public function getKeywordPlanKeywordError()
+ {
+ return $this->readOneof(75);
+ }
+
+ /**
+ * The reason for keyword plan keyword error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError keyword_plan_keyword_error = 75;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanKeywordError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanKeywordErrorEnum_KeywordPlanKeywordError::class);
+ $this->writeOneof(75, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for keyword idea error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError keyword_plan_idea_error = 76;
+ * @return int
+ */
+ public function getKeywordPlanIdeaError()
+ {
+ return $this->readOneof(76);
+ }
+
+ /**
+ * The reason for keyword idea error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError keyword_plan_idea_error = 76;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanIdeaError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanIdeaErrorEnum_KeywordPlanIdeaError::class);
+ $this->writeOneof(76, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for account budget proposal errors.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AccountBudgetProposalErrorEnum.AccountBudgetProposalError account_budget_proposal_error = 77;
+ * @return int
+ */
+ public function getAccountBudgetProposalError()
+ {
+ return $this->readOneof(77);
+ }
+
+ /**
+ * The reasons for account budget proposal errors.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AccountBudgetProposalErrorEnum.AccountBudgetProposalError account_budget_proposal_error = 77;
+ * @param int $var
+ * @return $this
+ */
+ public function setAccountBudgetProposalError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AccountBudgetProposalErrorEnum_AccountBudgetProposalError::class);
+ $this->writeOneof(77, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the user list error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.UserListErrorEnum.UserListError user_list_error = 78;
+ * @return int
+ */
+ public function getUserListError()
+ {
+ return $this->readOneof(78);
+ }
+
+ /**
+ * The reasons for the user list error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.UserListErrorEnum.UserListError user_list_error = 78;
+ * @param int $var
+ * @return $this
+ */
+ public function setUserListError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\UserListErrorEnum_UserListError::class);
+ $this->writeOneof(78, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the change status error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ChangeStatusErrorEnum.ChangeStatusError change_status_error = 79;
+ * @return int
+ */
+ public function getChangeStatusError()
+ {
+ return $this->readOneof(79);
+ }
+
+ /**
+ * The reasons for the change status error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ChangeStatusErrorEnum.ChangeStatusError change_status_error = 79;
+ * @param int $var
+ * @return $this
+ */
+ public function setChangeStatusError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ChangeStatusErrorEnum_ChangeStatusError::class);
+ $this->writeOneof(79, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedErrorEnum.FeedError feed_error = 80;
+ * @return int
+ */
+ public function getFeedError()
+ {
+ return $this->readOneof(80);
+ }
+
+ /**
+ * The reasons for the feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedErrorEnum.FeedError feed_error = 80;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedErrorEnum_FeedError::class);
+ $this->writeOneof(80, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the geo target constant suggestion error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError geo_target_constant_suggestion_error = 81;
+ * @return int
+ */
+ public function getGeoTargetConstantSuggestionError()
+ {
+ return $this->readOneof(81);
+ }
+
+ /**
+ * The reasons for the geo target constant suggestion error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError geo_target_constant_suggestion_error = 81;
+ * @param int $var
+ * @return $this
+ */
+ public function setGeoTargetConstantSuggestionError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\GeoTargetConstantSuggestionErrorEnum_GeoTargetConstantSuggestionError::class);
+ $this->writeOneof(81, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the campaign draft error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignDraftErrorEnum.CampaignDraftError campaign_draft_error = 82;
+ * @return int
+ */
+ public function getCampaignDraftError()
+ {
+ return $this->readOneof(82);
+ }
+
+ /**
+ * The reasons for the campaign draft error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignDraftErrorEnum.CampaignDraftError campaign_draft_error = 82;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignDraftError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignDraftErrorEnum_CampaignDraftError::class);
+ $this->writeOneof(82, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the feed item error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemErrorEnum.FeedItemError feed_item_error = 83;
+ * @return int
+ */
+ public function getFeedItemError()
+ {
+ return $this->readOneof(83);
+ }
+
+ /**
+ * The reasons for the feed item error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemErrorEnum.FeedItemError feed_item_error = 83;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedItemError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedItemErrorEnum_FeedItemError::class);
+ $this->writeOneof(83, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reason for the label error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.LabelErrorEnum.LabelError label_error = 84;
+ * @return int
+ */
+ public function getLabelError()
+ {
+ return $this->readOneof(84);
+ }
+
+ /**
+ * The reason for the label error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.LabelErrorEnum.LabelError label_error = 84;
+ * @param int $var
+ * @return $this
+ */
+ public function setLabelError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\LabelErrorEnum_LabelError::class);
+ $this->writeOneof(84, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the billing setup error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.BillingSetupErrorEnum.BillingSetupError billing_setup_error = 87;
+ * @return int
+ */
+ public function getBillingSetupError()
+ {
+ return $this->readOneof(87);
+ }
+
+ /**
+ * The reasons for the billing setup error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.BillingSetupErrorEnum.BillingSetupError billing_setup_error = 87;
+ * @param int $var
+ * @return $this
+ */
+ public function setBillingSetupError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\BillingSetupErrorEnum_BillingSetupError::class);
+ $this->writeOneof(87, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the customer client link error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerClientLinkErrorEnum.CustomerClientLinkError customer_client_link_error = 88;
+ * @return int
+ */
+ public function getCustomerClientLinkError()
+ {
+ return $this->readOneof(88);
+ }
+
+ /**
+ * The reasons for the customer client link error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerClientLinkErrorEnum.CustomerClientLinkError customer_client_link_error = 88;
+ * @param int $var
+ * @return $this
+ */
+ public function setCustomerClientLinkError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CustomerClientLinkErrorEnum_CustomerClientLinkError::class);
+ $this->writeOneof(88, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the customer manager link error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerManagerLinkErrorEnum.CustomerManagerLinkError customer_manager_link_error = 91;
+ * @return int
+ */
+ public function getCustomerManagerLinkError()
+ {
+ return $this->readOneof(91);
+ }
+
+ /**
+ * The reasons for the customer manager link error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerManagerLinkErrorEnum.CustomerManagerLinkError customer_manager_link_error = 91;
+ * @param int $var
+ * @return $this
+ */
+ public function setCustomerManagerLinkError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CustomerManagerLinkErrorEnum_CustomerManagerLinkError::class);
+ $this->writeOneof(91, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the feed mapping error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedMappingErrorEnum.FeedMappingError feed_mapping_error = 92;
+ * @return int
+ */
+ public function getFeedMappingError()
+ {
+ return $this->readOneof(92);
+ }
+
+ /**
+ * The reasons for the feed mapping error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedMappingErrorEnum.FeedMappingError feed_mapping_error = 92;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedMappingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedMappingErrorEnum_FeedMappingError::class);
+ $this->writeOneof(92, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the customer feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerFeedErrorEnum.CustomerFeedError customer_feed_error = 93;
+ * @return int
+ */
+ public function getCustomerFeedError()
+ {
+ return $this->readOneof(93);
+ }
+
+ /**
+ * The reasons for the customer feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomerFeedErrorEnum.CustomerFeedError customer_feed_error = 93;
+ * @param int $var
+ * @return $this
+ */
+ public function setCustomerFeedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CustomerFeedErrorEnum_CustomerFeedError::class);
+ $this->writeOneof(93, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the ad group feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupFeedErrorEnum.AdGroupFeedError ad_group_feed_error = 94;
+ * @return int
+ */
+ public function getAdGroupFeedError()
+ {
+ return $this->readOneof(94);
+ }
+
+ /**
+ * The reasons for the ad group feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdGroupFeedErrorEnum.AdGroupFeedError ad_group_feed_error = 94;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdGroupFeedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdGroupFeedErrorEnum_AdGroupFeedError::class);
+ $this->writeOneof(94, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the campaign feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignFeedErrorEnum.CampaignFeedError campaign_feed_error = 96;
+ * @return int
+ */
+ public function getCampaignFeedError()
+ {
+ return $this->readOneof(96);
+ }
+
+ /**
+ * The reasons for the campaign feed error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignFeedErrorEnum.CampaignFeedError campaign_feed_error = 96;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignFeedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignFeedErrorEnum_CampaignFeedError::class);
+ $this->writeOneof(96, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the custom interest error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomInterestErrorEnum.CustomInterestError custom_interest_error = 97;
+ * @return int
+ */
+ public function getCustomInterestError()
+ {
+ return $this->readOneof(97);
+ }
+
+ /**
+ * The reasons for the custom interest error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CustomInterestErrorEnum.CustomInterestError custom_interest_error = 97;
+ * @param int $var
+ * @return $this
+ */
+ public function setCustomInterestError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CustomInterestErrorEnum_CustomInterestError::class);
+ $this->writeOneof(97, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the campaign experiment error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignExperimentErrorEnum.CampaignExperimentError campaign_experiment_error = 98;
+ * @return int
+ */
+ public function getCampaignExperimentError()
+ {
+ return $this->readOneof(98);
+ }
+
+ /**
+ * The reasons for the campaign experiment error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CampaignExperimentErrorEnum.CampaignExperimentError campaign_experiment_error = 98;
+ * @param int $var
+ * @return $this
+ */
+ public function setCampaignExperimentError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CampaignExperimentErrorEnum_CampaignExperimentError::class);
+ $this->writeOneof(98, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the extension feed item error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ExtensionFeedItemErrorEnum.ExtensionFeedItemError extension_feed_item_error = 100;
+ * @return int
+ */
+ public function getExtensionFeedItemError()
+ {
+ return $this->readOneof(100);
+ }
+
+ /**
+ * The reasons for the extension feed item error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ExtensionFeedItemErrorEnum.ExtensionFeedItemError extension_feed_item_error = 100;
+ * @param int $var
+ * @return $this
+ */
+ public function setExtensionFeedItemError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ExtensionFeedItemErrorEnum_ExtensionFeedItemError::class);
+ $this->writeOneof(100, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the ad parameter error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdParameterErrorEnum.AdParameterError ad_parameter_error = 101;
+ * @return int
+ */
+ public function getAdParameterError()
+ {
+ return $this->readOneof(101);
+ }
+
+ /**
+ * The reasons for the ad parameter error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AdParameterErrorEnum.AdParameterError ad_parameter_error = 101;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdParameterError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AdParameterErrorEnum_AdParameterError::class);
+ $this->writeOneof(101, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the feed item validation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError feed_item_validation_error = 102;
+ * @return int
+ */
+ public function getFeedItemValidationError()
+ {
+ return $this->readOneof(102);
+ }
+
+ /**
+ * The reasons for the feed item validation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError feed_item_validation_error = 102;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedItemValidationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedItemValidationErrorEnum_FeedItemValidationError::class);
+ $this->writeOneof(102, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the extension setting error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ExtensionSettingErrorEnum.ExtensionSettingError extension_setting_error = 103;
+ * @return int
+ */
+ public function getExtensionSettingError()
+ {
+ return $this->readOneof(103);
+ }
+
+ /**
+ * The reasons for the extension setting error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ExtensionSettingErrorEnum.ExtensionSettingError extension_setting_error = 103;
+ * @param int $var
+ * @return $this
+ */
+ public function setExtensionSettingError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ExtensionSettingErrorEnum_ExtensionSettingError::class);
+ $this->writeOneof(103, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the feed item target error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemTargetErrorEnum.FeedItemTargetError feed_item_target_error = 104;
+ * @return int
+ */
+ public function getFeedItemTargetError()
+ {
+ return $this->readOneof(104);
+ }
+
+ /**
+ * The reasons for the feed item target error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemTargetErrorEnum.FeedItemTargetError feed_item_target_error = 104;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedItemTargetError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedItemTargetErrorEnum_FeedItemTargetError::class);
+ $this->writeOneof(104, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the policy violation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyViolationErrorEnum.PolicyViolationError policy_violation_error = 105;
+ * @return int
+ */
+ public function getPolicyViolationError()
+ {
+ return $this->readOneof(105);
+ }
+
+ /**
+ * The reasons for the policy violation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyViolationErrorEnum.PolicyViolationError policy_violation_error = 105;
+ * @param int $var
+ * @return $this
+ */
+ public function setPolicyViolationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\PolicyViolationErrorEnum_PolicyViolationError::class);
+ $this->writeOneof(105, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the mutate job error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MutateJobErrorEnum.MutateJobError mutate_job_error = 108;
+ * @return int
+ */
+ public function getMutateJobError()
+ {
+ return $this->readOneof(108);
+ }
+
+ /**
+ * The reasons for the mutate job error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.MutateJobErrorEnum.MutateJobError mutate_job_error = 108;
+ * @param int $var
+ * @return $this
+ */
+ public function setMutateJobError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\MutateJobErrorEnum_MutateJobError::class);
+ $this->writeOneof(108, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the mutate job error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PartialFailureErrorEnum.PartialFailureError partial_failure_error = 112;
+ * @return int
+ */
+ public function getPartialFailureError()
+ {
+ return $this->readOneof(112);
+ }
+
+ /**
+ * The reasons for the mutate job error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PartialFailureErrorEnum.PartialFailureError partial_failure_error = 112;
+ * @param int $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\PartialFailureErrorEnum_PartialFailureError::class);
+ $this->writeOneof(112, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the policy validation parameter error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyValidationParameterErrorEnum.PolicyValidationParameterError policy_validation_parameter_error = 114;
+ * @return int
+ */
+ public function getPolicyValidationParameterError()
+ {
+ return $this->readOneof(114);
+ }
+
+ /**
+ * The reasons for the policy validation parameter error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyValidationParameterErrorEnum.PolicyValidationParameterError policy_validation_parameter_error = 114;
+ * @param int $var
+ * @return $this
+ */
+ public function setPolicyValidationParameterError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\PolicyValidationParameterErrorEnum_PolicyValidationParameterError::class);
+ $this->writeOneof(114, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the size limit error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SizeLimitErrorEnum.SizeLimitError size_limit_error = 118;
+ * @return int
+ */
+ public function getSizeLimitError()
+ {
+ return $this->readOneof(118);
+ }
+
+ /**
+ * The reasons for the size limit error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.SizeLimitErrorEnum.SizeLimitError size_limit_error = 118;
+ * @param int $var
+ * @return $this
+ */
+ public function setSizeLimitError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\SizeLimitErrorEnum_SizeLimitError::class);
+ $this->writeOneof(118, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the not whitelisted error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NotWhitelistedErrorEnum.NotWhitelistedError not_whitelisted_error = 120;
+ * @return int
+ */
+ public function getNotWhitelistedError()
+ {
+ return $this->readOneof(120);
+ }
+
+ /**
+ * The reasons for the not whitelisted error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.NotWhitelistedErrorEnum.NotWhitelistedError not_whitelisted_error = 120;
+ * @param int $var
+ * @return $this
+ */
+ public function setNotWhitelistedError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\NotWhitelistedErrorEnum_NotWhitelistedError::class);
+ $this->writeOneof(120, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the manager link error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ManagerLinkErrorEnum.ManagerLinkError manager_link_error = 121;
+ * @return int
+ */
+ public function getManagerLinkError()
+ {
+ return $this->readOneof(121);
+ }
+
+ /**
+ * The reasons for the manager link error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ManagerLinkErrorEnum.ManagerLinkError manager_link_error = 121;
+ * @param int $var
+ * @return $this
+ */
+ public function setManagerLinkError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\ManagerLinkErrorEnum_ManagerLinkError::class);
+ $this->writeOneof(121, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the currency code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CurrencyCodeErrorEnum.CurrencyCodeError currency_code_error = 122;
+ * @return int
+ */
+ public function getCurrencyCodeError()
+ {
+ return $this->readOneof(122);
+ }
+
+ /**
+ * The reasons for the currency code error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.CurrencyCodeErrorEnum.CurrencyCodeError currency_code_error = 122;
+ * @param int $var
+ * @return $this
+ */
+ public function setCurrencyCodeError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\CurrencyCodeErrorEnum_CurrencyCodeError::class);
+ $this->writeOneof(122, $var);
+
+ return $this;
+ }
+
+ /**
+ * The reasons for the access invitation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AccessInvitationErrorEnum.AccessInvitationError access_invitation_error = 124;
+ * @return int
+ */
+ public function getAccessInvitationError()
+ {
+ return $this->readOneof(124);
+ }
+
+ /**
+ * The reasons for the access invitation error
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.AccessInvitationErrorEnum.AccessInvitationError access_invitation_error = 124;
+ * @param int $var
+ * @return $this
+ */
+ public function setAccessInvitationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\AccessInvitationErrorEnum_AccessInvitationError::class);
+ $this->writeOneof(124, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getErrorCode()
+ {
+ return $this->whichOneof("error_code");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ErrorDetails.php b/src/Google/Ads/GoogleAds/V2/Errors/ErrorDetails.php
new file mode 100644
index 000000000..2b1f6187d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ErrorDetails.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.errors.ErrorDetails
+ */
+final class ErrorDetails extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The error code that should have been returned, but wasn't. This is used
+ * when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
+ *
+ * Generated from protobuf field string unpublished_error_code = 1;
+ */
+ private $unpublished_error_code = '';
+ /**
+ * Describes an ad policy violation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyViolationDetails policy_violation_details = 2;
+ */
+ private $policy_violation_details = null;
+ /**
+ * Describes policy violation findings.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyFindingDetails policy_finding_details = 3;
+ */
+ private $policy_finding_details = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $unpublished_error_code
+ * The error code that should have been returned, but wasn't. This is used
+ * when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
+ * @type \Google\Ads\GoogleAds\V2\Errors\PolicyViolationDetails $policy_violation_details
+ * Describes an ad policy violation.
+ * @type \Google\Ads\GoogleAds\V2\Errors\PolicyFindingDetails $policy_finding_details
+ * Describes policy violation findings.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The error code that should have been returned, but wasn't. This is used
+ * when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
+ *
+ * Generated from protobuf field string unpublished_error_code = 1;
+ * @return string
+ */
+ public function getUnpublishedErrorCode()
+ {
+ return $this->unpublished_error_code;
+ }
+
+ /**
+ * The error code that should have been returned, but wasn't. This is used
+ * when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
+ *
+ * Generated from protobuf field string unpublished_error_code = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setUnpublishedErrorCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->unpublished_error_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Describes an ad policy violation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyViolationDetails policy_violation_details = 2;
+ * @return \Google\Ads\GoogleAds\V2\Errors\PolicyViolationDetails
+ */
+ public function getPolicyViolationDetails()
+ {
+ return $this->policy_violation_details;
+ }
+
+ /**
+ * Describes an ad policy violation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyViolationDetails policy_violation_details = 2;
+ * @param \Google\Ads\GoogleAds\V2\Errors\PolicyViolationDetails $var
+ * @return $this
+ */
+ public function setPolicyViolationDetails($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Errors\PolicyViolationDetails::class);
+ $this->policy_violation_details = $var;
+
+ return $this;
+ }
+
+ /**
+ * Describes policy violation findings.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyFindingDetails policy_finding_details = 3;
+ * @return \Google\Ads\GoogleAds\V2\Errors\PolicyFindingDetails
+ */
+ public function getPolicyFindingDetails()
+ {
+ return $this->policy_finding_details;
+ }
+
+ /**
+ * Describes policy violation findings.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.PolicyFindingDetails policy_finding_details = 3;
+ * @param \Google\Ads\GoogleAds\V2\Errors\PolicyFindingDetails $var
+ * @return $this
+ */
+ public function setPolicyFindingDetails($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Errors\PolicyFindingDetails::class);
+ $this->policy_finding_details = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation.php b/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation.php
new file mode 100644
index 000000000..48acc628b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.errors.ErrorLocation
+ */
+final class ErrorLocation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A field path that indicates which field was invalid in the request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.errors.ErrorLocation.FieldPathElement field_path_elements = 2;
+ */
+ private $field_path_elements;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Errors\ErrorLocation\FieldPathElement[]|\Google\Protobuf\Internal\RepeatedField $field_path_elements
+ * A field path that indicates which field was invalid in the request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A field path that indicates which field was invalid in the request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.errors.ErrorLocation.FieldPathElement field_path_elements = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFieldPathElements()
+ {
+ return $this->field_path_elements;
+ }
+
+ /**
+ * A field path that indicates which field was invalid in the request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.errors.ErrorLocation.FieldPathElement field_path_elements = 2;
+ * @param \Google\Ads\GoogleAds\V2\Errors\ErrorLocation\FieldPathElement[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFieldPathElements($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Errors\ErrorLocation\FieldPathElement::class);
+ $this->field_path_elements = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation/FieldPathElement.php b/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation/FieldPathElement.php
new file mode 100644
index 000000000..5aff8a533
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation/FieldPathElement.php
@@ -0,0 +1,133 @@
+google.ads.googleads.v2.errors.ErrorLocation.FieldPathElement
+ */
+final class FieldPathElement extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The name of a field or a oneof
+ *
+ * Generated from protobuf field string field_name = 1;
+ */
+ private $field_name = '';
+ /**
+ * If field_name is a repeated field, this is the element that failed
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value index = 2;
+ */
+ private $index = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $field_name
+ * The name of a field or a oneof
+ * @type \Google\Protobuf\Int64Value $index
+ * If field_name is a repeated field, this is the element that failed
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The name of a field or a oneof
+ *
+ * Generated from protobuf field string field_name = 1;
+ * @return string
+ */
+ public function getFieldName()
+ {
+ return $this->field_name;
+ }
+
+ /**
+ * The name of a field or a oneof
+ *
+ * Generated from protobuf field string field_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setFieldName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->field_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * If field_name is a repeated field, this is the element that failed
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value index = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getIndex()
+ {
+ return $this->index;
+ }
+
+ /**
+ * Returns the unboxed value from getIndex()
+
+ * If field_name is a repeated field, this is the element that failed
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value index = 2;
+ * @return int|string|null
+ */
+ public function getIndexUnwrapped()
+ {
+ $wrapper = $this->getIndex();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * If field_name is a repeated field, this is the element that failed
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value index = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setIndex($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->index = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * If field_name is a repeated field, this is the element that failed
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value index = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIndexUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setIndex($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(FieldPathElement::class, \Google\Ads\GoogleAds\V2\Errors\ErrorLocation_FieldPathElement::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation_FieldPathElement.php b/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation_FieldPathElement.php
new file mode 100644
index 000000000..c5c04a641
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ErrorLocation_FieldPathElement.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ExtensionFeedItemErrorEnum
+ */
+final class ExtensionFeedItemErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ExtensionFeedItemError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum/ExtensionFeedItemError.php b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum/ExtensionFeedItemError.php
new file mode 100644
index 000000000..cc12c27f6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum/ExtensionFeedItemError.php
@@ -0,0 +1,373 @@
+google.ads.googleads.v2.errors.ExtensionFeedItemErrorEnum.ExtensionFeedItemError
+ */
+class ExtensionFeedItemError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Value is not within the accepted range.
+ *
+ * Generated from protobuf enum VALUE_OUT_OF_RANGE = 2;
+ */
+ const VALUE_OUT_OF_RANGE = 2;
+ /**
+ * Url list is too long.
+ *
+ * Generated from protobuf enum URL_LIST_TOO_LONG = 3;
+ */
+ const URL_LIST_TOO_LONG = 3;
+ /**
+ * Cannot have a geo targeting restriction without having geo targeting.
+ *
+ * Generated from protobuf enum CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4;
+ */
+ const CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4;
+ /**
+ * Cannot simultaneously set sitelink field with final urls.
+ *
+ * Generated from protobuf enum CANNOT_SET_WITH_FINAL_URLS = 5;
+ */
+ const CANNOT_SET_WITH_FINAL_URLS = 5;
+ /**
+ * Must set field with final urls.
+ *
+ * Generated from protobuf enum CANNOT_SET_WITHOUT_FINAL_URLS = 6;
+ */
+ const CANNOT_SET_WITHOUT_FINAL_URLS = 6;
+ /**
+ * Phone number for a call extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_PHONE_NUMBER = 7;
+ */
+ const INVALID_PHONE_NUMBER = 7;
+ /**
+ * Phone number for a call extension is not supported for the given country
+ * code.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8;
+ /**
+ * A carrier specific number in short format is not allowed for call
+ * extensions.
+ *
+ * Generated from protobuf enum CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9;
+ */
+ const CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9;
+ /**
+ * Premium rate numbers are not allowed for call extensions.
+ *
+ * Generated from protobuf enum PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10;
+ */
+ const PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10;
+ /**
+ * Phone number type for a call extension is not allowed.
+ * For example, personal number is not allowed for a call extension in
+ * most regions.
+ *
+ * Generated from protobuf enum DISALLOWED_NUMBER_TYPE = 11;
+ */
+ const DISALLOWED_NUMBER_TYPE = 11;
+ /**
+ * Phone number for a call extension does not meet domestic format
+ * requirements.
+ *
+ * Generated from protobuf enum INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12;
+ */
+ const INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12;
+ /**
+ * Vanity phone numbers (i.e. those including letters) are not allowed for
+ * call extensions.
+ *
+ * Generated from protobuf enum VANITY_PHONE_NUMBER_NOT_ALLOWED = 13;
+ */
+ const VANITY_PHONE_NUMBER_NOT_ALLOWED = 13;
+ /**
+ * Call conversion action provided for a call extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_CALL_CONVERSION_ACTION = 14;
+ */
+ const INVALID_CALL_CONVERSION_ACTION = 14;
+ /**
+ * For a call extension, the customer is not whitelisted for call tracking.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15;
+ */
+ const CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15;
+ /**
+ * Call tracking is not supported for the given country for a call
+ * extension.
+ *
+ * Generated from protobuf enum CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 16;
+ */
+ const CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 16;
+ /**
+ * Customer hasn't consented for call recording, which is required for
+ * creating/updating call feed items. Please see
+ * https://support.google.com/google-ads/answer/7412639.
+ *
+ * Generated from protobuf enum CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 17;
+ */
+ const CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 17;
+ /**
+ * App id provided for an app extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_APP_ID = 18;
+ */
+ const INVALID_APP_ID = 18;
+ /**
+ * Quotation marks present in the review text for a review extension.
+ *
+ * Generated from protobuf enum QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 19;
+ */
+ const QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 19;
+ /**
+ * Hyphen character present in the review text for a review extension.
+ *
+ * Generated from protobuf enum HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20;
+ */
+ const HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20;
+ /**
+ * A blacklisted review source name or url was provided for a review
+ * extension.
+ *
+ * Generated from protobuf enum REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21;
+ */
+ const REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21;
+ /**
+ * Review source name should not be found in the review text.
+ *
+ * Generated from protobuf enum SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 22;
+ */
+ const SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 22;
+ /**
+ * Inconsistent currency codes.
+ *
+ * Generated from protobuf enum INCONSISTENT_CURRENCY_CODES = 23;
+ */
+ const INCONSISTENT_CURRENCY_CODES = 23;
+ /**
+ * Price extension cannot have duplicated headers.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 24;
+ */
+ const PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 24;
+ /**
+ * Price item cannot have duplicated header and description.
+ *
+ * Generated from protobuf enum PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 25;
+ */
+ const PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 25;
+ /**
+ * Price extension has too few items.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 26;
+ */
+ const PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 26;
+ /**
+ * Price extension has too many items.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 27;
+ */
+ const PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 27;
+ /**
+ * The input value is not currently supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED_VALUE = 28;
+ */
+ const UNSUPPORTED_VALUE = 28;
+ /**
+ * The input value is not currently supported in the selected language of an
+ * extension.
+ *
+ * Generated from protobuf enum UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 29;
+ */
+ const UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 29;
+ /**
+ * Unknown or unsupported device preference.
+ *
+ * Generated from protobuf enum INVALID_DEVICE_PREFERENCE = 30;
+ */
+ const INVALID_DEVICE_PREFERENCE = 30;
+ /**
+ * Invalid feed item schedule end time (i.e., endHour = 24 and endMinute !=
+ * 0).
+ *
+ * Generated from protobuf enum INVALID_SCHEDULE_END = 31;
+ */
+ const INVALID_SCHEDULE_END = 31;
+ /**
+ * Date time zone does not match the account's time zone.
+ *
+ * Generated from protobuf enum DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 32;
+ */
+ const DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 32;
+ /**
+ * Invalid structured snippet header.
+ *
+ * Generated from protobuf enum INVALID_SNIPPETS_HEADER = 33;
+ */
+ const INVALID_SNIPPETS_HEADER = 33;
+ /**
+ * Cannot operate on removed feed item.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 34;
+ */
+ const CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 34;
+ /**
+ * Phone number not supported when call tracking enabled for country.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 35;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 35;
+ /**
+ * Cannot set call_conversion_action while call_conversion_tracking_enabled
+ * is set to true.
+ *
+ * Generated from protobuf enum CONFLICTING_CALL_CONVERSION_SETTINGS = 36;
+ */
+ const CONFLICTING_CALL_CONVERSION_SETTINGS = 36;
+ /**
+ * The type of the input extension feed item doesn't match the existing
+ * extension feed item.
+ *
+ * Generated from protobuf enum EXTENSION_TYPE_MISMATCH = 37;
+ */
+ const EXTENSION_TYPE_MISMATCH = 37;
+ /**
+ * The oneof field extension i.e. subtype of extension feed item is
+ * required.
+ *
+ * Generated from protobuf enum EXTENSION_SUBTYPE_REQUIRED = 38;
+ */
+ const EXTENSION_SUBTYPE_REQUIRED = 38;
+ /**
+ * The referenced feed item is not mapped to a supported extension type.
+ *
+ * Generated from protobuf enum EXTENSION_TYPE_UNSUPPORTED = 39;
+ */
+ const EXTENSION_TYPE_UNSUPPORTED = 39;
+ /**
+ * Cannot operate on a Feed with more than one active FeedMapping.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS = 40;
+ */
+ const CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS = 40;
+ /**
+ * Cannot operate on a Feed that has key attributes.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES = 41;
+ */
+ const CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES = 41;
+ /**
+ * Input price is not in a valid format.
+ *
+ * Generated from protobuf enum INVALID_PRICE_FORMAT = 42;
+ */
+ const INVALID_PRICE_FORMAT = 42;
+ /**
+ * The promotion time is invalid.
+ *
+ * Generated from protobuf enum PROMOTION_INVALID_TIME = 43;
+ */
+ const PROMOTION_INVALID_TIME = 43;
+ /**
+ * This field has too many decimal places specified.
+ *
+ * Generated from protobuf enum TOO_MANY_DECIMAL_PLACES_SPECIFIED = 44;
+ */
+ const TOO_MANY_DECIMAL_PLACES_SPECIFIED = 44;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::VALUE_OUT_OF_RANGE => 'VALUE_OUT_OF_RANGE',
+ self::URL_LIST_TOO_LONG => 'URL_LIST_TOO_LONG',
+ self::CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING => 'CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING',
+ self::CANNOT_SET_WITH_FINAL_URLS => 'CANNOT_SET_WITH_FINAL_URLS',
+ self::CANNOT_SET_WITHOUT_FINAL_URLS => 'CANNOT_SET_WITHOUT_FINAL_URLS',
+ self::INVALID_PHONE_NUMBER => 'INVALID_PHONE_NUMBER',
+ self::PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY',
+ self::CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED => 'CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED',
+ self::PREMIUM_RATE_NUMBER_NOT_ALLOWED => 'PREMIUM_RATE_NUMBER_NOT_ALLOWED',
+ self::DISALLOWED_NUMBER_TYPE => 'DISALLOWED_NUMBER_TYPE',
+ self::INVALID_DOMESTIC_PHONE_NUMBER_FORMAT => 'INVALID_DOMESTIC_PHONE_NUMBER_FORMAT',
+ self::VANITY_PHONE_NUMBER_NOT_ALLOWED => 'VANITY_PHONE_NUMBER_NOT_ALLOWED',
+ self::INVALID_CALL_CONVERSION_ACTION => 'INVALID_CALL_CONVERSION_ACTION',
+ self::CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING => 'CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING',
+ self::CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY => 'CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY',
+ self::CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED => 'CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED',
+ self::INVALID_APP_ID => 'INVALID_APP_ID',
+ self::QUOTES_IN_REVIEW_EXTENSION_SNIPPET => 'QUOTES_IN_REVIEW_EXTENSION_SNIPPET',
+ self::HYPHENS_IN_REVIEW_EXTENSION_SNIPPET => 'HYPHENS_IN_REVIEW_EXTENSION_SNIPPET',
+ self::REVIEW_EXTENSION_SOURCE_INELIGIBLE => 'REVIEW_EXTENSION_SOURCE_INELIGIBLE',
+ self::SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT => 'SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT',
+ self::INCONSISTENT_CURRENCY_CODES => 'INCONSISTENT_CURRENCY_CODES',
+ self::PRICE_EXTENSION_HAS_DUPLICATED_HEADERS => 'PRICE_EXTENSION_HAS_DUPLICATED_HEADERS',
+ self::PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION => 'PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION',
+ self::PRICE_EXTENSION_HAS_TOO_FEW_ITEMS => 'PRICE_EXTENSION_HAS_TOO_FEW_ITEMS',
+ self::PRICE_EXTENSION_HAS_TOO_MANY_ITEMS => 'PRICE_EXTENSION_HAS_TOO_MANY_ITEMS',
+ self::UNSUPPORTED_VALUE => 'UNSUPPORTED_VALUE',
+ self::UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE => 'UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE',
+ self::INVALID_DEVICE_PREFERENCE => 'INVALID_DEVICE_PREFERENCE',
+ self::INVALID_SCHEDULE_END => 'INVALID_SCHEDULE_END',
+ self::DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE => 'DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE',
+ self::INVALID_SNIPPETS_HEADER => 'INVALID_SNIPPETS_HEADER',
+ self::CANNOT_OPERATE_ON_REMOVED_FEED_ITEM => 'CANNOT_OPERATE_ON_REMOVED_FEED_ITEM',
+ self::PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY',
+ self::CONFLICTING_CALL_CONVERSION_SETTINGS => 'CONFLICTING_CALL_CONVERSION_SETTINGS',
+ self::EXTENSION_TYPE_MISMATCH => 'EXTENSION_TYPE_MISMATCH',
+ self::EXTENSION_SUBTYPE_REQUIRED => 'EXTENSION_SUBTYPE_REQUIRED',
+ self::EXTENSION_TYPE_UNSUPPORTED => 'EXTENSION_TYPE_UNSUPPORTED',
+ self::CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS => 'CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS',
+ self::CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES => 'CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES',
+ self::INVALID_PRICE_FORMAT => 'INVALID_PRICE_FORMAT',
+ self::PROMOTION_INVALID_TIME => 'PROMOTION_INVALID_TIME',
+ self::TOO_MANY_DECIMAL_PLACES_SPECIFIED => 'TOO_MANY_DECIMAL_PLACES_SPECIFIED',
+ ];
+
+ 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(ExtensionFeedItemError::class, \Google\Ads\GoogleAds\V2\Errors\ExtensionFeedItemErrorEnum_ExtensionFeedItemError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum_ExtensionFeedItemError.php b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum_ExtensionFeedItemError.php
new file mode 100644
index 000000000..bd7dd9948
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionFeedItemErrorEnum_ExtensionFeedItemError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ExtensionSettingErrorEnum
+ */
+final class ExtensionSettingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ExtensionSettingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum/ExtensionSettingError.php b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum/ExtensionSettingError.php
new file mode 100644
index 000000000..add25fc66
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum/ExtensionSettingError.php
@@ -0,0 +1,526 @@
+google.ads.googleads.v2.errors.ExtensionSettingErrorEnum.ExtensionSettingError
+ */
+class ExtensionSettingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A platform restriction was provided without input extensions or existing
+ * extensions.
+ *
+ * Generated from protobuf enum EXTENSIONS_REQUIRED = 2;
+ */
+ const EXTENSIONS_REQUIRED = 2;
+ /**
+ * The provided feed type does not correspond to the provided extensions.
+ *
+ * Generated from protobuf enum FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3;
+ */
+ const FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3;
+ /**
+ * The provided feed type cannot be used.
+ *
+ * Generated from protobuf enum INVALID_FEED_TYPE = 4;
+ */
+ const INVALID_FEED_TYPE = 4;
+ /**
+ * The provided feed type cannot be used at the customer level.
+ *
+ * Generated from protobuf enum INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5;
+ */
+ const INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5;
+ /**
+ * Cannot change a feed item field on a CREATE operation.
+ *
+ * Generated from protobuf enum CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6;
+ */
+ const CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6;
+ /**
+ * Cannot update an extension that is not already in this setting.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7;
+ */
+ const CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7;
+ /**
+ * There is no existing AdGroupExtensionSetting for this type.
+ *
+ * Generated from protobuf enum NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8;
+ */
+ const NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8;
+ /**
+ * There is no existing CampaignExtensionSetting for this type.
+ *
+ * Generated from protobuf enum NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9;
+ */
+ const NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9;
+ /**
+ * There is no existing CustomerExtensionSetting for this type.
+ *
+ * Generated from protobuf enum NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10;
+ */
+ const NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10;
+ /**
+ * The AdGroupExtensionSetting already exists. UPDATE should be used to
+ * modify the existing AdGroupExtensionSetting.
+ *
+ * Generated from protobuf enum AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11;
+ */
+ const AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11;
+ /**
+ * The CampaignExtensionSetting already exists. UPDATE should be used to
+ * modify the existing CampaignExtensionSetting.
+ *
+ * Generated from protobuf enum CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12;
+ */
+ const CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12;
+ /**
+ * The CustomerExtensionSetting already exists. UPDATE should be used to
+ * modify the existing CustomerExtensionSetting.
+ *
+ * Generated from protobuf enum CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13;
+ */
+ const CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13;
+ /**
+ * An active ad group feed already exists for this place holder type.
+ *
+ * Generated from protobuf enum AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14;
+ */
+ const AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14;
+ /**
+ * An active campaign feed already exists for this place holder type.
+ *
+ * Generated from protobuf enum CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15;
+ */
+ const CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15;
+ /**
+ * An active customer feed already exists for this place holder type.
+ *
+ * Generated from protobuf enum CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16;
+ */
+ const CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16;
+ /**
+ * Value is not within the accepted range.
+ *
+ * Generated from protobuf enum VALUE_OUT_OF_RANGE = 17;
+ */
+ const VALUE_OUT_OF_RANGE = 17;
+ /**
+ * Cannot simultaneously set specified field with final urls.
+ *
+ * Generated from protobuf enum CANNOT_SET_FIELD_WITH_FINAL_URLS = 18;
+ */
+ const CANNOT_SET_FIELD_WITH_FINAL_URLS = 18;
+ /**
+ * Must set field with final urls.
+ *
+ * Generated from protobuf enum FINAL_URLS_NOT_SET = 19;
+ */
+ const FINAL_URLS_NOT_SET = 19;
+ /**
+ * Phone number for a call extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_PHONE_NUMBER = 20;
+ */
+ const INVALID_PHONE_NUMBER = 20;
+ /**
+ * Phone number for a call extension is not supported for the given country
+ * code.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21;
+ /**
+ * A carrier specific number in short format is not allowed for call
+ * extensions.
+ *
+ * Generated from protobuf enum CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22;
+ */
+ const CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22;
+ /**
+ * Premium rate numbers are not allowed for call extensions.
+ *
+ * Generated from protobuf enum PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23;
+ */
+ const PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23;
+ /**
+ * Phone number type for a call extension is not allowed.
+ *
+ * Generated from protobuf enum DISALLOWED_NUMBER_TYPE = 24;
+ */
+ const DISALLOWED_NUMBER_TYPE = 24;
+ /**
+ * Phone number for a call extension does not meet domestic format
+ * requirements.
+ *
+ * Generated from protobuf enum INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25;
+ */
+ const INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25;
+ /**
+ * Vanity phone numbers (i.e. those including letters) are not allowed for
+ * call extensions.
+ *
+ * Generated from protobuf enum VANITY_PHONE_NUMBER_NOT_ALLOWED = 26;
+ */
+ const VANITY_PHONE_NUMBER_NOT_ALLOWED = 26;
+ /**
+ * Country code provided for a call extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_COUNTRY_CODE = 27;
+ */
+ const INVALID_COUNTRY_CODE = 27;
+ /**
+ * Call conversion type id provided for a call extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_CALL_CONVERSION_TYPE_ID = 28;
+ */
+ const INVALID_CALL_CONVERSION_TYPE_ID = 28;
+ /**
+ * For a call extension, the customer is not whitelisted for call tracking.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29;
+ */
+ const CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29;
+ /**
+ * Call tracking is not supported for the given country for a call
+ * extension.
+ *
+ * Generated from protobuf enum CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 30;
+ */
+ const CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 30;
+ /**
+ * App id provided for an app extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_APP_ID = 31;
+ */
+ const INVALID_APP_ID = 31;
+ /**
+ * Quotation marks present in the review text for a review extension.
+ *
+ * Generated from protobuf enum QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 32;
+ */
+ const QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 32;
+ /**
+ * Hyphen character present in the review text for a review extension.
+ *
+ * Generated from protobuf enum HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33;
+ */
+ const HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33;
+ /**
+ * A blacklisted review source name or url was provided for a review
+ * extension.
+ *
+ * Generated from protobuf enum REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34;
+ */
+ const REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34;
+ /**
+ * Review source name should not be found in the review text.
+ *
+ * Generated from protobuf enum SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 35;
+ */
+ const SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 35;
+ /**
+ * Field must be set.
+ *
+ * Generated from protobuf enum MISSING_FIELD = 36;
+ */
+ const MISSING_FIELD = 36;
+ /**
+ * Inconsistent currency codes.
+ *
+ * Generated from protobuf enum INCONSISTENT_CURRENCY_CODES = 37;
+ */
+ const INCONSISTENT_CURRENCY_CODES = 37;
+ /**
+ * Price extension cannot have duplicated headers.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 38;
+ */
+ const PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 38;
+ /**
+ * Price item cannot have duplicated header and description.
+ *
+ * Generated from protobuf enum PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 39;
+ */
+ const PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 39;
+ /**
+ * Price extension has too few items
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 40;
+ */
+ const PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 40;
+ /**
+ * Price extension has too many items
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 41;
+ */
+ const PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 41;
+ /**
+ * The input value is not currently supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED_VALUE = 42;
+ */
+ const UNSUPPORTED_VALUE = 42;
+ /**
+ * Unknown or unsupported device preference.
+ *
+ * Generated from protobuf enum INVALID_DEVICE_PREFERENCE = 43;
+ */
+ const INVALID_DEVICE_PREFERENCE = 43;
+ /**
+ * Invalid feed item schedule end time (i.e., endHour = 24 and
+ * endMinute != 0).
+ *
+ * Generated from protobuf enum INVALID_SCHEDULE_END = 45;
+ */
+ const INVALID_SCHEDULE_END = 45;
+ /**
+ * Date time zone does not match the account's time zone.
+ *
+ * Generated from protobuf enum DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 47;
+ */
+ const DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 47;
+ /**
+ * Overlapping feed item schedule times (e.g., 7-10AM and 8-11AM) are not
+ * allowed.
+ *
+ * Generated from protobuf enum OVERLAPPING_SCHEDULES_NOT_ALLOWED = 48;
+ */
+ const OVERLAPPING_SCHEDULES_NOT_ALLOWED = 48;
+ /**
+ * Feed item schedule end time must be after start time.
+ *
+ * Generated from protobuf enum SCHEDULE_END_NOT_AFTER_START = 49;
+ */
+ const SCHEDULE_END_NOT_AFTER_START = 49;
+ /**
+ * There are too many feed item schedules per day.
+ *
+ * Generated from protobuf enum TOO_MANY_SCHEDULES_PER_DAY = 50;
+ */
+ const TOO_MANY_SCHEDULES_PER_DAY = 50;
+ /**
+ * Cannot edit the same extension feed item more than once in the same
+ * request.
+ *
+ * Generated from protobuf enum DUPLICATE_EXTENSION_FEED_ITEM_EDIT = 51;
+ */
+ const DUPLICATE_EXTENSION_FEED_ITEM_EDIT = 51;
+ /**
+ * Invalid structured snippet header.
+ *
+ * Generated from protobuf enum INVALID_SNIPPETS_HEADER = 52;
+ */
+ const INVALID_SNIPPETS_HEADER = 52;
+ /**
+ * Phone number with call tracking enabled is not supported for the
+ * specified country.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 53;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 53;
+ /**
+ * The targeted adgroup must belong to the targeted campaign.
+ *
+ * Generated from protobuf enum CAMPAIGN_TARGETING_MISMATCH = 54;
+ */
+ const CAMPAIGN_TARGETING_MISMATCH = 54;
+ /**
+ * The feed used by the ExtensionSetting is removed and cannot be operated
+ * on. Remove the ExtensionSetting to allow a new one to be created using
+ * an active feed.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_REMOVED_FEED = 55;
+ */
+ const CANNOT_OPERATE_ON_REMOVED_FEED = 55;
+ /**
+ * The ExtensionFeedItem type is required for this operation.
+ *
+ * Generated from protobuf enum EXTENSION_TYPE_REQUIRED = 56;
+ */
+ const EXTENSION_TYPE_REQUIRED = 56;
+ /**
+ * The matching function that links the extension feed to the customer,
+ * campaign, or ad group is not compatible with the ExtensionSetting
+ * services.
+ *
+ * Generated from protobuf enum INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION = 57;
+ */
+ const INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION = 57;
+ /**
+ * Start date must be before end date.
+ *
+ * Generated from protobuf enum START_DATE_AFTER_END_DATE = 58;
+ */
+ const START_DATE_AFTER_END_DATE = 58;
+ /**
+ * Input price is not in a valid format.
+ *
+ * Generated from protobuf enum INVALID_PRICE_FORMAT = 59;
+ */
+ const INVALID_PRICE_FORMAT = 59;
+ /**
+ * The promotion time is invalid.
+ *
+ * Generated from protobuf enum PROMOTION_INVALID_TIME = 60;
+ */
+ const PROMOTION_INVALID_TIME = 60;
+ /**
+ * Cannot set both percent discount and money discount fields.
+ *
+ * Generated from protobuf enum PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT = 61;
+ */
+ const PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT = 61;
+ /**
+ * Cannot set both promotion code and orders over amount fields.
+ *
+ * Generated from protobuf enum PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 62;
+ */
+ const PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 62;
+ /**
+ * This field has too many decimal places specified.
+ *
+ * Generated from protobuf enum TOO_MANY_DECIMAL_PLACES_SPECIFIED = 63;
+ */
+ const TOO_MANY_DECIMAL_PLACES_SPECIFIED = 63;
+ /**
+ * The language code is not valid.
+ *
+ * Generated from protobuf enum INVALID_LANGUAGE_CODE = 64;
+ */
+ const INVALID_LANGUAGE_CODE = 64;
+ /**
+ * The language is not supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED_LANGUAGE = 65;
+ */
+ const UNSUPPORTED_LANGUAGE = 65;
+ /**
+ * Customer hasn't consented for call recording, which is required for
+ * adding/updating call extensions. Please see
+ * https://support.google.com/google-ads/answer/7412639.
+ *
+ * Generated from protobuf enum CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 66;
+ */
+ const CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 66;
+ /**
+ * The UPDATE operation does not specify any fields other than the resource
+ * name in the update mask.
+ *
+ * Generated from protobuf enum EXTENSION_SETTING_UPDATE_IS_A_NOOP = 67;
+ */
+ const EXTENSION_SETTING_UPDATE_IS_A_NOOP = 67;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EXTENSIONS_REQUIRED => 'EXTENSIONS_REQUIRED',
+ self::FEED_TYPE_EXTENSION_TYPE_MISMATCH => 'FEED_TYPE_EXTENSION_TYPE_MISMATCH',
+ self::INVALID_FEED_TYPE => 'INVALID_FEED_TYPE',
+ self::INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING => 'INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING',
+ self::CANNOT_CHANGE_FEED_ITEM_ON_CREATE => 'CANNOT_CHANGE_FEED_ITEM_ON_CREATE',
+ self::CANNOT_UPDATE_NEWLY_CREATED_EXTENSION => 'CANNOT_UPDATE_NEWLY_CREATED_EXTENSION',
+ self::NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE => 'NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE',
+ self::NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE => 'NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE',
+ self::NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE => 'NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE',
+ self::AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS => 'AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS',
+ self::CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS => 'CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS',
+ self::CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS => 'CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS',
+ self::AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE => 'AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE',
+ self::CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE => 'CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE',
+ self::CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE => 'CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE',
+ self::VALUE_OUT_OF_RANGE => 'VALUE_OUT_OF_RANGE',
+ self::CANNOT_SET_FIELD_WITH_FINAL_URLS => 'CANNOT_SET_FIELD_WITH_FINAL_URLS',
+ self::FINAL_URLS_NOT_SET => 'FINAL_URLS_NOT_SET',
+ self::INVALID_PHONE_NUMBER => 'INVALID_PHONE_NUMBER',
+ self::PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY',
+ self::CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED => 'CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED',
+ self::PREMIUM_RATE_NUMBER_NOT_ALLOWED => 'PREMIUM_RATE_NUMBER_NOT_ALLOWED',
+ self::DISALLOWED_NUMBER_TYPE => 'DISALLOWED_NUMBER_TYPE',
+ self::INVALID_DOMESTIC_PHONE_NUMBER_FORMAT => 'INVALID_DOMESTIC_PHONE_NUMBER_FORMAT',
+ self::VANITY_PHONE_NUMBER_NOT_ALLOWED => 'VANITY_PHONE_NUMBER_NOT_ALLOWED',
+ self::INVALID_COUNTRY_CODE => 'INVALID_COUNTRY_CODE',
+ self::INVALID_CALL_CONVERSION_TYPE_ID => 'INVALID_CALL_CONVERSION_TYPE_ID',
+ self::CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING => 'CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING',
+ self::CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY => 'CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY',
+ self::INVALID_APP_ID => 'INVALID_APP_ID',
+ self::QUOTES_IN_REVIEW_EXTENSION_SNIPPET => 'QUOTES_IN_REVIEW_EXTENSION_SNIPPET',
+ self::HYPHENS_IN_REVIEW_EXTENSION_SNIPPET => 'HYPHENS_IN_REVIEW_EXTENSION_SNIPPET',
+ self::REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE => 'REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE',
+ self::SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT => 'SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT',
+ self::MISSING_FIELD => 'MISSING_FIELD',
+ self::INCONSISTENT_CURRENCY_CODES => 'INCONSISTENT_CURRENCY_CODES',
+ self::PRICE_EXTENSION_HAS_DUPLICATED_HEADERS => 'PRICE_EXTENSION_HAS_DUPLICATED_HEADERS',
+ self::PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION => 'PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION',
+ self::PRICE_EXTENSION_HAS_TOO_FEW_ITEMS => 'PRICE_EXTENSION_HAS_TOO_FEW_ITEMS',
+ self::PRICE_EXTENSION_HAS_TOO_MANY_ITEMS => 'PRICE_EXTENSION_HAS_TOO_MANY_ITEMS',
+ self::UNSUPPORTED_VALUE => 'UNSUPPORTED_VALUE',
+ self::INVALID_DEVICE_PREFERENCE => 'INVALID_DEVICE_PREFERENCE',
+ self::INVALID_SCHEDULE_END => 'INVALID_SCHEDULE_END',
+ self::DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE => 'DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE',
+ self::OVERLAPPING_SCHEDULES_NOT_ALLOWED => 'OVERLAPPING_SCHEDULES_NOT_ALLOWED',
+ self::SCHEDULE_END_NOT_AFTER_START => 'SCHEDULE_END_NOT_AFTER_START',
+ self::TOO_MANY_SCHEDULES_PER_DAY => 'TOO_MANY_SCHEDULES_PER_DAY',
+ self::DUPLICATE_EXTENSION_FEED_ITEM_EDIT => 'DUPLICATE_EXTENSION_FEED_ITEM_EDIT',
+ self::INVALID_SNIPPETS_HEADER => 'INVALID_SNIPPETS_HEADER',
+ self::PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY',
+ self::CAMPAIGN_TARGETING_MISMATCH => 'CAMPAIGN_TARGETING_MISMATCH',
+ self::CANNOT_OPERATE_ON_REMOVED_FEED => 'CANNOT_OPERATE_ON_REMOVED_FEED',
+ self::EXTENSION_TYPE_REQUIRED => 'EXTENSION_TYPE_REQUIRED',
+ self::INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION => 'INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION',
+ self::START_DATE_AFTER_END_DATE => 'START_DATE_AFTER_END_DATE',
+ self::INVALID_PRICE_FORMAT => 'INVALID_PRICE_FORMAT',
+ self::PROMOTION_INVALID_TIME => 'PROMOTION_INVALID_TIME',
+ self::PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT => 'PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT',
+ self::PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT => 'PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT',
+ self::TOO_MANY_DECIMAL_PLACES_SPECIFIED => 'TOO_MANY_DECIMAL_PLACES_SPECIFIED',
+ self::INVALID_LANGUAGE_CODE => 'INVALID_LANGUAGE_CODE',
+ self::UNSUPPORTED_LANGUAGE => 'UNSUPPORTED_LANGUAGE',
+ self::CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED => 'CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED',
+ self::EXTENSION_SETTING_UPDATE_IS_A_NOOP => 'EXTENSION_SETTING_UPDATE_IS_A_NOOP',
+ ];
+
+ 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(ExtensionSettingError::class, \Google\Ads\GoogleAds\V2\Errors\ExtensionSettingErrorEnum_ExtensionSettingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum_ExtensionSettingError.php b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum_ExtensionSettingError.php
new file mode 100644
index 000000000..0113711b9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ExtensionSettingErrorEnum_ExtensionSettingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FeedAttributeReferenceErrorEnum
+ */
+final class FeedAttributeReferenceErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FeedAttributeReferenceError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum/FeedAttributeReferenceError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum/FeedAttributeReferenceError.php
new file mode 100644
index 000000000..fde62f48e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum/FeedAttributeReferenceError.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.errors.FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError
+ */
+class FeedAttributeReferenceError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A feed referenced by ID has been removed.
+ *
+ * Generated from protobuf enum CANNOT_REFERENCE_REMOVED_FEED = 2;
+ */
+ const CANNOT_REFERENCE_REMOVED_FEED = 2;
+ /**
+ * There is no enabled feed with the given name.
+ *
+ * Generated from protobuf enum INVALID_FEED_NAME = 3;
+ */
+ const INVALID_FEED_NAME = 3;
+ /**
+ * There is no feed attribute in an enabled feed with the given name.
+ *
+ * Generated from protobuf enum INVALID_FEED_ATTRIBUTE_NAME = 4;
+ */
+ const INVALID_FEED_ATTRIBUTE_NAME = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_REFERENCE_REMOVED_FEED => 'CANNOT_REFERENCE_REMOVED_FEED',
+ self::INVALID_FEED_NAME => 'INVALID_FEED_NAME',
+ self::INVALID_FEED_ATTRIBUTE_NAME => 'INVALID_FEED_ATTRIBUTE_NAME',
+ ];
+
+ 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(FeedAttributeReferenceError::class, \Google\Ads\GoogleAds\V2\Errors\FeedAttributeReferenceErrorEnum_FeedAttributeReferenceError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum_FeedAttributeReferenceError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum_FeedAttributeReferenceError.php
new file mode 100644
index 000000000..3afb92971
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedAttributeReferenceErrorEnum_FeedAttributeReferenceError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FeedErrorEnum
+ */
+final class FeedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FeedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum/FeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum/FeedError.php
new file mode 100644
index 000000000..6a20133d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum/FeedError.php
@@ -0,0 +1,198 @@
+google.ads.googleads.v2.errors.FeedErrorEnum.FeedError
+ */
+class FeedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The names of the FeedAttributes must be unique.
+ *
+ * Generated from protobuf enum ATTRIBUTE_NAMES_NOT_UNIQUE = 2;
+ */
+ const ATTRIBUTE_NAMES_NOT_UNIQUE = 2;
+ /**
+ * The attribute list must be an exact copy of the existing list if the
+ * attribute ID's are present.
+ *
+ * Generated from protobuf enum ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3;
+ */
+ const ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3;
+ /**
+ * Cannot specify USER origin for a system generated feed.
+ *
+ * Generated from protobuf enum CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4;
+ */
+ const CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4;
+ /**
+ * Cannot specify GOOGLE origin for a non-system generated feed.
+ *
+ * Generated from protobuf enum CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5;
+ */
+ const CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5;
+ /**
+ * Cannot specify feed attributes for system feed.
+ *
+ * Generated from protobuf enum CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6;
+ */
+ const CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6;
+ /**
+ * Cannot update FeedAttributes on feed with origin GOOGLE.
+ *
+ * Generated from protobuf enum CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7;
+ */
+ const CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7;
+ /**
+ * The given ID refers to a removed Feed. Removed Feeds are immutable.
+ *
+ * Generated from protobuf enum FEED_REMOVED = 8;
+ */
+ const FEED_REMOVED = 8;
+ /**
+ * The origin of the feed is not valid for the client.
+ *
+ * Generated from protobuf enum INVALID_ORIGIN_VALUE = 9;
+ */
+ const INVALID_ORIGIN_VALUE = 9;
+ /**
+ * A user can only create and modify feeds with USER origin.
+ *
+ * Generated from protobuf enum FEED_ORIGIN_IS_NOT_USER = 10;
+ */
+ const FEED_ORIGIN_IS_NOT_USER = 10;
+ /**
+ * Invalid auth token for the given email.
+ *
+ * Generated from protobuf enum INVALID_AUTH_TOKEN_FOR_EMAIL = 11;
+ */
+ const INVALID_AUTH_TOKEN_FOR_EMAIL = 11;
+ /**
+ * Invalid email specified.
+ *
+ * Generated from protobuf enum INVALID_EMAIL = 12;
+ */
+ const INVALID_EMAIL = 12;
+ /**
+ * Feed name matches that of another active Feed.
+ *
+ * Generated from protobuf enum DUPLICATE_FEED_NAME = 13;
+ */
+ const DUPLICATE_FEED_NAME = 13;
+ /**
+ * Name of feed is not allowed.
+ *
+ * Generated from protobuf enum INVALID_FEED_NAME = 14;
+ */
+ const INVALID_FEED_NAME = 14;
+ /**
+ * Missing OAuthInfo.
+ *
+ * Generated from protobuf enum MISSING_OAUTH_INFO = 15;
+ */
+ const MISSING_OAUTH_INFO = 15;
+ /**
+ * New FeedAttributes must not affect the unique key.
+ *
+ * Generated from protobuf enum NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16;
+ */
+ const NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16;
+ /**
+ * Too many FeedAttributes for a Feed.
+ *
+ * Generated from protobuf enum TOO_MANY_ATTRIBUTES = 17;
+ */
+ const TOO_MANY_ATTRIBUTES = 17;
+ /**
+ * The business account is not valid.
+ *
+ * Generated from protobuf enum INVALID_BUSINESS_ACCOUNT = 18;
+ */
+ const INVALID_BUSINESS_ACCOUNT = 18;
+ /**
+ * Business account cannot access Google My Business account.
+ *
+ * Generated from protobuf enum BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19;
+ */
+ const BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19;
+ /**
+ * Invalid chain ID provided for affiliate location feed.
+ *
+ * Generated from protobuf enum INVALID_AFFILIATE_CHAIN_ID = 20;
+ */
+ const INVALID_AFFILIATE_CHAIN_ID = 20;
+ /**
+ * There is already a feed with the given system feed generation data.
+ *
+ * Generated from protobuf enum DUPLICATE_SYSTEM_FEED = 21;
+ */
+ const DUPLICATE_SYSTEM_FEED = 21;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ATTRIBUTE_NAMES_NOT_UNIQUE => 'ATTRIBUTE_NAMES_NOT_UNIQUE',
+ self::ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES => 'ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES',
+ self::CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED => 'CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED',
+ self::CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED => 'CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED',
+ self::CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED => 'CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED',
+ self::CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE => 'CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE',
+ self::FEED_REMOVED => 'FEED_REMOVED',
+ self::INVALID_ORIGIN_VALUE => 'INVALID_ORIGIN_VALUE',
+ self::FEED_ORIGIN_IS_NOT_USER => 'FEED_ORIGIN_IS_NOT_USER',
+ self::INVALID_AUTH_TOKEN_FOR_EMAIL => 'INVALID_AUTH_TOKEN_FOR_EMAIL',
+ self::INVALID_EMAIL => 'INVALID_EMAIL',
+ self::DUPLICATE_FEED_NAME => 'DUPLICATE_FEED_NAME',
+ self::INVALID_FEED_NAME => 'INVALID_FEED_NAME',
+ self::MISSING_OAUTH_INFO => 'MISSING_OAUTH_INFO',
+ self::NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY => 'NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY',
+ self::TOO_MANY_ATTRIBUTES => 'TOO_MANY_ATTRIBUTES',
+ self::INVALID_BUSINESS_ACCOUNT => 'INVALID_BUSINESS_ACCOUNT',
+ self::BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT => 'BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT',
+ self::INVALID_AFFILIATE_CHAIN_ID => 'INVALID_AFFILIATE_CHAIN_ID',
+ self::DUPLICATE_SYSTEM_FEED => 'DUPLICATE_SYSTEM_FEED',
+ ];
+
+ 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(FeedError::class, \Google\Ads\GoogleAds\V2\Errors\FeedErrorEnum_FeedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum_FeedError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum_FeedError.php
new file mode 100644
index 000000000..c44cdbc74
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedErrorEnum_FeedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FeedItemErrorEnum
+ */
+final class FeedItemErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FeedItemError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum/FeedItemError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum/FeedItemError.php
new file mode 100644
index 000000000..cb42ce7f0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum/FeedItemError.php
@@ -0,0 +1,120 @@
+google.ads.googleads.v2.errors.FeedItemErrorEnum.FeedItemError
+ */
+class FeedItemError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Cannot convert the feed attribute value from string to its real type.
+ *
+ * Generated from protobuf enum CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2;
+ */
+ const CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2;
+ /**
+ * Cannot operate on removed feed item.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3;
+ */
+ const CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3;
+ /**
+ * Date time zone does not match the account's time zone.
+ *
+ * Generated from protobuf enum DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4;
+ */
+ const DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4;
+ /**
+ * Feed item with the key attributes could not be found.
+ *
+ * Generated from protobuf enum KEY_ATTRIBUTES_NOT_FOUND = 5;
+ */
+ const KEY_ATTRIBUTES_NOT_FOUND = 5;
+ /**
+ * Url feed attribute value is not valid.
+ *
+ * Generated from protobuf enum INVALID_URL = 6;
+ */
+ const INVALID_URL = 6;
+ /**
+ * Some key attributes are missing.
+ *
+ * Generated from protobuf enum MISSING_KEY_ATTRIBUTES = 7;
+ */
+ const MISSING_KEY_ATTRIBUTES = 7;
+ /**
+ * Feed item has same key attributes as another feed item.
+ *
+ * Generated from protobuf enum KEY_ATTRIBUTES_NOT_UNIQUE = 8;
+ */
+ const KEY_ATTRIBUTES_NOT_UNIQUE = 8;
+ /**
+ * Cannot modify key attributes on an existing feed item.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9;
+ */
+ const CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9;
+ /**
+ * The feed attribute value is too large.
+ *
+ * Generated from protobuf enum SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10;
+ */
+ const SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING => 'CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING',
+ self::CANNOT_OPERATE_ON_REMOVED_FEED_ITEM => 'CANNOT_OPERATE_ON_REMOVED_FEED_ITEM',
+ self::DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE => 'DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE',
+ self::KEY_ATTRIBUTES_NOT_FOUND => 'KEY_ATTRIBUTES_NOT_FOUND',
+ self::INVALID_URL => 'INVALID_URL',
+ self::MISSING_KEY_ATTRIBUTES => 'MISSING_KEY_ATTRIBUTES',
+ self::KEY_ATTRIBUTES_NOT_UNIQUE => 'KEY_ATTRIBUTES_NOT_UNIQUE',
+ self::CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE => 'CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE',
+ self::SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE => 'SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE',
+ ];
+
+ 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(FeedItemError::class, \Google\Ads\GoogleAds\V2\Errors\FeedItemErrorEnum_FeedItemError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum_FeedItemError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum_FeedItemError.php
new file mode 100644
index 000000000..38abae861
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemErrorEnum_FeedItemError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FeedItemTargetErrorEnum
+ */
+final class FeedItemTargetErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FeedItemTargetError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum/FeedItemTargetError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum/FeedItemTargetError.php
new file mode 100644
index 000000000..63fac0023
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum/FeedItemTargetError.php
@@ -0,0 +1,115 @@
+google.ads.googleads.v2.errors.FeedItemTargetErrorEnum.FeedItemTargetError
+ */
+class FeedItemTargetError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * On CREATE, the FeedItemTarget must have a populated field in the oneof
+ * target.
+ *
+ * Generated from protobuf enum MUST_SET_TARGET_ONEOF_ON_CREATE = 2;
+ */
+ const MUST_SET_TARGET_ONEOF_ON_CREATE = 2;
+ /**
+ * The specified feed item target already exists, so it cannot be added.
+ *
+ * Generated from protobuf enum FEED_ITEM_TARGET_ALREADY_EXISTS = 3;
+ */
+ const FEED_ITEM_TARGET_ALREADY_EXISTS = 3;
+ /**
+ * The schedules for a given feed item cannot overlap.
+ *
+ * Generated from protobuf enum FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4;
+ */
+ const FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4;
+ /**
+ * Too many targets of a given type were added for a single feed item.
+ *
+ * Generated from protobuf enum TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5;
+ */
+ const TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5;
+ /**
+ * Too many AdSchedules are enabled for the feed item for the given day.
+ *
+ * Generated from protobuf enum TOO_MANY_SCHEDULES_PER_DAY = 6;
+ */
+ const TOO_MANY_SCHEDULES_PER_DAY = 6;
+ /**
+ * A feed item may either have an enabled campaign target or an enabled ad
+ * group target.
+ *
+ * Generated from protobuf enum CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7;
+ */
+ const CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7;
+ /**
+ * Duplicate ad schedules aren't allowed.
+ *
+ * Generated from protobuf enum DUPLICATE_AD_SCHEDULE = 8;
+ */
+ const DUPLICATE_AD_SCHEDULE = 8;
+ /**
+ * Duplicate keywords aren't allowed.
+ *
+ * Generated from protobuf enum DUPLICATE_KEYWORD = 9;
+ */
+ const DUPLICATE_KEYWORD = 9;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MUST_SET_TARGET_ONEOF_ON_CREATE => 'MUST_SET_TARGET_ONEOF_ON_CREATE',
+ self::FEED_ITEM_TARGET_ALREADY_EXISTS => 'FEED_ITEM_TARGET_ALREADY_EXISTS',
+ self::FEED_ITEM_SCHEDULES_CANNOT_OVERLAP => 'FEED_ITEM_SCHEDULES_CANNOT_OVERLAP',
+ self::TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE => 'TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE',
+ self::TOO_MANY_SCHEDULES_PER_DAY => 'TOO_MANY_SCHEDULES_PER_DAY',
+ self::CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS => 'CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS',
+ self::DUPLICATE_AD_SCHEDULE => 'DUPLICATE_AD_SCHEDULE',
+ self::DUPLICATE_KEYWORD => 'DUPLICATE_KEYWORD',
+ ];
+
+ 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(FeedItemTargetError::class, \Google\Ads\GoogleAds\V2\Errors\FeedItemTargetErrorEnum_FeedItemTargetError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum_FeedItemTargetError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum_FeedItemTargetError.php
new file mode 100644
index 000000000..b8a114e31
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemTargetErrorEnum_FeedItemTargetError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FeedItemValidationErrorEnum
+ */
+final class FeedItemValidationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FeedItemValidationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum/FeedItemValidationError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum/FeedItemValidationError.php
new file mode 100644
index 000000000..e8631c5af
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum/FeedItemValidationError.php
@@ -0,0 +1,740 @@
+google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError
+ */
+class FeedItemValidationError
+{
+ /**
+ * No value has been specified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * String is too short.
+ *
+ * Generated from protobuf enum STRING_TOO_SHORT = 2;
+ */
+ const STRING_TOO_SHORT = 2;
+ /**
+ * String is too long.
+ *
+ * Generated from protobuf enum STRING_TOO_LONG = 3;
+ */
+ const STRING_TOO_LONG = 3;
+ /**
+ * Value is not provided.
+ *
+ * Generated from protobuf enum VALUE_NOT_SPECIFIED = 4;
+ */
+ const VALUE_NOT_SPECIFIED = 4;
+ /**
+ * Phone number format is invalid for region.
+ *
+ * Generated from protobuf enum INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5;
+ */
+ const INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5;
+ /**
+ * String does not represent a phone number.
+ *
+ * Generated from protobuf enum INVALID_PHONE_NUMBER = 6;
+ */
+ const INVALID_PHONE_NUMBER = 6;
+ /**
+ * Phone number format is not compatible with country code.
+ *
+ * Generated from protobuf enum PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7;
+ */
+ const PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7;
+ /**
+ * Premium rate number is not allowed.
+ *
+ * Generated from protobuf enum PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8;
+ */
+ const PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8;
+ /**
+ * Phone number type is not allowed.
+ *
+ * Generated from protobuf enum DISALLOWED_NUMBER_TYPE = 9;
+ */
+ const DISALLOWED_NUMBER_TYPE = 9;
+ /**
+ * Specified value is outside of the valid range.
+ *
+ * Generated from protobuf enum VALUE_OUT_OF_RANGE = 10;
+ */
+ const VALUE_OUT_OF_RANGE = 10;
+ /**
+ * Call tracking is not supported in the selected country.
+ *
+ * Generated from protobuf enum CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11;
+ */
+ const CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11;
+ /**
+ * Customer is not whitelisted for call tracking.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12;
+ */
+ const CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12;
+ /**
+ * Country code is invalid.
+ *
+ * Generated from protobuf enum INVALID_COUNTRY_CODE = 13;
+ */
+ const INVALID_COUNTRY_CODE = 13;
+ /**
+ * The specified mobile app id is invalid.
+ *
+ * Generated from protobuf enum INVALID_APP_ID = 14;
+ */
+ const INVALID_APP_ID = 14;
+ /**
+ * Some required field attributes are missing.
+ *
+ * Generated from protobuf enum MISSING_ATTRIBUTES_FOR_FIELDS = 15;
+ */
+ const MISSING_ATTRIBUTES_FOR_FIELDS = 15;
+ /**
+ * Invalid email button type for email extension.
+ *
+ * Generated from protobuf enum INVALID_TYPE_ID = 16;
+ */
+ const INVALID_TYPE_ID = 16;
+ /**
+ * Email address is invalid.
+ *
+ * Generated from protobuf enum INVALID_EMAIL_ADDRESS = 17;
+ */
+ const INVALID_EMAIL_ADDRESS = 17;
+ /**
+ * The HTTPS URL in email extension is invalid.
+ *
+ * Generated from protobuf enum INVALID_HTTPS_URL = 18;
+ */
+ const INVALID_HTTPS_URL = 18;
+ /**
+ * Delivery address is missing from email extension.
+ *
+ * Generated from protobuf enum MISSING_DELIVERY_ADDRESS = 19;
+ */
+ const MISSING_DELIVERY_ADDRESS = 19;
+ /**
+ * FeedItem scheduling start date comes after end date.
+ *
+ * Generated from protobuf enum START_DATE_AFTER_END_DATE = 20;
+ */
+ const START_DATE_AFTER_END_DATE = 20;
+ /**
+ * FeedItem scheduling start time is missing.
+ *
+ * Generated from protobuf enum MISSING_FEED_ITEM_START_TIME = 21;
+ */
+ const MISSING_FEED_ITEM_START_TIME = 21;
+ /**
+ * FeedItem scheduling end time is missing.
+ *
+ * Generated from protobuf enum MISSING_FEED_ITEM_END_TIME = 22;
+ */
+ const MISSING_FEED_ITEM_END_TIME = 22;
+ /**
+ * Cannot compute system attributes on a FeedItem that has no FeedItemId.
+ *
+ * Generated from protobuf enum MISSING_FEED_ITEM_ID = 23;
+ */
+ const MISSING_FEED_ITEM_ID = 23;
+ /**
+ * Call extension vanity phone numbers are not supported.
+ *
+ * Generated from protobuf enum VANITY_PHONE_NUMBER_NOT_ALLOWED = 24;
+ */
+ const VANITY_PHONE_NUMBER_NOT_ALLOWED = 24;
+ /**
+ * Invalid review text.
+ *
+ * Generated from protobuf enum INVALID_REVIEW_EXTENSION_SNIPPET = 25;
+ */
+ const INVALID_REVIEW_EXTENSION_SNIPPET = 25;
+ /**
+ * Invalid format for numeric value in ad parameter.
+ *
+ * Generated from protobuf enum INVALID_NUMBER_FORMAT = 26;
+ */
+ const INVALID_NUMBER_FORMAT = 26;
+ /**
+ * Invalid format for date value in ad parameter.
+ *
+ * Generated from protobuf enum INVALID_DATE_FORMAT = 27;
+ */
+ const INVALID_DATE_FORMAT = 27;
+ /**
+ * Invalid format for price value in ad parameter.
+ *
+ * Generated from protobuf enum INVALID_PRICE_FORMAT = 28;
+ */
+ const INVALID_PRICE_FORMAT = 28;
+ /**
+ * Unrecognized type given for value in ad parameter.
+ *
+ * Generated from protobuf enum UNKNOWN_PLACEHOLDER_FIELD = 29;
+ */
+ const UNKNOWN_PLACEHOLDER_FIELD = 29;
+ /**
+ * Enhanced sitelinks must have both description lines specified.
+ *
+ * Generated from protobuf enum MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE = 30;
+ */
+ const MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE = 30;
+ /**
+ * Review source is ineligible.
+ *
+ * Generated from protobuf enum REVIEW_EXTENSION_SOURCE_INELIGIBLE = 31;
+ */
+ const REVIEW_EXTENSION_SOURCE_INELIGIBLE = 31;
+ /**
+ * Review text cannot contain hyphens or dashes.
+ *
+ * Generated from protobuf enum HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 32;
+ */
+ const HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 32;
+ /**
+ * Review text cannot contain double quote characters.
+ *
+ * Generated from protobuf enum DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 33;
+ */
+ const DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 33;
+ /**
+ * Review text cannot contain quote characters.
+ *
+ * Generated from protobuf enum QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 34;
+ */
+ const QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 34;
+ /**
+ * Parameters are encoded in the wrong format.
+ *
+ * Generated from protobuf enum INVALID_FORM_ENCODED_PARAMS = 35;
+ */
+ const INVALID_FORM_ENCODED_PARAMS = 35;
+ /**
+ * URL parameter name must contain only letters, numbers, underscores, and
+ * dashes.
+ *
+ * Generated from protobuf enum INVALID_URL_PARAMETER_NAME = 36;
+ */
+ const INVALID_URL_PARAMETER_NAME = 36;
+ /**
+ * Cannot find address location.
+ *
+ * Generated from protobuf enum NO_GEOCODING_RESULT = 37;
+ */
+ const NO_GEOCODING_RESULT = 37;
+ /**
+ * Review extension text has source name.
+ *
+ * Generated from protobuf enum SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 38;
+ */
+ const SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 38;
+ /**
+ * Some phone numbers can be shorter than usual. Some of these short numbers
+ * are carrier-specific, and we disallow those in ad extensions because they
+ * will not be available to all users.
+ *
+ * Generated from protobuf enum CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 39;
+ */
+ const CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 39;
+ /**
+ * Triggered when a request references a placeholder field id that does not
+ * exist.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_FIELD_ID = 40;
+ */
+ const INVALID_PLACEHOLDER_FIELD_ID = 40;
+ /**
+ * URL contains invalid ValueTrack tags or format.
+ *
+ * Generated from protobuf enum INVALID_URL_TAG = 41;
+ */
+ const INVALID_URL_TAG = 41;
+ /**
+ * Provided list exceeds acceptable size.
+ *
+ * Generated from protobuf enum LIST_TOO_LONG = 42;
+ */
+ const LIST_TOO_LONG = 42;
+ /**
+ * Certain combinations of attributes aren't allowed to be specified in the
+ * same feed item.
+ *
+ * Generated from protobuf enum INVALID_ATTRIBUTES_COMBINATION = 43;
+ */
+ const INVALID_ATTRIBUTES_COMBINATION = 43;
+ /**
+ * An attribute has the same value repeatedly.
+ *
+ * Generated from protobuf enum DUPLICATE_VALUES = 44;
+ */
+ const DUPLICATE_VALUES = 44;
+ /**
+ * Advertisers can link a conversion action with a phone number to indicate
+ * that sufficiently long calls forwarded to that phone number should be
+ * counted as conversions of the specified type. This is an error message
+ * indicating that the conversion action specified is invalid (e.g., the
+ * conversion action does not exist within the appropriate Google Ads
+ * account, or it is a type of conversion not appropriate to phone call
+ * conversions).
+ *
+ * Generated from protobuf enum INVALID_CALL_CONVERSION_ACTION_ID = 45;
+ */
+ const INVALID_CALL_CONVERSION_ACTION_ID = 45;
+ /**
+ * Tracking template requires final url to be set.
+ *
+ * Generated from protobuf enum CANNOT_SET_WITHOUT_FINAL_URLS = 46;
+ */
+ const CANNOT_SET_WITHOUT_FINAL_URLS = 46;
+ /**
+ * An app id was provided that doesn't exist in the given app store.
+ *
+ * Generated from protobuf enum APP_ID_DOESNT_EXIST_IN_APP_STORE = 47;
+ */
+ const APP_ID_DOESNT_EXIST_IN_APP_STORE = 47;
+ /**
+ * Invalid U2 final url.
+ *
+ * Generated from protobuf enum INVALID_FINAL_URL = 48;
+ */
+ const INVALID_FINAL_URL = 48;
+ /**
+ * Invalid U2 tracking url.
+ *
+ * Generated from protobuf enum INVALID_TRACKING_URL = 49;
+ */
+ const INVALID_TRACKING_URL = 49;
+ /**
+ * Final URL should start from App download URL.
+ *
+ * Generated from protobuf enum INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 50;
+ */
+ const INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 50;
+ /**
+ * List provided is too short.
+ *
+ * Generated from protobuf enum LIST_TOO_SHORT = 51;
+ */
+ const LIST_TOO_SHORT = 51;
+ /**
+ * User Action field has invalid value.
+ *
+ * Generated from protobuf enum INVALID_USER_ACTION = 52;
+ */
+ const INVALID_USER_ACTION = 52;
+ /**
+ * Type field has invalid value.
+ *
+ * Generated from protobuf enum INVALID_TYPE_NAME = 53;
+ */
+ const INVALID_TYPE_NAME = 53;
+ /**
+ * Change status for event is invalid.
+ *
+ * Generated from protobuf enum INVALID_EVENT_CHANGE_STATUS = 54;
+ */
+ const INVALID_EVENT_CHANGE_STATUS = 54;
+ /**
+ * The header of a structured snippets extension is not one of the valid
+ * headers.
+ *
+ * Generated from protobuf enum INVALID_SNIPPETS_HEADER = 55;
+ */
+ const INVALID_SNIPPETS_HEADER = 55;
+ /**
+ * Android app link is not formatted correctly
+ *
+ * Generated from protobuf enum INVALID_ANDROID_APP_LINK = 56;
+ */
+ const INVALID_ANDROID_APP_LINK = 56;
+ /**
+ * Phone number incompatible with call tracking for country.
+ *
+ * Generated from protobuf enum NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 57;
+ */
+ const NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 57;
+ /**
+ * The input is identical to a reserved keyword
+ *
+ * Generated from protobuf enum RESERVED_KEYWORD_OTHER = 58;
+ */
+ const RESERVED_KEYWORD_OTHER = 58;
+ /**
+ * Each option label in the message extension must be unique.
+ *
+ * Generated from protobuf enum DUPLICATE_OPTION_LABELS = 59;
+ */
+ const DUPLICATE_OPTION_LABELS = 59;
+ /**
+ * Each option prefill in the message extension must be unique.
+ *
+ * Generated from protobuf enum DUPLICATE_OPTION_PREFILLS = 60;
+ */
+ const DUPLICATE_OPTION_PREFILLS = 60;
+ /**
+ * In message extensions, the number of optional labels and optional
+ * prefills must be the same.
+ *
+ * Generated from protobuf enum UNEQUAL_LIST_LENGTHS = 61;
+ */
+ const UNEQUAL_LIST_LENGTHS = 61;
+ /**
+ * All currency codes in an ad extension must be the same.
+ *
+ * Generated from protobuf enum INCONSISTENT_CURRENCY_CODES = 62;
+ */
+ const INCONSISTENT_CURRENCY_CODES = 62;
+ /**
+ * Headers in price extension are not unique.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 63;
+ */
+ const PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 63;
+ /**
+ * Header and description in an item are the same.
+ *
+ * Generated from protobuf enum ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 64;
+ */
+ const ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 64;
+ /**
+ * Price extension has too few items.
+ *
+ * Generated from protobuf enum PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 65;
+ */
+ const PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 65;
+ /**
+ * The given value is not supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED_VALUE = 66;
+ */
+ const UNSUPPORTED_VALUE = 66;
+ /**
+ * Invalid final mobile url.
+ *
+ * Generated from protobuf enum INVALID_FINAL_MOBILE_URL = 67;
+ */
+ const INVALID_FINAL_MOBILE_URL = 67;
+ /**
+ * The given string value of Label contains invalid characters
+ *
+ * Generated from protobuf enum INVALID_KEYWORDLESS_AD_RULE_LABEL = 68;
+ */
+ const INVALID_KEYWORDLESS_AD_RULE_LABEL = 68;
+ /**
+ * The given URL contains value track parameters.
+ *
+ * Generated from protobuf enum VALUE_TRACK_PARAMETER_NOT_SUPPORTED = 69;
+ */
+ const VALUE_TRACK_PARAMETER_NOT_SUPPORTED = 69;
+ /**
+ * The given value is not supported in the selected language of an
+ * extension.
+ *
+ * Generated from protobuf enum UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 70;
+ */
+ const UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 70;
+ /**
+ * The iOS app link is not formatted correctly.
+ *
+ * Generated from protobuf enum INVALID_IOS_APP_LINK = 71;
+ */
+ const INVALID_IOS_APP_LINK = 71;
+ /**
+ * iOS app link or iOS app store id is missing.
+ *
+ * Generated from protobuf enum MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID = 72;
+ */
+ const MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID = 72;
+ /**
+ * Promotion time is invalid.
+ *
+ * Generated from protobuf enum PROMOTION_INVALID_TIME = 73;
+ */
+ const PROMOTION_INVALID_TIME = 73;
+ /**
+ * Both the percent off and money amount off fields are set.
+ *
+ * Generated from protobuf enum PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 74;
+ */
+ const PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 74;
+ /**
+ * Both the promotion code and orders over amount fields are set.
+ *
+ * Generated from protobuf enum PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 75;
+ */
+ const PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 75;
+ /**
+ * Too many decimal places are specified.
+ *
+ * Generated from protobuf enum TOO_MANY_DECIMAL_PLACES_SPECIFIED = 76;
+ */
+ const TOO_MANY_DECIMAL_PLACES_SPECIFIED = 76;
+ /**
+ * Ad Customizers are present and not allowed.
+ *
+ * Generated from protobuf enum AD_CUSTOMIZERS_NOT_ALLOWED = 77;
+ */
+ const AD_CUSTOMIZERS_NOT_ALLOWED = 77;
+ /**
+ * Language code is not valid.
+ *
+ * Generated from protobuf enum INVALID_LANGUAGE_CODE = 78;
+ */
+ const INVALID_LANGUAGE_CODE = 78;
+ /**
+ * Language is not supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED_LANGUAGE = 79;
+ */
+ const UNSUPPORTED_LANGUAGE = 79;
+ /**
+ * IF Function is present and not allowed.
+ *
+ * Generated from protobuf enum IF_FUNCTION_NOT_ALLOWED = 80;
+ */
+ const IF_FUNCTION_NOT_ALLOWED = 80;
+ /**
+ * Final url suffix is not valid.
+ *
+ * Generated from protobuf enum INVALID_FINAL_URL_SUFFIX = 81;
+ */
+ const INVALID_FINAL_URL_SUFFIX = 81;
+ /**
+ * Final url suffix contains an invalid tag.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_FINAL_URL_SUFFIX = 82;
+ */
+ const INVALID_TAG_IN_FINAL_URL_SUFFIX = 82;
+ /**
+ * Final url suffix is formatted incorrectly.
+ *
+ * Generated from protobuf enum INVALID_FINAL_URL_SUFFIX_FORMAT = 83;
+ */
+ const INVALID_FINAL_URL_SUFFIX_FORMAT = 83;
+ /**
+ * Consent for call recording, which is required for the use of call
+ * extensions, was not provided by the advertiser. Please see
+ * https://support.google.com/google-ads/answer/7412639.
+ *
+ * Generated from protobuf enum CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 84;
+ */
+ const CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 84;
+ /**
+ * Multiple message delivery options are set.
+ *
+ * Generated from protobuf enum ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED = 85;
+ */
+ const ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED = 85;
+ /**
+ * No message delivery option is set.
+ *
+ * Generated from protobuf enum NO_DELIVERY_OPTION_IS_SET = 86;
+ */
+ const NO_DELIVERY_OPTION_IS_SET = 86;
+ /**
+ * String value of conversion reporting state field is not valid.
+ *
+ * Generated from protobuf enum INVALID_CONVERSION_REPORTING_STATE = 87;
+ */
+ const INVALID_CONVERSION_REPORTING_STATE = 87;
+ /**
+ * Image size is not right.
+ *
+ * Generated from protobuf enum IMAGE_SIZE_WRONG = 88;
+ */
+ const IMAGE_SIZE_WRONG = 88;
+ /**
+ * Email delivery is not supported in the country specified in the country
+ * code field.
+ *
+ * Generated from protobuf enum EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY = 89;
+ */
+ const EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY = 89;
+ /**
+ * Auto reply is not supported in the country specified in the country code
+ * field.
+ *
+ * Generated from protobuf enum AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY = 90;
+ */
+ const AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY = 90;
+ /**
+ * Invalid value specified for latitude.
+ *
+ * Generated from protobuf enum INVALID_LATITUDE_VALUE = 91;
+ */
+ const INVALID_LATITUDE_VALUE = 91;
+ /**
+ * Invalid value specified for longitude.
+ *
+ * Generated from protobuf enum INVALID_LONGITUDE_VALUE = 92;
+ */
+ const INVALID_LONGITUDE_VALUE = 92;
+ /**
+ * Too many label fields provided.
+ *
+ * Generated from protobuf enum TOO_MANY_LABELS = 93;
+ */
+ const TOO_MANY_LABELS = 93;
+ /**
+ * Invalid image url.
+ *
+ * Generated from protobuf enum INVALID_IMAGE_URL = 94;
+ */
+ const INVALID_IMAGE_URL = 94;
+ /**
+ * Latitude value is missing.
+ *
+ * Generated from protobuf enum MISSING_LATITUDE_VALUE = 95;
+ */
+ const MISSING_LATITUDE_VALUE = 95;
+ /**
+ * Longitude value is missing.
+ *
+ * Generated from protobuf enum MISSING_LONGITUDE_VALUE = 96;
+ */
+ const MISSING_LONGITUDE_VALUE = 96;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::STRING_TOO_SHORT => 'STRING_TOO_SHORT',
+ self::STRING_TOO_LONG => 'STRING_TOO_LONG',
+ self::VALUE_NOT_SPECIFIED => 'VALUE_NOT_SPECIFIED',
+ self::INVALID_DOMESTIC_PHONE_NUMBER_FORMAT => 'INVALID_DOMESTIC_PHONE_NUMBER_FORMAT',
+ self::INVALID_PHONE_NUMBER => 'INVALID_PHONE_NUMBER',
+ self::PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY => 'PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY',
+ self::PREMIUM_RATE_NUMBER_NOT_ALLOWED => 'PREMIUM_RATE_NUMBER_NOT_ALLOWED',
+ self::DISALLOWED_NUMBER_TYPE => 'DISALLOWED_NUMBER_TYPE',
+ self::VALUE_OUT_OF_RANGE => 'VALUE_OUT_OF_RANGE',
+ self::CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY => 'CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY',
+ self::CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING => 'CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING',
+ self::INVALID_COUNTRY_CODE => 'INVALID_COUNTRY_CODE',
+ self::INVALID_APP_ID => 'INVALID_APP_ID',
+ self::MISSING_ATTRIBUTES_FOR_FIELDS => 'MISSING_ATTRIBUTES_FOR_FIELDS',
+ self::INVALID_TYPE_ID => 'INVALID_TYPE_ID',
+ self::INVALID_EMAIL_ADDRESS => 'INVALID_EMAIL_ADDRESS',
+ self::INVALID_HTTPS_URL => 'INVALID_HTTPS_URL',
+ self::MISSING_DELIVERY_ADDRESS => 'MISSING_DELIVERY_ADDRESS',
+ self::START_DATE_AFTER_END_DATE => 'START_DATE_AFTER_END_DATE',
+ self::MISSING_FEED_ITEM_START_TIME => 'MISSING_FEED_ITEM_START_TIME',
+ self::MISSING_FEED_ITEM_END_TIME => 'MISSING_FEED_ITEM_END_TIME',
+ self::MISSING_FEED_ITEM_ID => 'MISSING_FEED_ITEM_ID',
+ self::VANITY_PHONE_NUMBER_NOT_ALLOWED => 'VANITY_PHONE_NUMBER_NOT_ALLOWED',
+ self::INVALID_REVIEW_EXTENSION_SNIPPET => 'INVALID_REVIEW_EXTENSION_SNIPPET',
+ self::INVALID_NUMBER_FORMAT => 'INVALID_NUMBER_FORMAT',
+ self::INVALID_DATE_FORMAT => 'INVALID_DATE_FORMAT',
+ self::INVALID_PRICE_FORMAT => 'INVALID_PRICE_FORMAT',
+ self::UNKNOWN_PLACEHOLDER_FIELD => 'UNKNOWN_PLACEHOLDER_FIELD',
+ self::MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE => 'MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE',
+ self::REVIEW_EXTENSION_SOURCE_INELIGIBLE => 'REVIEW_EXTENSION_SOURCE_INELIGIBLE',
+ self::HYPHENS_IN_REVIEW_EXTENSION_SNIPPET => 'HYPHENS_IN_REVIEW_EXTENSION_SNIPPET',
+ self::DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET => 'DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET',
+ self::QUOTES_IN_REVIEW_EXTENSION_SNIPPET => 'QUOTES_IN_REVIEW_EXTENSION_SNIPPET',
+ self::INVALID_FORM_ENCODED_PARAMS => 'INVALID_FORM_ENCODED_PARAMS',
+ self::INVALID_URL_PARAMETER_NAME => 'INVALID_URL_PARAMETER_NAME',
+ self::NO_GEOCODING_RESULT => 'NO_GEOCODING_RESULT',
+ self::SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT => 'SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT',
+ self::CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED => 'CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED',
+ self::INVALID_PLACEHOLDER_FIELD_ID => 'INVALID_PLACEHOLDER_FIELD_ID',
+ self::INVALID_URL_TAG => 'INVALID_URL_TAG',
+ self::LIST_TOO_LONG => 'LIST_TOO_LONG',
+ self::INVALID_ATTRIBUTES_COMBINATION => 'INVALID_ATTRIBUTES_COMBINATION',
+ self::DUPLICATE_VALUES => 'DUPLICATE_VALUES',
+ self::INVALID_CALL_CONVERSION_ACTION_ID => 'INVALID_CALL_CONVERSION_ACTION_ID',
+ self::CANNOT_SET_WITHOUT_FINAL_URLS => 'CANNOT_SET_WITHOUT_FINAL_URLS',
+ self::APP_ID_DOESNT_EXIST_IN_APP_STORE => 'APP_ID_DOESNT_EXIST_IN_APP_STORE',
+ self::INVALID_FINAL_URL => 'INVALID_FINAL_URL',
+ self::INVALID_TRACKING_URL => 'INVALID_TRACKING_URL',
+ self::INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL => 'INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL',
+ self::LIST_TOO_SHORT => 'LIST_TOO_SHORT',
+ self::INVALID_USER_ACTION => 'INVALID_USER_ACTION',
+ self::INVALID_TYPE_NAME => 'INVALID_TYPE_NAME',
+ self::INVALID_EVENT_CHANGE_STATUS => 'INVALID_EVENT_CHANGE_STATUS',
+ self::INVALID_SNIPPETS_HEADER => 'INVALID_SNIPPETS_HEADER',
+ self::INVALID_ANDROID_APP_LINK => 'INVALID_ANDROID_APP_LINK',
+ self::NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY => 'NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY',
+ self::RESERVED_KEYWORD_OTHER => 'RESERVED_KEYWORD_OTHER',
+ self::DUPLICATE_OPTION_LABELS => 'DUPLICATE_OPTION_LABELS',
+ self::DUPLICATE_OPTION_PREFILLS => 'DUPLICATE_OPTION_PREFILLS',
+ self::UNEQUAL_LIST_LENGTHS => 'UNEQUAL_LIST_LENGTHS',
+ self::INCONSISTENT_CURRENCY_CODES => 'INCONSISTENT_CURRENCY_CODES',
+ self::PRICE_EXTENSION_HAS_DUPLICATED_HEADERS => 'PRICE_EXTENSION_HAS_DUPLICATED_HEADERS',
+ self::ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION => 'ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION',
+ self::PRICE_EXTENSION_HAS_TOO_FEW_ITEMS => 'PRICE_EXTENSION_HAS_TOO_FEW_ITEMS',
+ self::UNSUPPORTED_VALUE => 'UNSUPPORTED_VALUE',
+ self::INVALID_FINAL_MOBILE_URL => 'INVALID_FINAL_MOBILE_URL',
+ self::INVALID_KEYWORDLESS_AD_RULE_LABEL => 'INVALID_KEYWORDLESS_AD_RULE_LABEL',
+ self::VALUE_TRACK_PARAMETER_NOT_SUPPORTED => 'VALUE_TRACK_PARAMETER_NOT_SUPPORTED',
+ self::UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE => 'UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE',
+ self::INVALID_IOS_APP_LINK => 'INVALID_IOS_APP_LINK',
+ self::MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID => 'MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID',
+ self::PROMOTION_INVALID_TIME => 'PROMOTION_INVALID_TIME',
+ self::PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF => 'PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF',
+ self::PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT => 'PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT',
+ self::TOO_MANY_DECIMAL_PLACES_SPECIFIED => 'TOO_MANY_DECIMAL_PLACES_SPECIFIED',
+ self::AD_CUSTOMIZERS_NOT_ALLOWED => 'AD_CUSTOMIZERS_NOT_ALLOWED',
+ self::INVALID_LANGUAGE_CODE => 'INVALID_LANGUAGE_CODE',
+ self::UNSUPPORTED_LANGUAGE => 'UNSUPPORTED_LANGUAGE',
+ self::IF_FUNCTION_NOT_ALLOWED => 'IF_FUNCTION_NOT_ALLOWED',
+ self::INVALID_FINAL_URL_SUFFIX => 'INVALID_FINAL_URL_SUFFIX',
+ self::INVALID_TAG_IN_FINAL_URL_SUFFIX => 'INVALID_TAG_IN_FINAL_URL_SUFFIX',
+ self::INVALID_FINAL_URL_SUFFIX_FORMAT => 'INVALID_FINAL_URL_SUFFIX_FORMAT',
+ self::CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED => 'CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED',
+ self::ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED => 'ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED',
+ self::NO_DELIVERY_OPTION_IS_SET => 'NO_DELIVERY_OPTION_IS_SET',
+ self::INVALID_CONVERSION_REPORTING_STATE => 'INVALID_CONVERSION_REPORTING_STATE',
+ self::IMAGE_SIZE_WRONG => 'IMAGE_SIZE_WRONG',
+ self::EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY => 'EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY',
+ self::AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY => 'AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY',
+ self::INVALID_LATITUDE_VALUE => 'INVALID_LATITUDE_VALUE',
+ self::INVALID_LONGITUDE_VALUE => 'INVALID_LONGITUDE_VALUE',
+ self::TOO_MANY_LABELS => 'TOO_MANY_LABELS',
+ self::INVALID_IMAGE_URL => 'INVALID_IMAGE_URL',
+ self::MISSING_LATITUDE_VALUE => 'MISSING_LATITUDE_VALUE',
+ self::MISSING_LONGITUDE_VALUE => 'MISSING_LONGITUDE_VALUE',
+ ];
+
+ 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(FeedItemValidationError::class, \Google\Ads\GoogleAds\V2\Errors\FeedItemValidationErrorEnum_FeedItemValidationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum_FeedItemValidationError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum_FeedItemValidationError.php
new file mode 100644
index 000000000..3bb6e89ef
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedItemValidationErrorEnum_FeedItemValidationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FeedMappingErrorEnum
+ */
+final class FeedMappingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FeedMappingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum/FeedMappingError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum/FeedMappingError.php
new file mode 100644
index 000000000..a9a4f65e5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum/FeedMappingError.php
@@ -0,0 +1,174 @@
+google.ads.googleads.v2.errors.FeedMappingErrorEnum.FeedMappingError
+ */
+class FeedMappingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The given placeholder field does not exist.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_FIELD = 2;
+ */
+ const INVALID_PLACEHOLDER_FIELD = 2;
+ /**
+ * The given criterion field does not exist.
+ *
+ * Generated from protobuf enum INVALID_CRITERION_FIELD = 3;
+ */
+ const INVALID_CRITERION_FIELD = 3;
+ /**
+ * The given placeholder type does not exist.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_TYPE = 4;
+ */
+ const INVALID_PLACEHOLDER_TYPE = 4;
+ /**
+ * The given criterion type does not exist.
+ *
+ * Generated from protobuf enum INVALID_CRITERION_TYPE = 5;
+ */
+ const INVALID_CRITERION_TYPE = 5;
+ /**
+ * A feed mapping must contain at least one attribute field mapping.
+ *
+ * Generated from protobuf enum NO_ATTRIBUTE_FIELD_MAPPINGS = 7;
+ */
+ const NO_ATTRIBUTE_FIELD_MAPPINGS = 7;
+ /**
+ * The type of the feed attribute referenced in the attribute field mapping
+ * must match the type of the placeholder field.
+ *
+ * Generated from protobuf enum FEED_ATTRIBUTE_TYPE_MISMATCH = 8;
+ */
+ const FEED_ATTRIBUTE_TYPE_MISMATCH = 8;
+ /**
+ * A feed mapping for a system generated feed cannot be operated on.
+ *
+ * Generated from protobuf enum CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9;
+ */
+ const CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9;
+ /**
+ * Only one feed mapping for a placeholder type is allowed per feed or
+ * customer (depending on the placeholder type).
+ *
+ * Generated from protobuf enum MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10;
+ */
+ const MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10;
+ /**
+ * Only one feed mapping for a criterion type is allowed per customer.
+ *
+ * Generated from protobuf enum MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11;
+ */
+ const MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11;
+ /**
+ * Only one feed attribute mapping for a placeholder field is allowed
+ * (depending on the placeholder type).
+ *
+ * Generated from protobuf enum MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12;
+ */
+ const MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12;
+ /**
+ * Only one feed attribute mapping for a criterion field is allowed
+ * (depending on the criterion type).
+ *
+ * Generated from protobuf enum MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13;
+ */
+ const MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13;
+ /**
+ * This feed mapping may not contain any explicit attribute field mappings.
+ *
+ * Generated from protobuf enum UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14;
+ */
+ const UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14;
+ /**
+ * Location placeholder feed mappings can only be created for Places feeds.
+ *
+ * Generated from protobuf enum LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15;
+ */
+ const LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15;
+ /**
+ * Mappings for typed feeds cannot be modified.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16;
+ */
+ const CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16;
+ /**
+ * The given placeholder type can only be mapped to system generated feeds.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17;
+ */
+ const INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17;
+ /**
+ * The given placeholder type cannot be mapped to a system generated feed
+ * with the given type.
+ *
+ * Generated from protobuf enum INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18;
+ */
+ const INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_PLACEHOLDER_FIELD => 'INVALID_PLACEHOLDER_FIELD',
+ self::INVALID_CRITERION_FIELD => 'INVALID_CRITERION_FIELD',
+ self::INVALID_PLACEHOLDER_TYPE => 'INVALID_PLACEHOLDER_TYPE',
+ self::INVALID_CRITERION_TYPE => 'INVALID_CRITERION_TYPE',
+ self::NO_ATTRIBUTE_FIELD_MAPPINGS => 'NO_ATTRIBUTE_FIELD_MAPPINGS',
+ self::FEED_ATTRIBUTE_TYPE_MISMATCH => 'FEED_ATTRIBUTE_TYPE_MISMATCH',
+ self::CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED => 'CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED',
+ self::MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE => 'MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE',
+ self::MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE => 'MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE',
+ self::MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD => 'MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD',
+ self::MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD => 'MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD',
+ self::UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS => 'UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS',
+ self::LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS => 'LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS',
+ self::CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED => 'CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED',
+ self::INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED => 'INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED',
+ self::INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE => 'INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE',
+ ];
+
+ 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(FeedMappingError::class, \Google\Ads\GoogleAds\V2\Errors\FeedMappingErrorEnum_FeedMappingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum_FeedMappingError.php b/src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum_FeedMappingError.php
new file mode 100644
index 000000000..1501866e4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FeedMappingErrorEnum_FeedMappingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FieldErrorEnum
+ */
+final class FieldErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FieldError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum/FieldError.php b/src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum/FieldError.php
new file mode 100644
index 000000000..bad7baf5b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum/FieldError.php
@@ -0,0 +1,106 @@
+google.ads.googleads.v2.errors.FieldErrorEnum.FieldError
+ */
+class FieldError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The required field was not present.
+ *
+ * Generated from protobuf enum REQUIRED = 2;
+ */
+ const REQUIRED = 2;
+ /**
+ * The field attempted to be mutated is immutable.
+ *
+ * Generated from protobuf enum IMMUTABLE_FIELD = 3;
+ */
+ const IMMUTABLE_FIELD = 3;
+ /**
+ * The field's value is invalid.
+ *
+ * Generated from protobuf enum INVALID_VALUE = 4;
+ */
+ const INVALID_VALUE = 4;
+ /**
+ * The field cannot be set.
+ *
+ * Generated from protobuf enum VALUE_MUST_BE_UNSET = 5;
+ */
+ const VALUE_MUST_BE_UNSET = 5;
+ /**
+ * The required repeated field was empty.
+ *
+ * Generated from protobuf enum REQUIRED_NONEMPTY_LIST = 6;
+ */
+ const REQUIRED_NONEMPTY_LIST = 6;
+ /**
+ * The field cannot be cleared.
+ *
+ * Generated from protobuf enum FIELD_CANNOT_BE_CLEARED = 7;
+ */
+ const FIELD_CANNOT_BE_CLEARED = 7;
+ /**
+ * The field's value is on a blacklist for this field.
+ *
+ * Generated from protobuf enum BLACKLISTED_VALUE = 8;
+ */
+ const BLACKLISTED_VALUE = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::REQUIRED => 'REQUIRED',
+ self::IMMUTABLE_FIELD => 'IMMUTABLE_FIELD',
+ self::INVALID_VALUE => 'INVALID_VALUE',
+ self::VALUE_MUST_BE_UNSET => 'VALUE_MUST_BE_UNSET',
+ self::REQUIRED_NONEMPTY_LIST => 'REQUIRED_NONEMPTY_LIST',
+ self::FIELD_CANNOT_BE_CLEARED => 'FIELD_CANNOT_BE_CLEARED',
+ self::BLACKLISTED_VALUE => 'BLACKLISTED_VALUE',
+ ];
+
+ 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(FieldError::class, \Google\Ads\GoogleAds\V2\Errors\FieldErrorEnum_FieldError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum_FieldError.php b/src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum_FieldError.php
new file mode 100644
index 000000000..b183f0d63
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FieldErrorEnum_FieldError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FieldMaskErrorEnum
+ */
+final class FieldMaskErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FieldMaskError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum/FieldMaskError.php b/src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum/FieldMaskError.php
new file mode 100644
index 000000000..0a6a870df
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum/FieldMaskError.php
@@ -0,0 +1,87 @@
+google.ads.googleads.v2.errors.FieldMaskErrorEnum.FieldMaskError
+ */
+class FieldMaskError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The field mask must be provided for update operations.
+ *
+ * Generated from protobuf enum FIELD_MASK_MISSING = 5;
+ */
+ const FIELD_MASK_MISSING = 5;
+ /**
+ * The field mask must be empty for create and remove operations.
+ *
+ * Generated from protobuf enum FIELD_MASK_NOT_ALLOWED = 4;
+ */
+ const FIELD_MASK_NOT_ALLOWED = 4;
+ /**
+ * The field mask contained an invalid field.
+ *
+ * Generated from protobuf enum FIELD_NOT_FOUND = 2;
+ */
+ const FIELD_NOT_FOUND = 2;
+ /**
+ * The field mask updated a field with subfields. Fields with subfields may
+ * be cleared, but not updated. To fix this, the field mask should select
+ * all the subfields of the invalid field.
+ *
+ * Generated from protobuf enum FIELD_HAS_SUBFIELDS = 3;
+ */
+ const FIELD_HAS_SUBFIELDS = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FIELD_MASK_MISSING => 'FIELD_MASK_MISSING',
+ self::FIELD_MASK_NOT_ALLOWED => 'FIELD_MASK_NOT_ALLOWED',
+ self::FIELD_NOT_FOUND => 'FIELD_NOT_FOUND',
+ self::FIELD_HAS_SUBFIELDS => 'FIELD_HAS_SUBFIELDS',
+ ];
+
+ 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(FieldMaskError::class, \Google\Ads\GoogleAds\V2\Errors\FieldMaskErrorEnum_FieldMaskError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum_FieldMaskError.php b/src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum_FieldMaskError.php
new file mode 100644
index 000000000..56d25aac3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FieldMaskErrorEnum_FieldMaskError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FunctionErrorEnum
+ */
+final class FunctionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FunctionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum/FunctionError.php b/src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum/FunctionError.php
new file mode 100644
index 000000000..f3e1b71cd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum/FunctionError.php
@@ -0,0 +1,170 @@
+google.ads.googleads.v2.errors.FunctionErrorEnum.FunctionError
+ */
+class FunctionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The format of the function is not recognized as a supported function
+ * format.
+ *
+ * Generated from protobuf enum INVALID_FUNCTION_FORMAT = 2;
+ */
+ const INVALID_FUNCTION_FORMAT = 2;
+ /**
+ * Operand data types do not match.
+ *
+ * Generated from protobuf enum DATA_TYPE_MISMATCH = 3;
+ */
+ const DATA_TYPE_MISMATCH = 3;
+ /**
+ * The operands cannot be used together in a conjunction.
+ *
+ * Generated from protobuf enum INVALID_CONJUNCTION_OPERANDS = 4;
+ */
+ const INVALID_CONJUNCTION_OPERANDS = 4;
+ /**
+ * Invalid numer of Operands.
+ *
+ * Generated from protobuf enum INVALID_NUMBER_OF_OPERANDS = 5;
+ */
+ const INVALID_NUMBER_OF_OPERANDS = 5;
+ /**
+ * Operand Type not supported.
+ *
+ * Generated from protobuf enum INVALID_OPERAND_TYPE = 6;
+ */
+ const INVALID_OPERAND_TYPE = 6;
+ /**
+ * Operator not supported.
+ *
+ * Generated from protobuf enum INVALID_OPERATOR = 7;
+ */
+ const INVALID_OPERATOR = 7;
+ /**
+ * Request context type not supported.
+ *
+ * Generated from protobuf enum INVALID_REQUEST_CONTEXT_TYPE = 8;
+ */
+ const INVALID_REQUEST_CONTEXT_TYPE = 8;
+ /**
+ * The matching function is not allowed for call placeholders
+ *
+ * Generated from protobuf enum INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9;
+ */
+ const INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9;
+ /**
+ * The matching function is not allowed for the specified placeholder
+ *
+ * Generated from protobuf enum INVALID_FUNCTION_FOR_PLACEHOLDER = 10;
+ */
+ const INVALID_FUNCTION_FOR_PLACEHOLDER = 10;
+ /**
+ * Invalid operand.
+ *
+ * Generated from protobuf enum INVALID_OPERAND = 11;
+ */
+ const INVALID_OPERAND = 11;
+ /**
+ * Missing value for the constant operand.
+ *
+ * Generated from protobuf enum MISSING_CONSTANT_OPERAND_VALUE = 12;
+ */
+ const MISSING_CONSTANT_OPERAND_VALUE = 12;
+ /**
+ * The value of the constant operand is invalid.
+ *
+ * Generated from protobuf enum INVALID_CONSTANT_OPERAND_VALUE = 13;
+ */
+ const INVALID_CONSTANT_OPERAND_VALUE = 13;
+ /**
+ * Invalid function nesting.
+ *
+ * Generated from protobuf enum INVALID_NESTING = 14;
+ */
+ const INVALID_NESTING = 14;
+ /**
+ * The Feed ID was different from another Feed ID in the same function.
+ *
+ * Generated from protobuf enum MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15;
+ */
+ const MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15;
+ /**
+ * The matching function is invalid for use with a feed with a fixed schema.
+ *
+ * Generated from protobuf enum INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16;
+ */
+ const INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16;
+ /**
+ * Invalid attribute name.
+ *
+ * Generated from protobuf enum INVALID_ATTRIBUTE_NAME = 17;
+ */
+ const INVALID_ATTRIBUTE_NAME = 17;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_FUNCTION_FORMAT => 'INVALID_FUNCTION_FORMAT',
+ self::DATA_TYPE_MISMATCH => 'DATA_TYPE_MISMATCH',
+ self::INVALID_CONJUNCTION_OPERANDS => 'INVALID_CONJUNCTION_OPERANDS',
+ self::INVALID_NUMBER_OF_OPERANDS => 'INVALID_NUMBER_OF_OPERANDS',
+ self::INVALID_OPERAND_TYPE => 'INVALID_OPERAND_TYPE',
+ self::INVALID_OPERATOR => 'INVALID_OPERATOR',
+ self::INVALID_REQUEST_CONTEXT_TYPE => 'INVALID_REQUEST_CONTEXT_TYPE',
+ self::INVALID_FUNCTION_FOR_CALL_PLACEHOLDER => 'INVALID_FUNCTION_FOR_CALL_PLACEHOLDER',
+ self::INVALID_FUNCTION_FOR_PLACEHOLDER => 'INVALID_FUNCTION_FOR_PLACEHOLDER',
+ self::INVALID_OPERAND => 'INVALID_OPERAND',
+ self::MISSING_CONSTANT_OPERAND_VALUE => 'MISSING_CONSTANT_OPERAND_VALUE',
+ self::INVALID_CONSTANT_OPERAND_VALUE => 'INVALID_CONSTANT_OPERAND_VALUE',
+ self::INVALID_NESTING => 'INVALID_NESTING',
+ self::MULTIPLE_FEED_IDS_NOT_SUPPORTED => 'MULTIPLE_FEED_IDS_NOT_SUPPORTED',
+ self::INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA => 'INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA',
+ self::INVALID_ATTRIBUTE_NAME => 'INVALID_ATTRIBUTE_NAME',
+ ];
+
+ 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(FunctionError::class, \Google\Ads\GoogleAds\V2\Errors\FunctionErrorEnum_FunctionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum_FunctionError.php b/src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum_FunctionError.php
new file mode 100644
index 000000000..555b13369
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FunctionErrorEnum_FunctionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.FunctionParsingErrorEnum
+ */
+final class FunctionParsingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\FunctionParsingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum/FunctionParsingError.php b/src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum/FunctionParsingError.php
new file mode 100644
index 000000000..9e16ac990
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum/FunctionParsingError.php
@@ -0,0 +1,134 @@
+google.ads.googleads.v2.errors.FunctionParsingErrorEnum.FunctionParsingError
+ */
+class FunctionParsingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Unexpected end of function string.
+ *
+ * Generated from protobuf enum NO_MORE_INPUT = 2;
+ */
+ const NO_MORE_INPUT = 2;
+ /**
+ * Could not find an expected character.
+ *
+ * Generated from protobuf enum EXPECTED_CHARACTER = 3;
+ */
+ const EXPECTED_CHARACTER = 3;
+ /**
+ * Unexpected separator character.
+ *
+ * Generated from protobuf enum UNEXPECTED_SEPARATOR = 4;
+ */
+ const UNEXPECTED_SEPARATOR = 4;
+ /**
+ * Unmatched left bracket or parenthesis.
+ *
+ * Generated from protobuf enum UNMATCHED_LEFT_BRACKET = 5;
+ */
+ const UNMATCHED_LEFT_BRACKET = 5;
+ /**
+ * Unmatched right bracket or parenthesis.
+ *
+ * Generated from protobuf enum UNMATCHED_RIGHT_BRACKET = 6;
+ */
+ const UNMATCHED_RIGHT_BRACKET = 6;
+ /**
+ * Functions are nested too deeply.
+ *
+ * Generated from protobuf enum TOO_MANY_NESTED_FUNCTIONS = 7;
+ */
+ const TOO_MANY_NESTED_FUNCTIONS = 7;
+ /**
+ * Missing right-hand-side operand.
+ *
+ * Generated from protobuf enum MISSING_RIGHT_HAND_OPERAND = 8;
+ */
+ const MISSING_RIGHT_HAND_OPERAND = 8;
+ /**
+ * Invalid operator/function name.
+ *
+ * Generated from protobuf enum INVALID_OPERATOR_NAME = 9;
+ */
+ const INVALID_OPERATOR_NAME = 9;
+ /**
+ * Feed attribute operand's argument is not an integer.
+ *
+ * Generated from protobuf enum FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10;
+ */
+ const FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10;
+ /**
+ * Missing function operands.
+ *
+ * Generated from protobuf enum NO_OPERANDS = 11;
+ */
+ const NO_OPERANDS = 11;
+ /**
+ * Function had too many operands.
+ *
+ * Generated from protobuf enum TOO_MANY_OPERANDS = 12;
+ */
+ const TOO_MANY_OPERANDS = 12;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NO_MORE_INPUT => 'NO_MORE_INPUT',
+ self::EXPECTED_CHARACTER => 'EXPECTED_CHARACTER',
+ self::UNEXPECTED_SEPARATOR => 'UNEXPECTED_SEPARATOR',
+ self::UNMATCHED_LEFT_BRACKET => 'UNMATCHED_LEFT_BRACKET',
+ self::UNMATCHED_RIGHT_BRACKET => 'UNMATCHED_RIGHT_BRACKET',
+ self::TOO_MANY_NESTED_FUNCTIONS => 'TOO_MANY_NESTED_FUNCTIONS',
+ self::MISSING_RIGHT_HAND_OPERAND => 'MISSING_RIGHT_HAND_OPERAND',
+ self::INVALID_OPERATOR_NAME => 'INVALID_OPERATOR_NAME',
+ self::FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER => 'FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER',
+ self::NO_OPERANDS => 'NO_OPERANDS',
+ self::TOO_MANY_OPERANDS => 'TOO_MANY_OPERANDS',
+ ];
+
+ 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(FunctionParsingError::class, \Google\Ads\GoogleAds\V2\Errors\FunctionParsingErrorEnum_FunctionParsingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum_FunctionParsingError.php b/src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum_FunctionParsingError.php
new file mode 100644
index 000000000..83ee5eeb8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/FunctionParsingErrorEnum_FunctionParsingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.GeoTargetConstantSuggestionErrorEnum
+ */
+final class GeoTargetConstantSuggestionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\GeoTargetConstantSuggestionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum/GeoTargetConstantSuggestionError.php b/src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum/GeoTargetConstantSuggestionError.php
new file mode 100644
index 000000000..765c6cdbd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum/GeoTargetConstantSuggestionError.php
@@ -0,0 +1,87 @@
+google.ads.googleads.v2.errors.GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError
+ */
+class GeoTargetConstantSuggestionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A location name cannot be greater than 300 characters.
+ *
+ * Generated from protobuf enum LOCATION_NAME_SIZE_LIMIT = 2;
+ */
+ const LOCATION_NAME_SIZE_LIMIT = 2;
+ /**
+ * At most 25 location names can be specified in a SuggestGeoTargetConstants
+ * method.
+ *
+ * Generated from protobuf enum LOCATION_NAME_LIMIT = 3;
+ */
+ const LOCATION_NAME_LIMIT = 3;
+ /**
+ * The country code is invalid.
+ *
+ * Generated from protobuf enum INVALID_COUNTRY_CODE = 4;
+ */
+ const INVALID_COUNTRY_CODE = 4;
+ /**
+ * Geo target constant resource names or location names must be provided in
+ * the request.
+ *
+ * Generated from protobuf enum REQUEST_PARAMETERS_UNSET = 5;
+ */
+ const REQUEST_PARAMETERS_UNSET = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LOCATION_NAME_SIZE_LIMIT => 'LOCATION_NAME_SIZE_LIMIT',
+ self::LOCATION_NAME_LIMIT => 'LOCATION_NAME_LIMIT',
+ self::INVALID_COUNTRY_CODE => 'INVALID_COUNTRY_CODE',
+ self::REQUEST_PARAMETERS_UNSET => 'REQUEST_PARAMETERS_UNSET',
+ ];
+
+ 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(GeoTargetConstantSuggestionError::class, \Google\Ads\GoogleAds\V2\Errors\GeoTargetConstantSuggestionErrorEnum_GeoTargetConstantSuggestionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum_GeoTargetConstantSuggestionError.php b/src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum_GeoTargetConstantSuggestionError.php
new file mode 100644
index 000000000..f853dfef6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/GeoTargetConstantSuggestionErrorEnum_GeoTargetConstantSuggestionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.GoogleAdsError
+ */
+final class GoogleAdsError extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * An enum value that indicates which error occurred.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorCode error_code = 1;
+ */
+ private $error_code = null;
+ /**
+ * A human-readable description of the error.
+ *
+ * Generated from protobuf field string message = 2;
+ */
+ private $message = '';
+ /**
+ * The value that triggered the error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Value trigger = 3;
+ */
+ private $trigger = null;
+ /**
+ * Describes the part of the request proto that caused the error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorLocation location = 4;
+ */
+ private $location = null;
+ /**
+ * Additional error details, which are returned by certain error codes. Most
+ * error codes do not include details.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorDetails details = 5;
+ */
+ private $details = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Errors\ErrorCode $error_code
+ * An enum value that indicates which error occurred.
+ * @type string $message
+ * A human-readable description of the error.
+ * @type \Google\Ads\GoogleAds\V2\Common\Value $trigger
+ * The value that triggered the error.
+ * @type \Google\Ads\GoogleAds\V2\Errors\ErrorLocation $location
+ * Describes the part of the request proto that caused the error.
+ * @type \Google\Ads\GoogleAds\V2\Errors\ErrorDetails $details
+ * Additional error details, which are returned by certain error codes. Most
+ * error codes do not include details.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * An enum value that indicates which error occurred.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorCode error_code = 1;
+ * @return \Google\Ads\GoogleAds\V2\Errors\ErrorCode
+ */
+ public function getErrorCode()
+ {
+ return $this->error_code;
+ }
+
+ /**
+ * An enum value that indicates which error occurred.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorCode error_code = 1;
+ * @param \Google\Ads\GoogleAds\V2\Errors\ErrorCode $var
+ * @return $this
+ */
+ public function setErrorCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Errors\ErrorCode::class);
+ $this->error_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * A human-readable description of the error.
+ *
+ * Generated from protobuf field string message = 2;
+ * @return string
+ */
+ public function getMessage()
+ {
+ return $this->message;
+ }
+
+ /**
+ * A human-readable description of the error.
+ *
+ * Generated from protobuf field string message = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setMessage($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->message = $var;
+
+ return $this;
+ }
+
+ /**
+ * The value that triggered the error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Value trigger = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\Value
+ */
+ public function getTrigger()
+ {
+ return $this->trigger;
+ }
+
+ /**
+ * The value that triggered the error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Value trigger = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\Value $var
+ * @return $this
+ */
+ public function setTrigger($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Value::class);
+ $this->trigger = $var;
+
+ return $this;
+ }
+
+ /**
+ * Describes the part of the request proto that caused the error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorLocation location = 4;
+ * @return \Google\Ads\GoogleAds\V2\Errors\ErrorLocation
+ */
+ public function getLocation()
+ {
+ return $this->location;
+ }
+
+ /**
+ * Describes the part of the request proto that caused the error.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorLocation location = 4;
+ * @param \Google\Ads\GoogleAds\V2\Errors\ErrorLocation $var
+ * @return $this
+ */
+ public function setLocation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Errors\ErrorLocation::class);
+ $this->location = $var;
+
+ return $this;
+ }
+
+ /**
+ * Additional error details, which are returned by certain error codes. Most
+ * error codes do not include details.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorDetails details = 5;
+ * @return \Google\Ads\GoogleAds\V2\Errors\ErrorDetails
+ */
+ public function getDetails()
+ {
+ return $this->details;
+ }
+
+ /**
+ * Additional error details, which are returned by certain error codes. Most
+ * error codes do not include details.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.ErrorDetails details = 5;
+ * @param \Google\Ads\GoogleAds\V2\Errors\ErrorDetails $var
+ * @return $this
+ */
+ public function setDetails($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Errors\ErrorDetails::class);
+ $this->details = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/GoogleAdsFailure.php b/src/Google/Ads/GoogleAds/V2/Errors/GoogleAdsFailure.php
new file mode 100644
index 000000000..5dc7969f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/GoogleAdsFailure.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.errors.GoogleAdsFailure
+ */
+final class GoogleAdsFailure extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of errors that occurred.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.errors.GoogleAdsError errors = 1;
+ */
+ private $errors;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Errors\GoogleAdsError[]|\Google\Protobuf\Internal\RepeatedField $errors
+ * The list of errors that occurred.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of errors that occurred.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.errors.GoogleAdsError errors = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getErrors()
+ {
+ return $this->errors;
+ }
+
+ /**
+ * The list of errors that occurred.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.errors.GoogleAdsError errors = 1;
+ * @param \Google\Ads\GoogleAds\V2\Errors\GoogleAdsError[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setErrors($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Errors\GoogleAdsError::class);
+ $this->errors = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum.php b/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum.php
new file mode 100644
index 000000000..aa643f4fa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.errors.HeaderErrorEnum
+ */
+final class HeaderErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\HeaderError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum/HeaderError.php b/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum/HeaderError.php
new file mode 100644
index 000000000..361614e1b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum/HeaderError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.HeaderErrorEnum.HeaderError
+ */
+class HeaderError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The login customer id could not be validated.
+ *
+ * Generated from protobuf enum INVALID_LOGIN_CUSTOMER_ID = 3;
+ */
+ const INVALID_LOGIN_CUSTOMER_ID = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_LOGIN_CUSTOMER_ID => 'INVALID_LOGIN_CUSTOMER_ID',
+ ];
+
+ 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(HeaderError::class, \Google\Ads\GoogleAds\V2\Errors\HeaderErrorEnum_HeaderError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum_HeaderError.php b/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum_HeaderError.php
new file mode 100644
index 000000000..4fa535b43
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/HeaderErrorEnum_HeaderError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.IdErrorEnum
+ */
+final class IdErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\IdError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum/IdError.php b/src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum/IdError.php
new file mode 100644
index 000000000..e81f79bcc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum/IdError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.IdErrorEnum.IdError
+ */
+class IdError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Id not found
+ *
+ * Generated from protobuf enum NOT_FOUND = 2;
+ */
+ const NOT_FOUND = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NOT_FOUND => 'NOT_FOUND',
+ ];
+
+ 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(IdError::class, \Google\Ads\GoogleAds\V2\Errors\IdErrorEnum_IdError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum_IdError.php b/src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum_IdError.php
new file mode 100644
index 000000000..aa4098998
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/IdErrorEnum_IdError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ImageErrorEnum
+ */
+final class ImageErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ImageError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum/ImageError.php b/src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum/ImageError.php
new file mode 100644
index 000000000..44fcdc80e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum/ImageError.php
@@ -0,0 +1,317 @@
+google.ads.googleads.v2.errors.ImageErrorEnum.ImageError
+ */
+class ImageError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The image is not valid.
+ *
+ * Generated from protobuf enum INVALID_IMAGE = 2;
+ */
+ const INVALID_IMAGE = 2;
+ /**
+ * The image could not be stored.
+ *
+ * Generated from protobuf enum STORAGE_ERROR = 3;
+ */
+ const STORAGE_ERROR = 3;
+ /**
+ * There was a problem with the request.
+ *
+ * Generated from protobuf enum BAD_REQUEST = 4;
+ */
+ const BAD_REQUEST = 4;
+ /**
+ * The image is not of legal dimensions.
+ *
+ * Generated from protobuf enum UNEXPECTED_SIZE = 5;
+ */
+ const UNEXPECTED_SIZE = 5;
+ /**
+ * Animated image are not permitted.
+ *
+ * Generated from protobuf enum ANIMATED_NOT_ALLOWED = 6;
+ */
+ const ANIMATED_NOT_ALLOWED = 6;
+ /**
+ * Animation is too long.
+ *
+ * Generated from protobuf enum ANIMATION_TOO_LONG = 7;
+ */
+ const ANIMATION_TOO_LONG = 7;
+ /**
+ * There was an error on the server.
+ *
+ * Generated from protobuf enum SERVER_ERROR = 8;
+ */
+ const SERVER_ERROR = 8;
+ /**
+ * Image cannot be in CMYK color format.
+ *
+ * Generated from protobuf enum CMYK_JPEG_NOT_ALLOWED = 9;
+ */
+ const CMYK_JPEG_NOT_ALLOWED = 9;
+ /**
+ * Flash images are not permitted.
+ *
+ * Generated from protobuf enum FLASH_NOT_ALLOWED = 10;
+ */
+ const FLASH_NOT_ALLOWED = 10;
+ /**
+ * Flash images must support clickTag.
+ *
+ * Generated from protobuf enum FLASH_WITHOUT_CLICKTAG = 11;
+ */
+ const FLASH_WITHOUT_CLICKTAG = 11;
+ /**
+ * A flash error has occurred after fixing the click tag.
+ *
+ * Generated from protobuf enum FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12;
+ */
+ const FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12;
+ /**
+ * Unacceptable visual effects.
+ *
+ * Generated from protobuf enum ANIMATED_VISUAL_EFFECT = 13;
+ */
+ const ANIMATED_VISUAL_EFFECT = 13;
+ /**
+ * There was a problem with the flash image.
+ *
+ * Generated from protobuf enum FLASH_ERROR = 14;
+ */
+ const FLASH_ERROR = 14;
+ /**
+ * Incorrect image layout.
+ *
+ * Generated from protobuf enum LAYOUT_PROBLEM = 15;
+ */
+ const LAYOUT_PROBLEM = 15;
+ /**
+ * There was a problem reading the image file.
+ *
+ * Generated from protobuf enum PROBLEM_READING_IMAGE_FILE = 16;
+ */
+ const PROBLEM_READING_IMAGE_FILE = 16;
+ /**
+ * There was an error storing the image.
+ *
+ * Generated from protobuf enum ERROR_STORING_IMAGE = 17;
+ */
+ const ERROR_STORING_IMAGE = 17;
+ /**
+ * The aspect ratio of the image is not allowed.
+ *
+ * Generated from protobuf enum ASPECT_RATIO_NOT_ALLOWED = 18;
+ */
+ const ASPECT_RATIO_NOT_ALLOWED = 18;
+ /**
+ * Flash cannot have network objects.
+ *
+ * Generated from protobuf enum FLASH_HAS_NETWORK_OBJECTS = 19;
+ */
+ const FLASH_HAS_NETWORK_OBJECTS = 19;
+ /**
+ * Flash cannot have network methods.
+ *
+ * Generated from protobuf enum FLASH_HAS_NETWORK_METHODS = 20;
+ */
+ const FLASH_HAS_NETWORK_METHODS = 20;
+ /**
+ * Flash cannot have a Url.
+ *
+ * Generated from protobuf enum FLASH_HAS_URL = 21;
+ */
+ const FLASH_HAS_URL = 21;
+ /**
+ * Flash cannot use mouse tracking.
+ *
+ * Generated from protobuf enum FLASH_HAS_MOUSE_TRACKING = 22;
+ */
+ const FLASH_HAS_MOUSE_TRACKING = 22;
+ /**
+ * Flash cannot have a random number.
+ *
+ * Generated from protobuf enum FLASH_HAS_RANDOM_NUM = 23;
+ */
+ const FLASH_HAS_RANDOM_NUM = 23;
+ /**
+ * Ad click target cannot be '_self'.
+ *
+ * Generated from protobuf enum FLASH_SELF_TARGETS = 24;
+ */
+ const FLASH_SELF_TARGETS = 24;
+ /**
+ * GetUrl method should only use '_blank'.
+ *
+ * Generated from protobuf enum FLASH_BAD_GETURL_TARGET = 25;
+ */
+ const FLASH_BAD_GETURL_TARGET = 25;
+ /**
+ * Flash version is not supported.
+ *
+ * Generated from protobuf enum FLASH_VERSION_NOT_SUPPORTED = 26;
+ */
+ const FLASH_VERSION_NOT_SUPPORTED = 26;
+ /**
+ * Flash movies need to have hard coded click URL or clickTAG
+ *
+ * Generated from protobuf enum FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27;
+ */
+ const FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27;
+ /**
+ * Uploaded flash file is corrupted.
+ *
+ * Generated from protobuf enum INVALID_FLASH_FILE = 28;
+ */
+ const INVALID_FLASH_FILE = 28;
+ /**
+ * Uploaded flash file can be parsed, but the click tag can not be fixed
+ * properly.
+ *
+ * Generated from protobuf enum FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29;
+ */
+ const FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29;
+ /**
+ * Flash movie accesses network resources
+ *
+ * Generated from protobuf enum FLASH_ACCESSES_NETWORK_RESOURCES = 30;
+ */
+ const FLASH_ACCESSES_NETWORK_RESOURCES = 30;
+ /**
+ * Flash movie attempts to call external javascript code
+ *
+ * Generated from protobuf enum FLASH_EXTERNAL_JS_CALL = 31;
+ */
+ const FLASH_EXTERNAL_JS_CALL = 31;
+ /**
+ * Flash movie attempts to call flash system commands
+ *
+ * Generated from protobuf enum FLASH_EXTERNAL_FS_CALL = 32;
+ */
+ const FLASH_EXTERNAL_FS_CALL = 32;
+ /**
+ * Image file is too large.
+ *
+ * Generated from protobuf enum FILE_TOO_LARGE = 33;
+ */
+ const FILE_TOO_LARGE = 33;
+ /**
+ * Image data is too large.
+ *
+ * Generated from protobuf enum IMAGE_DATA_TOO_LARGE = 34;
+ */
+ const IMAGE_DATA_TOO_LARGE = 34;
+ /**
+ * Error while processing the image.
+ *
+ * Generated from protobuf enum IMAGE_PROCESSING_ERROR = 35;
+ */
+ const IMAGE_PROCESSING_ERROR = 35;
+ /**
+ * Image is too small.
+ *
+ * Generated from protobuf enum IMAGE_TOO_SMALL = 36;
+ */
+ const IMAGE_TOO_SMALL = 36;
+ /**
+ * Input was invalid.
+ *
+ * Generated from protobuf enum INVALID_INPUT = 37;
+ */
+ const INVALID_INPUT = 37;
+ /**
+ * There was a problem reading the image file.
+ *
+ * Generated from protobuf enum PROBLEM_READING_FILE = 38;
+ */
+ const PROBLEM_READING_FILE = 38;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_IMAGE => 'INVALID_IMAGE',
+ self::STORAGE_ERROR => 'STORAGE_ERROR',
+ self::BAD_REQUEST => 'BAD_REQUEST',
+ self::UNEXPECTED_SIZE => 'UNEXPECTED_SIZE',
+ self::ANIMATED_NOT_ALLOWED => 'ANIMATED_NOT_ALLOWED',
+ self::ANIMATION_TOO_LONG => 'ANIMATION_TOO_LONG',
+ self::SERVER_ERROR => 'SERVER_ERROR',
+ self::CMYK_JPEG_NOT_ALLOWED => 'CMYK_JPEG_NOT_ALLOWED',
+ self::FLASH_NOT_ALLOWED => 'FLASH_NOT_ALLOWED',
+ self::FLASH_WITHOUT_CLICKTAG => 'FLASH_WITHOUT_CLICKTAG',
+ self::FLASH_ERROR_AFTER_FIXING_CLICK_TAG => 'FLASH_ERROR_AFTER_FIXING_CLICK_TAG',
+ self::ANIMATED_VISUAL_EFFECT => 'ANIMATED_VISUAL_EFFECT',
+ self::FLASH_ERROR => 'FLASH_ERROR',
+ self::LAYOUT_PROBLEM => 'LAYOUT_PROBLEM',
+ self::PROBLEM_READING_IMAGE_FILE => 'PROBLEM_READING_IMAGE_FILE',
+ self::ERROR_STORING_IMAGE => 'ERROR_STORING_IMAGE',
+ self::ASPECT_RATIO_NOT_ALLOWED => 'ASPECT_RATIO_NOT_ALLOWED',
+ self::FLASH_HAS_NETWORK_OBJECTS => 'FLASH_HAS_NETWORK_OBJECTS',
+ self::FLASH_HAS_NETWORK_METHODS => 'FLASH_HAS_NETWORK_METHODS',
+ self::FLASH_HAS_URL => 'FLASH_HAS_URL',
+ self::FLASH_HAS_MOUSE_TRACKING => 'FLASH_HAS_MOUSE_TRACKING',
+ self::FLASH_HAS_RANDOM_NUM => 'FLASH_HAS_RANDOM_NUM',
+ self::FLASH_SELF_TARGETS => 'FLASH_SELF_TARGETS',
+ self::FLASH_BAD_GETURL_TARGET => 'FLASH_BAD_GETURL_TARGET',
+ self::FLASH_VERSION_NOT_SUPPORTED => 'FLASH_VERSION_NOT_SUPPORTED',
+ self::FLASH_WITHOUT_HARD_CODED_CLICK_URL => 'FLASH_WITHOUT_HARD_CODED_CLICK_URL',
+ self::INVALID_FLASH_FILE => 'INVALID_FLASH_FILE',
+ self::FAILED_TO_FIX_CLICK_TAG_IN_FLASH => 'FAILED_TO_FIX_CLICK_TAG_IN_FLASH',
+ self::FLASH_ACCESSES_NETWORK_RESOURCES => 'FLASH_ACCESSES_NETWORK_RESOURCES',
+ self::FLASH_EXTERNAL_JS_CALL => 'FLASH_EXTERNAL_JS_CALL',
+ self::FLASH_EXTERNAL_FS_CALL => 'FLASH_EXTERNAL_FS_CALL',
+ self::FILE_TOO_LARGE => 'FILE_TOO_LARGE',
+ self::IMAGE_DATA_TOO_LARGE => 'IMAGE_DATA_TOO_LARGE',
+ self::IMAGE_PROCESSING_ERROR => 'IMAGE_PROCESSING_ERROR',
+ self::IMAGE_TOO_SMALL => 'IMAGE_TOO_SMALL',
+ self::INVALID_INPUT => 'INVALID_INPUT',
+ self::PROBLEM_READING_FILE => 'PROBLEM_READING_FILE',
+ ];
+
+ 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(ImageError::class, \Google\Ads\GoogleAds\V2\Errors\ImageErrorEnum_ImageError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum_ImageError.php b/src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum_ImageError.php
new file mode 100644
index 000000000..f2f1a62e2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ImageErrorEnum_ImageError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.InternalErrorEnum
+ */
+final class InternalErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\InternalError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum/InternalError.php b/src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum/InternalError.php
new file mode 100644
index 000000000..732b57afd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum/InternalError.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.errors.InternalErrorEnum.InternalError
+ */
+class InternalError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Google Ads API encountered unexpected internal error.
+ *
+ * Generated from protobuf enum INTERNAL_ERROR = 2;
+ */
+ const INTERNAL_ERROR = 2;
+ /**
+ * The intended error code doesn't exist in any API version. This will be
+ * fixed by adding a new error code as soon as possible.
+ *
+ * Generated from protobuf enum ERROR_CODE_NOT_PUBLISHED = 3;
+ */
+ const ERROR_CODE_NOT_PUBLISHED = 3;
+ /**
+ * Google Ads API encountered an unexpected transient error. The user
+ * should retry their request in these cases.
+ *
+ * Generated from protobuf enum TRANSIENT_ERROR = 4;
+ */
+ const TRANSIENT_ERROR = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INTERNAL_ERROR => 'INTERNAL_ERROR',
+ self::ERROR_CODE_NOT_PUBLISHED => 'ERROR_CODE_NOT_PUBLISHED',
+ self::TRANSIENT_ERROR => 'TRANSIENT_ERROR',
+ ];
+
+ 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(InternalError::class, \Google\Ads\GoogleAds\V2\Errors\InternalErrorEnum_InternalError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum_InternalError.php b/src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum_InternalError.php
new file mode 100644
index 000000000..83e51460f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/InternalErrorEnum_InternalError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.KeywordPlanAdGroupErrorEnum
+ */
+final class KeywordPlanAdGroupErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\KeywordPlanAdGroupError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum/KeywordPlanAdGroupError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum/KeywordPlanAdGroupError.php
new file mode 100644
index 000000000..aee55aae2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum/KeywordPlanAdGroupError.php
@@ -0,0 +1,73 @@
+google.ads.googleads.v2.errors.KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError
+ */
+class KeywordPlanAdGroupError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The keyword plan ad group name is missing, empty, longer than allowed
+ * limit or contains invalid chars.
+ *
+ * Generated from protobuf enum INVALID_NAME = 2;
+ */
+ const INVALID_NAME = 2;
+ /**
+ * The keyword plan ad group name is duplicate to an existing keyword plan
+ * AdGroup name or other keyword plan AdGroup name in the request.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 3;
+ */
+ const DUPLICATE_NAME = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_NAME => 'INVALID_NAME',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ ];
+
+ 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(KeywordPlanAdGroupError::class, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanAdGroupErrorEnum_KeywordPlanAdGroupError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum_KeywordPlanAdGroupError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum_KeywordPlanAdGroupError.php
new file mode 100644
index 000000000..b157083b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanAdGroupErrorEnum_KeywordPlanAdGroupError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.KeywordPlanCampaignErrorEnum
+ */
+final class KeywordPlanCampaignErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\KeywordPlanCampaignError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum/KeywordPlanCampaignError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum/KeywordPlanCampaignError.php
new file mode 100644
index 000000000..919b8f7a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum/KeywordPlanCampaignError.php
@@ -0,0 +1,94 @@
+google.ads.googleads.v2.errors.KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError
+ */
+class KeywordPlanCampaignError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A keyword plan campaign name is missing, empty, longer than allowed limit
+ * or contains invalid chars.
+ *
+ * Generated from protobuf enum INVALID_NAME = 2;
+ */
+ const INVALID_NAME = 2;
+ /**
+ * A keyword plan campaign contains one or more untargetable languages.
+ *
+ * Generated from protobuf enum INVALID_LANGUAGES = 3;
+ */
+ const INVALID_LANGUAGES = 3;
+ /**
+ * A keyword plan campaign contains one or more invalid geo targets.
+ *
+ * Generated from protobuf enum INVALID_GEOS = 4;
+ */
+ const INVALID_GEOS = 4;
+ /**
+ * The keyword plan campaign name is duplicate to an existing keyword plan
+ * campaign name or other keyword plan campaign name in the request.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 5;
+ */
+ const DUPLICATE_NAME = 5;
+ /**
+ * The number of geo targets in the keyword plan campaign exceeds limits.
+ *
+ * Generated from protobuf enum MAX_GEOS_EXCEEDED = 6;
+ */
+ const MAX_GEOS_EXCEEDED = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_NAME => 'INVALID_NAME',
+ self::INVALID_LANGUAGES => 'INVALID_LANGUAGES',
+ self::INVALID_GEOS => 'INVALID_GEOS',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::MAX_GEOS_EXCEEDED => 'MAX_GEOS_EXCEEDED',
+ ];
+
+ 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(KeywordPlanCampaignError::class, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanCampaignErrorEnum_KeywordPlanCampaignError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum_KeywordPlanCampaignError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum_KeywordPlanCampaignError.php
new file mode 100644
index 000000000..fb55e29bb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanCampaignErrorEnum_KeywordPlanCampaignError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.KeywordPlanErrorEnum
+ */
+final class KeywordPlanErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\KeywordPlanError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum/KeywordPlanError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum/KeywordPlanError.php
new file mode 100644
index 000000000..0963ef729
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum/KeywordPlanError.php
@@ -0,0 +1,156 @@
+google.ads.googleads.v2.errors.KeywordPlanErrorEnum.KeywordPlanError
+ */
+class KeywordPlanError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The plan's bid multiplier value is outside the valid range.
+ *
+ * Generated from protobuf enum BID_MULTIPLIER_OUT_OF_RANGE = 2;
+ */
+ const BID_MULTIPLIER_OUT_OF_RANGE = 2;
+ /**
+ * The plan's bid value is too high.
+ *
+ * Generated from protobuf enum BID_TOO_HIGH = 3;
+ */
+ const BID_TOO_HIGH = 3;
+ /**
+ * The plan's bid value is too low.
+ *
+ * Generated from protobuf enum BID_TOO_LOW = 4;
+ */
+ const BID_TOO_LOW = 4;
+ /**
+ * The plan's cpc bid is not a multiple of the minimum billable unit.
+ *
+ * Generated from protobuf enum BID_TOO_MANY_FRACTIONAL_DIGITS = 5;
+ */
+ const BID_TOO_MANY_FRACTIONAL_DIGITS = 5;
+ /**
+ * The plan's daily budget value is too low.
+ *
+ * Generated from protobuf enum DAILY_BUDGET_TOO_LOW = 6;
+ */
+ const DAILY_BUDGET_TOO_LOW = 6;
+ /**
+ * The plan's daily budget is not a multiple of the minimum billable unit.
+ *
+ * Generated from protobuf enum DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7;
+ */
+ const DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7;
+ /**
+ * The input has an invalid value.
+ *
+ * Generated from protobuf enum INVALID_VALUE = 8;
+ */
+ const INVALID_VALUE = 8;
+ /**
+ * The plan has no keyword.
+ *
+ * Generated from protobuf enum KEYWORD_PLAN_HAS_NO_KEYWORDS = 9;
+ */
+ const KEYWORD_PLAN_HAS_NO_KEYWORDS = 9;
+ /**
+ * The plan is not enabled and API cannot provide mutation, forecast or
+ * stats.
+ *
+ * Generated from protobuf enum KEYWORD_PLAN_NOT_ENABLED = 10;
+ */
+ const KEYWORD_PLAN_NOT_ENABLED = 10;
+ /**
+ * The requested plan cannot be found for providing forecast or stats.
+ *
+ * Generated from protobuf enum KEYWORD_PLAN_NOT_FOUND = 11;
+ */
+ const KEYWORD_PLAN_NOT_FOUND = 11;
+ /**
+ * The plan is missing a cpc bid.
+ *
+ * Generated from protobuf enum MISSING_BID = 13;
+ */
+ const MISSING_BID = 13;
+ /**
+ * The plan is missing required forecast_period field.
+ *
+ * Generated from protobuf enum MISSING_FORECAST_PERIOD = 14;
+ */
+ const MISSING_FORECAST_PERIOD = 14;
+ /**
+ * The plan's forecast_period has invalid forecast date range.
+ *
+ * Generated from protobuf enum INVALID_FORECAST_DATE_RANGE = 15;
+ */
+ const INVALID_FORECAST_DATE_RANGE = 15;
+ /**
+ * The plan's name is invalid.
+ *
+ * Generated from protobuf enum INVALID_NAME = 16;
+ */
+ const INVALID_NAME = 16;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BID_MULTIPLIER_OUT_OF_RANGE => 'BID_MULTIPLIER_OUT_OF_RANGE',
+ self::BID_TOO_HIGH => 'BID_TOO_HIGH',
+ self::BID_TOO_LOW => 'BID_TOO_LOW',
+ self::BID_TOO_MANY_FRACTIONAL_DIGITS => 'BID_TOO_MANY_FRACTIONAL_DIGITS',
+ self::DAILY_BUDGET_TOO_LOW => 'DAILY_BUDGET_TOO_LOW',
+ self::DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS => 'DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS',
+ self::INVALID_VALUE => 'INVALID_VALUE',
+ self::KEYWORD_PLAN_HAS_NO_KEYWORDS => 'KEYWORD_PLAN_HAS_NO_KEYWORDS',
+ self::KEYWORD_PLAN_NOT_ENABLED => 'KEYWORD_PLAN_NOT_ENABLED',
+ self::KEYWORD_PLAN_NOT_FOUND => 'KEYWORD_PLAN_NOT_FOUND',
+ self::MISSING_BID => 'MISSING_BID',
+ self::MISSING_FORECAST_PERIOD => 'MISSING_FORECAST_PERIOD',
+ self::INVALID_FORECAST_DATE_RANGE => 'INVALID_FORECAST_DATE_RANGE',
+ self::INVALID_NAME => 'INVALID_NAME',
+ ];
+
+ 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(KeywordPlanError::class, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanErrorEnum_KeywordPlanError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum_KeywordPlanError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum_KeywordPlanError.php
new file mode 100644
index 000000000..7b94e801e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanErrorEnum_KeywordPlanError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.KeywordPlanIdeaErrorEnum
+ */
+final class KeywordPlanIdeaErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\KeywordPlanIdeaError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum/KeywordPlanIdeaError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum/KeywordPlanIdeaError.php
new file mode 100644
index 000000000..f3d00665a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum/KeywordPlanIdeaError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError
+ */
+class KeywordPlanIdeaError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Error when crawling the input URL.
+ *
+ * Generated from protobuf enum URL_CRAWL_ERROR = 2;
+ */
+ const URL_CRAWL_ERROR = 2;
+ /**
+ * The input has an invalid value.
+ *
+ * Generated from protobuf enum INVALID_VALUE = 3;
+ */
+ const INVALID_VALUE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::URL_CRAWL_ERROR => 'URL_CRAWL_ERROR',
+ self::INVALID_VALUE => 'INVALID_VALUE',
+ ];
+
+ 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(KeywordPlanIdeaError::class, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanIdeaErrorEnum_KeywordPlanIdeaError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum_KeywordPlanIdeaError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum_KeywordPlanIdeaError.php
new file mode 100644
index 000000000..6c0f893f6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanIdeaErrorEnum_KeywordPlanIdeaError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.KeywordPlanKeywordErrorEnum
+ */
+final class KeywordPlanKeywordErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\KeywordPlanKeywordError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum/KeywordPlanKeywordError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum/KeywordPlanKeywordError.php
new file mode 100644
index 000000000..2261ccc36
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum/KeywordPlanKeywordError.php
@@ -0,0 +1,100 @@
+google.ads.googleads.v2.errors.KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError
+ */
+class KeywordPlanKeywordError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A keyword or negative keyword has invalid match type.
+ *
+ * Generated from protobuf enum INVALID_KEYWORD_MATCH_TYPE = 2;
+ */
+ const INVALID_KEYWORD_MATCH_TYPE = 2;
+ /**
+ * A keyword or negative keyword with same text and match type already
+ * exists.
+ *
+ * Generated from protobuf enum DUPLICATE_KEYWORD = 3;
+ */
+ const DUPLICATE_KEYWORD = 3;
+ /**
+ * Keyword or negative keyword text exceeds the allowed limit.
+ *
+ * Generated from protobuf enum KEYWORD_TEXT_TOO_LONG = 4;
+ */
+ const KEYWORD_TEXT_TOO_LONG = 4;
+ /**
+ * Keyword or negative keyword text has invalid characters or symbols.
+ *
+ * Generated from protobuf enum KEYWORD_HAS_INVALID_CHARS = 5;
+ */
+ const KEYWORD_HAS_INVALID_CHARS = 5;
+ /**
+ * Keyword or negative keyword text has too many words.
+ *
+ * Generated from protobuf enum KEYWORD_HAS_TOO_MANY_WORDS = 6;
+ */
+ const KEYWORD_HAS_TOO_MANY_WORDS = 6;
+ /**
+ * Keyword or negative keyword has invalid text.
+ *
+ * Generated from protobuf enum INVALID_KEYWORD_TEXT = 7;
+ */
+ const INVALID_KEYWORD_TEXT = 7;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_KEYWORD_MATCH_TYPE => 'INVALID_KEYWORD_MATCH_TYPE',
+ self::DUPLICATE_KEYWORD => 'DUPLICATE_KEYWORD',
+ self::KEYWORD_TEXT_TOO_LONG => 'KEYWORD_TEXT_TOO_LONG',
+ self::KEYWORD_HAS_INVALID_CHARS => 'KEYWORD_HAS_INVALID_CHARS',
+ self::KEYWORD_HAS_TOO_MANY_WORDS => 'KEYWORD_HAS_TOO_MANY_WORDS',
+ self::INVALID_KEYWORD_TEXT => 'INVALID_KEYWORD_TEXT',
+ ];
+
+ 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(KeywordPlanKeywordError::class, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanKeywordErrorEnum_KeywordPlanKeywordError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum_KeywordPlanKeywordError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum_KeywordPlanKeywordError.php
new file mode 100644
index 000000000..1a9be7fbc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanKeywordErrorEnum_KeywordPlanKeywordError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.KeywordPlanNegativeKeywordErrorEnum
+ */
+final class KeywordPlanNegativeKeywordErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\KeywordPlanNegativeKeywordError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum/KeywordPlanNegativeKeywordError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum/KeywordPlanNegativeKeywordError.php
new file mode 100644
index 000000000..32cbc227b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum/KeywordPlanNegativeKeywordError.php
@@ -0,0 +1,58 @@
+google.ads.googleads.v2.errors.KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError
+ */
+class KeywordPlanNegativeKeywordError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ ];
+
+ 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(KeywordPlanNegativeKeywordError::class, \Google\Ads\GoogleAds\V2\Errors\KeywordPlanNegativeKeywordErrorEnum_KeywordPlanNegativeKeywordError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum_KeywordPlanNegativeKeywordError.php b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum_KeywordPlanNegativeKeywordError.php
new file mode 100644
index 000000000..3dbb5aa0c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/KeywordPlanNegativeKeywordErrorEnum_KeywordPlanNegativeKeywordError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.LabelErrorEnum
+ */
+final class LabelErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\LabelError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum/LabelError.php b/src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum/LabelError.php
new file mode 100644
index 000000000..ef1f5298c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum/LabelError.php
@@ -0,0 +1,122 @@
+google.ads.googleads.v2.errors.LabelErrorEnum.LabelError
+ */
+class LabelError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * An inactive label cannot be applied.
+ *
+ * Generated from protobuf enum CANNOT_APPLY_INACTIVE_LABEL = 2;
+ */
+ const CANNOT_APPLY_INACTIVE_LABEL = 2;
+ /**
+ * A label cannot be applied to a disabled ad group criterion.
+ *
+ * Generated from protobuf enum CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3;
+ */
+ const CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3;
+ /**
+ * A label cannot be applied to a negative ad group criterion.
+ *
+ * Generated from protobuf enum CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4;
+ */
+ const CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4;
+ /**
+ * Cannot apply more than 50 labels per resource.
+ *
+ * Generated from protobuf enum EXCEEDED_LABEL_LIMIT_PER_TYPE = 5;
+ */
+ const EXCEEDED_LABEL_LIMIT_PER_TYPE = 5;
+ /**
+ * Labels from a manager account cannot be applied to campaign, ad group,
+ * ad group ad, or ad group criterion resources.
+ *
+ * Generated from protobuf enum INVALID_RESOURCE_FOR_MANAGER_LABEL = 6;
+ */
+ const INVALID_RESOURCE_FOR_MANAGER_LABEL = 6;
+ /**
+ * Label names must be unique.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 7;
+ */
+ const DUPLICATE_NAME = 7;
+ /**
+ * Label names cannot be empty.
+ *
+ * Generated from protobuf enum INVALID_LABEL_NAME = 8;
+ */
+ const INVALID_LABEL_NAME = 8;
+ /**
+ * Labels cannot be applied to a draft.
+ *
+ * Generated from protobuf enum CANNOT_ATTACH_LABEL_TO_DRAFT = 9;
+ */
+ const CANNOT_ATTACH_LABEL_TO_DRAFT = 9;
+ /**
+ * Labels not from a manager account cannot be applied to the customer
+ * resource.
+ *
+ * Generated from protobuf enum CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10;
+ */
+ const CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_APPLY_INACTIVE_LABEL => 'CANNOT_APPLY_INACTIVE_LABEL',
+ self::CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION => 'CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION',
+ self::CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION => 'CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION',
+ self::EXCEEDED_LABEL_LIMIT_PER_TYPE => 'EXCEEDED_LABEL_LIMIT_PER_TYPE',
+ self::INVALID_RESOURCE_FOR_MANAGER_LABEL => 'INVALID_RESOURCE_FOR_MANAGER_LABEL',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::INVALID_LABEL_NAME => 'INVALID_LABEL_NAME',
+ self::CANNOT_ATTACH_LABEL_TO_DRAFT => 'CANNOT_ATTACH_LABEL_TO_DRAFT',
+ self::CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER => 'CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER',
+ ];
+
+ 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(LabelError::class, \Google\Ads\GoogleAds\V2\Errors\LabelErrorEnum_LabelError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum_LabelError.php b/src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum_LabelError.php
new file mode 100644
index 000000000..b7cf9d5dd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/LabelErrorEnum_LabelError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.LanguageCodeErrorEnum
+ */
+final class LanguageCodeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\LanguageCodeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum/LanguageCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum/LanguageCodeError.php
new file mode 100644
index 000000000..87452ea32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum/LanguageCodeError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.LanguageCodeErrorEnum.LanguageCodeError
+ */
+class LanguageCodeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The input language code is not recognized.
+ *
+ * Generated from protobuf enum LANGUAGE_CODE_NOT_FOUND = 2;
+ */
+ const LANGUAGE_CODE_NOT_FOUND = 2;
+ /**
+ * The language is not allowed to use.
+ *
+ * Generated from protobuf enum INVALID_LANGUAGE_CODE = 3;
+ */
+ const INVALID_LANGUAGE_CODE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::LANGUAGE_CODE_NOT_FOUND => 'LANGUAGE_CODE_NOT_FOUND',
+ self::INVALID_LANGUAGE_CODE => 'INVALID_LANGUAGE_CODE',
+ ];
+
+ 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(LanguageCodeError::class, \Google\Ads\GoogleAds\V2\Errors\LanguageCodeErrorEnum_LanguageCodeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum_LanguageCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum_LanguageCodeError.php
new file mode 100644
index 000000000..9cf87e7e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/LanguageCodeErrorEnum_LanguageCodeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ListOperationErrorEnum
+ */
+final class ListOperationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ListOperationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum/ListOperationError.php b/src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum/ListOperationError.php
new file mode 100644
index 000000000..86dc5b708
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum/ListOperationError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.ListOperationErrorEnum.ListOperationError
+ */
+class ListOperationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Field required in value is missing.
+ *
+ * Generated from protobuf enum REQUIRED_FIELD_MISSING = 7;
+ */
+ const REQUIRED_FIELD_MISSING = 7;
+ /**
+ * Duplicate or identical value is sent in multiple list operations.
+ *
+ * Generated from protobuf enum DUPLICATE_VALUES = 8;
+ */
+ const DUPLICATE_VALUES = 8;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::REQUIRED_FIELD_MISSING => 'REQUIRED_FIELD_MISSING',
+ self::DUPLICATE_VALUES => 'DUPLICATE_VALUES',
+ ];
+
+ 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(ListOperationError::class, \Google\Ads\GoogleAds\V2\Errors\ListOperationErrorEnum_ListOperationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum_ListOperationError.php b/src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum_ListOperationError.php
new file mode 100644
index 000000000..8652eeb49
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ListOperationErrorEnum_ListOperationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ManagerLinkErrorEnum
+ */
+final class ManagerLinkErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ManagerLinkError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum/ManagerLinkError.php b/src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum/ManagerLinkError.php
new file mode 100644
index 000000000..e8543ed76
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum/ManagerLinkError.php
@@ -0,0 +1,156 @@
+google.ads.googleads.v2.errors.ManagerLinkErrorEnum.ManagerLinkError
+ */
+class ManagerLinkError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The manager and client have incompatible account types.
+ *
+ * Generated from protobuf enum ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2;
+ */
+ const ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2;
+ /**
+ * Client is already linked to too many managers.
+ *
+ * Generated from protobuf enum TOO_MANY_MANAGERS = 3;
+ */
+ const TOO_MANY_MANAGERS = 3;
+ /**
+ * Manager has too many pending invitations.
+ *
+ * Generated from protobuf enum TOO_MANY_INVITES = 4;
+ */
+ const TOO_MANY_INVITES = 4;
+ /**
+ * Client is already invited by this manager.
+ *
+ * Generated from protobuf enum ALREADY_INVITED_BY_THIS_MANAGER = 5;
+ */
+ const ALREADY_INVITED_BY_THIS_MANAGER = 5;
+ /**
+ * The client is already managed by this manager.
+ *
+ * Generated from protobuf enum ALREADY_MANAGED_BY_THIS_MANAGER = 6;
+ */
+ const ALREADY_MANAGED_BY_THIS_MANAGER = 6;
+ /**
+ * Client is already managed in hierarchy.
+ *
+ * Generated from protobuf enum ALREADY_MANAGED_IN_HIERARCHY = 7;
+ */
+ const ALREADY_MANAGED_IN_HIERARCHY = 7;
+ /**
+ * Manger and sub-manager to be linked have duplicate client.
+ *
+ * Generated from protobuf enum DUPLICATE_CHILD_FOUND = 8;
+ */
+ const DUPLICATE_CHILD_FOUND = 8;
+ /**
+ * Client has no active user that can access the client account.
+ *
+ * Generated from protobuf enum CLIENT_HAS_NO_ADMIN_USER = 9;
+ */
+ const CLIENT_HAS_NO_ADMIN_USER = 9;
+ /**
+ * Adding this link would exceed the maximum hierarchy depth.
+ *
+ * Generated from protobuf enum MAX_DEPTH_EXCEEDED = 10;
+ */
+ const MAX_DEPTH_EXCEEDED = 10;
+ /**
+ * Adding this link will create a cycle.
+ *
+ * Generated from protobuf enum CYCLE_NOT_ALLOWED = 11;
+ */
+ const CYCLE_NOT_ALLOWED = 11;
+ /**
+ * Manager account has the maximum number of linked clients.
+ *
+ * Generated from protobuf enum TOO_MANY_ACCOUNTS = 12;
+ */
+ const TOO_MANY_ACCOUNTS = 12;
+ /**
+ * Parent manager account has the maximum number of linked clients.
+ *
+ * Generated from protobuf enum TOO_MANY_ACCOUNTS_AT_MANAGER = 13;
+ */
+ const TOO_MANY_ACCOUNTS_AT_MANAGER = 13;
+ /**
+ * The account is not authorized owner.
+ *
+ * Generated from protobuf enum NON_OWNER_USER_CANNOT_MODIFY_LINK = 14;
+ */
+ const NON_OWNER_USER_CANNOT_MODIFY_LINK = 14;
+ /**
+ * Your manager account is suspended, and you are no longer allowed to link
+ * to clients.
+ *
+ * Generated from protobuf enum SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS = 15;
+ */
+ const SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS = 15;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING => 'ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING',
+ self::TOO_MANY_MANAGERS => 'TOO_MANY_MANAGERS',
+ self::TOO_MANY_INVITES => 'TOO_MANY_INVITES',
+ self::ALREADY_INVITED_BY_THIS_MANAGER => 'ALREADY_INVITED_BY_THIS_MANAGER',
+ self::ALREADY_MANAGED_BY_THIS_MANAGER => 'ALREADY_MANAGED_BY_THIS_MANAGER',
+ self::ALREADY_MANAGED_IN_HIERARCHY => 'ALREADY_MANAGED_IN_HIERARCHY',
+ self::DUPLICATE_CHILD_FOUND => 'DUPLICATE_CHILD_FOUND',
+ self::CLIENT_HAS_NO_ADMIN_USER => 'CLIENT_HAS_NO_ADMIN_USER',
+ self::MAX_DEPTH_EXCEEDED => 'MAX_DEPTH_EXCEEDED',
+ self::CYCLE_NOT_ALLOWED => 'CYCLE_NOT_ALLOWED',
+ self::TOO_MANY_ACCOUNTS => 'TOO_MANY_ACCOUNTS',
+ self::TOO_MANY_ACCOUNTS_AT_MANAGER => 'TOO_MANY_ACCOUNTS_AT_MANAGER',
+ self::NON_OWNER_USER_CANNOT_MODIFY_LINK => 'NON_OWNER_USER_CANNOT_MODIFY_LINK',
+ self::SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS => 'SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS',
+ ];
+
+ 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(ManagerLinkError::class, \Google\Ads\GoogleAds\V2\Errors\ManagerLinkErrorEnum_ManagerLinkError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum_ManagerLinkError.php b/src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum_ManagerLinkError.php
new file mode 100644
index 000000000..9f92c9bbf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ManagerLinkErrorEnum_ManagerLinkError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.MediaBundleErrorEnum
+ */
+final class MediaBundleErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\MediaBundleError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum/MediaBundleError.php b/src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum/MediaBundleError.php
new file mode 100644
index 000000000..565e505a7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum/MediaBundleError.php
@@ -0,0 +1,211 @@
+google.ads.googleads.v2.errors.MediaBundleErrorEnum.MediaBundleError
+ */
+class MediaBundleError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * There was a problem with the request.
+ *
+ * Generated from protobuf enum BAD_REQUEST = 3;
+ */
+ const BAD_REQUEST = 3;
+ /**
+ * HTML5 ads using DoubleClick Studio created ZIP files are not supported.
+ *
+ * Generated from protobuf enum DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4;
+ */
+ const DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4;
+ /**
+ * Cannot reference URL external to the media bundle.
+ *
+ * Generated from protobuf enum EXTERNAL_URL_NOT_ALLOWED = 5;
+ */
+ const EXTERNAL_URL_NOT_ALLOWED = 5;
+ /**
+ * Media bundle file is too large.
+ *
+ * Generated from protobuf enum FILE_TOO_LARGE = 6;
+ */
+ const FILE_TOO_LARGE = 6;
+ /**
+ * ZIP file from Google Web Designer is not published.
+ *
+ * Generated from protobuf enum GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7;
+ */
+ const GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7;
+ /**
+ * Input was invalid.
+ *
+ * Generated from protobuf enum INVALID_INPUT = 8;
+ */
+ const INVALID_INPUT = 8;
+ /**
+ * There was a problem with the media bundle.
+ *
+ * Generated from protobuf enum INVALID_MEDIA_BUNDLE = 9;
+ */
+ const INVALID_MEDIA_BUNDLE = 9;
+ /**
+ * There was a problem with one or more of the media bundle entries.
+ *
+ * Generated from protobuf enum INVALID_MEDIA_BUNDLE_ENTRY = 10;
+ */
+ const INVALID_MEDIA_BUNDLE_ENTRY = 10;
+ /**
+ * The media bundle contains a file with an unknown mime type
+ *
+ * Generated from protobuf enum INVALID_MIME_TYPE = 11;
+ */
+ const INVALID_MIME_TYPE = 11;
+ /**
+ * The media bundle contain an invalid asset path.
+ *
+ * Generated from protobuf enum INVALID_PATH = 12;
+ */
+ const INVALID_PATH = 12;
+ /**
+ * HTML5 ad is trying to reference an asset not in .ZIP file
+ *
+ * Generated from protobuf enum INVALID_URL_REFERENCE = 13;
+ */
+ const INVALID_URL_REFERENCE = 13;
+ /**
+ * Media data is too large.
+ *
+ * Generated from protobuf enum MEDIA_DATA_TOO_LARGE = 14;
+ */
+ const MEDIA_DATA_TOO_LARGE = 14;
+ /**
+ * The media bundle contains no primary entry.
+ *
+ * Generated from protobuf enum MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15;
+ */
+ const MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15;
+ /**
+ * There was an error on the server.
+ *
+ * Generated from protobuf enum SERVER_ERROR = 16;
+ */
+ const SERVER_ERROR = 16;
+ /**
+ * The image could not be stored.
+ *
+ * Generated from protobuf enum STORAGE_ERROR = 17;
+ */
+ const STORAGE_ERROR = 17;
+ /**
+ * Media bundle created with the Swiffy tool is not allowed.
+ *
+ * Generated from protobuf enum SWIFFY_BUNDLE_NOT_ALLOWED = 18;
+ */
+ const SWIFFY_BUNDLE_NOT_ALLOWED = 18;
+ /**
+ * The media bundle contains too many files.
+ *
+ * Generated from protobuf enum TOO_MANY_FILES = 19;
+ */
+ const TOO_MANY_FILES = 19;
+ /**
+ * The media bundle is not of legal dimensions.
+ *
+ * Generated from protobuf enum UNEXPECTED_SIZE = 20;
+ */
+ const UNEXPECTED_SIZE = 20;
+ /**
+ * Google Web Designer not created for "Google Ads" environment.
+ *
+ * Generated from protobuf enum UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21;
+ */
+ const UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21;
+ /**
+ * Unsupported HTML5 feature in HTML5 asset.
+ *
+ * Generated from protobuf enum UNSUPPORTED_HTML5_FEATURE = 22;
+ */
+ const UNSUPPORTED_HTML5_FEATURE = 22;
+ /**
+ * URL in HTML5 entry is not ssl compliant.
+ *
+ * Generated from protobuf enum URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23;
+ */
+ const URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23;
+ /**
+ * Custom exits not allowed in HTML5 entry.
+ *
+ * Generated from protobuf enum CUSTOM_EXIT_NOT_ALLOWED = 24;
+ */
+ const CUSTOM_EXIT_NOT_ALLOWED = 24;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BAD_REQUEST => 'BAD_REQUEST',
+ self::DOUBLECLICK_BUNDLE_NOT_ALLOWED => 'DOUBLECLICK_BUNDLE_NOT_ALLOWED',
+ self::EXTERNAL_URL_NOT_ALLOWED => 'EXTERNAL_URL_NOT_ALLOWED',
+ self::FILE_TOO_LARGE => 'FILE_TOO_LARGE',
+ self::GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED => 'GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED',
+ self::INVALID_INPUT => 'INVALID_INPUT',
+ self::INVALID_MEDIA_BUNDLE => 'INVALID_MEDIA_BUNDLE',
+ self::INVALID_MEDIA_BUNDLE_ENTRY => 'INVALID_MEDIA_BUNDLE_ENTRY',
+ self::INVALID_MIME_TYPE => 'INVALID_MIME_TYPE',
+ self::INVALID_PATH => 'INVALID_PATH',
+ self::INVALID_URL_REFERENCE => 'INVALID_URL_REFERENCE',
+ self::MEDIA_DATA_TOO_LARGE => 'MEDIA_DATA_TOO_LARGE',
+ self::MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY => 'MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY',
+ self::SERVER_ERROR => 'SERVER_ERROR',
+ self::STORAGE_ERROR => 'STORAGE_ERROR',
+ self::SWIFFY_BUNDLE_NOT_ALLOWED => 'SWIFFY_BUNDLE_NOT_ALLOWED',
+ self::TOO_MANY_FILES => 'TOO_MANY_FILES',
+ self::UNEXPECTED_SIZE => 'UNEXPECTED_SIZE',
+ self::UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT => 'UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT',
+ self::UNSUPPORTED_HTML5_FEATURE => 'UNSUPPORTED_HTML5_FEATURE',
+ self::URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT => 'URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT',
+ self::CUSTOM_EXIT_NOT_ALLOWED => 'CUSTOM_EXIT_NOT_ALLOWED',
+ ];
+
+ 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(MediaBundleError::class, \Google\Ads\GoogleAds\V2\Errors\MediaBundleErrorEnum_MediaBundleError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum_MediaBundleError.php b/src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum_MediaBundleError.php
new file mode 100644
index 000000000..e3f1af816
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MediaBundleErrorEnum_MediaBundleError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.MediaFileErrorEnum
+ */
+final class MediaFileErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\MediaFileError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum/MediaFileError.php b/src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum/MediaFileError.php
new file mode 100644
index 000000000..4b2315517
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum/MediaFileError.php
@@ -0,0 +1,218 @@
+google.ads.googleads.v2.errors.MediaFileErrorEnum.MediaFileError
+ */
+class MediaFileError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Cannot create a standard icon type.
+ *
+ * Generated from protobuf enum CANNOT_CREATE_STANDARD_ICON = 2;
+ */
+ const CANNOT_CREATE_STANDARD_ICON = 2;
+ /**
+ * May only select Standard Icons alone.
+ *
+ * Generated from protobuf enum CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3;
+ */
+ const CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3;
+ /**
+ * Image contains both a media file ID and data.
+ *
+ * Generated from protobuf enum CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4;
+ */
+ const CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4;
+ /**
+ * A media file with given type and reference ID already exists.
+ *
+ * Generated from protobuf enum DUPLICATE_MEDIA = 5;
+ */
+ const DUPLICATE_MEDIA = 5;
+ /**
+ * A required field was not specified or is an empty string.
+ *
+ * Generated from protobuf enum EMPTY_FIELD = 6;
+ */
+ const EMPTY_FIELD = 6;
+ /**
+ * A media file may only be modified once per call.
+ *
+ * Generated from protobuf enum RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7;
+ */
+ const RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7;
+ /**
+ * Field is not supported for the media sub type.
+ *
+ * Generated from protobuf enum FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8;
+ */
+ const FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8;
+ /**
+ * The media file ID is invalid.
+ *
+ * Generated from protobuf enum INVALID_MEDIA_FILE_ID = 9;
+ */
+ const INVALID_MEDIA_FILE_ID = 9;
+ /**
+ * The media subtype is invalid.
+ *
+ * Generated from protobuf enum INVALID_MEDIA_SUB_TYPE = 10;
+ */
+ const INVALID_MEDIA_SUB_TYPE = 10;
+ /**
+ * The media file type is invalid.
+ *
+ * Generated from protobuf enum INVALID_MEDIA_FILE_TYPE = 11;
+ */
+ const INVALID_MEDIA_FILE_TYPE = 11;
+ /**
+ * The mimetype is invalid.
+ *
+ * Generated from protobuf enum INVALID_MIME_TYPE = 12;
+ */
+ const INVALID_MIME_TYPE = 12;
+ /**
+ * The media reference ID is invalid.
+ *
+ * Generated from protobuf enum INVALID_REFERENCE_ID = 13;
+ */
+ const INVALID_REFERENCE_ID = 13;
+ /**
+ * The YouTube video ID is invalid.
+ *
+ * Generated from protobuf enum INVALID_YOU_TUBE_ID = 14;
+ */
+ const INVALID_YOU_TUBE_ID = 14;
+ /**
+ * Media file has failed transcoding
+ *
+ * Generated from protobuf enum MEDIA_FILE_FAILED_TRANSCODING = 15;
+ */
+ const MEDIA_FILE_FAILED_TRANSCODING = 15;
+ /**
+ * Media file has not been transcoded.
+ *
+ * Generated from protobuf enum MEDIA_NOT_TRANSCODED = 16;
+ */
+ const MEDIA_NOT_TRANSCODED = 16;
+ /**
+ * The media type does not match the actual media file's type.
+ *
+ * Generated from protobuf enum MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17;
+ */
+ const MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17;
+ /**
+ * None of the fields have been specified.
+ *
+ * Generated from protobuf enum NO_FIELDS_SPECIFIED = 18;
+ */
+ const NO_FIELDS_SPECIFIED = 18;
+ /**
+ * One of reference ID or media file ID must be specified.
+ *
+ * Generated from protobuf enum NULL_REFERENCE_ID_AND_MEDIA_ID = 19;
+ */
+ const NULL_REFERENCE_ID_AND_MEDIA_ID = 19;
+ /**
+ * The string has too many characters.
+ *
+ * Generated from protobuf enum TOO_LONG = 20;
+ */
+ const TOO_LONG = 20;
+ /**
+ * The specified type is not supported.
+ *
+ * Generated from protobuf enum UNSUPPORTED_TYPE = 21;
+ */
+ const UNSUPPORTED_TYPE = 21;
+ /**
+ * YouTube is unavailable for requesting video data.
+ *
+ * Generated from protobuf enum YOU_TUBE_SERVICE_UNAVAILABLE = 22;
+ */
+ const YOU_TUBE_SERVICE_UNAVAILABLE = 22;
+ /**
+ * The YouTube video has a non positive duration.
+ *
+ * Generated from protobuf enum YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23;
+ */
+ const YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23;
+ /**
+ * The YouTube video ID is syntactically valid but the video was not found.
+ *
+ * Generated from protobuf enum YOU_TUBE_VIDEO_NOT_FOUND = 24;
+ */
+ const YOU_TUBE_VIDEO_NOT_FOUND = 24;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_CREATE_STANDARD_ICON => 'CANNOT_CREATE_STANDARD_ICON',
+ self::CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES => 'CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES',
+ self::CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA => 'CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA',
+ self::DUPLICATE_MEDIA => 'DUPLICATE_MEDIA',
+ self::EMPTY_FIELD => 'EMPTY_FIELD',
+ self::RESOURCE_REFERENCED_IN_MULTIPLE_OPS => 'RESOURCE_REFERENCED_IN_MULTIPLE_OPS',
+ self::FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE => 'FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE',
+ self::INVALID_MEDIA_FILE_ID => 'INVALID_MEDIA_FILE_ID',
+ self::INVALID_MEDIA_SUB_TYPE => 'INVALID_MEDIA_SUB_TYPE',
+ self::INVALID_MEDIA_FILE_TYPE => 'INVALID_MEDIA_FILE_TYPE',
+ self::INVALID_MIME_TYPE => 'INVALID_MIME_TYPE',
+ self::INVALID_REFERENCE_ID => 'INVALID_REFERENCE_ID',
+ self::INVALID_YOU_TUBE_ID => 'INVALID_YOU_TUBE_ID',
+ self::MEDIA_FILE_FAILED_TRANSCODING => 'MEDIA_FILE_FAILED_TRANSCODING',
+ self::MEDIA_NOT_TRANSCODED => 'MEDIA_NOT_TRANSCODED',
+ self::MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE => 'MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE',
+ self::NO_FIELDS_SPECIFIED => 'NO_FIELDS_SPECIFIED',
+ self::NULL_REFERENCE_ID_AND_MEDIA_ID => 'NULL_REFERENCE_ID_AND_MEDIA_ID',
+ self::TOO_LONG => 'TOO_LONG',
+ self::UNSUPPORTED_TYPE => 'UNSUPPORTED_TYPE',
+ self::YOU_TUBE_SERVICE_UNAVAILABLE => 'YOU_TUBE_SERVICE_UNAVAILABLE',
+ self::YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION => 'YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION',
+ self::YOU_TUBE_VIDEO_NOT_FOUND => 'YOU_TUBE_VIDEO_NOT_FOUND',
+ ];
+
+ 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(MediaFileError::class, \Google\Ads\GoogleAds\V2\Errors\MediaFileErrorEnum_MediaFileError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum_MediaFileError.php b/src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum_MediaFileError.php
new file mode 100644
index 000000000..3da46f8dd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MediaFileErrorEnum_MediaFileError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.MediaUploadErrorEnum
+ */
+final class MediaUploadErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\MediaUploadError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum/MediaUploadError.php b/src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum/MediaUploadError.php
new file mode 100644
index 000000000..1faecb073
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum/MediaUploadError.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.errors.MediaUploadErrorEnum.MediaUploadError
+ */
+class MediaUploadError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The uploaded file is too big.
+ *
+ * Generated from protobuf enum FILE_TOO_BIG = 2;
+ */
+ const FILE_TOO_BIG = 2;
+ /**
+ * Image data is unparseable.
+ *
+ * Generated from protobuf enum UNPARSEABLE_IMAGE = 3;
+ */
+ const UNPARSEABLE_IMAGE = 3;
+ /**
+ * Animated images are not allowed.
+ *
+ * Generated from protobuf enum ANIMATED_IMAGE_NOT_ALLOWED = 4;
+ */
+ const ANIMATED_IMAGE_NOT_ALLOWED = 4;
+ /**
+ * The image or media bundle format is not allowed.
+ *
+ * Generated from protobuf enum FORMAT_NOT_ALLOWED = 5;
+ */
+ const FORMAT_NOT_ALLOWED = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::FILE_TOO_BIG => 'FILE_TOO_BIG',
+ self::UNPARSEABLE_IMAGE => 'UNPARSEABLE_IMAGE',
+ self::ANIMATED_IMAGE_NOT_ALLOWED => 'ANIMATED_IMAGE_NOT_ALLOWED',
+ self::FORMAT_NOT_ALLOWED => 'FORMAT_NOT_ALLOWED',
+ ];
+
+ 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(MediaUploadError::class, \Google\Ads\GoogleAds\V2\Errors\MediaUploadErrorEnum_MediaUploadError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum_MediaUploadError.php b/src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum_MediaUploadError.php
new file mode 100644
index 000000000..9cee2935a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MediaUploadErrorEnum_MediaUploadError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.MultiplierErrorEnum
+ */
+final class MultiplierErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\MultiplierError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum/MultiplierError.php b/src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum/MultiplierError.php
new file mode 100644
index 000000000..d26988a38
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum/MultiplierError.php
@@ -0,0 +1,142 @@
+google.ads.googleads.v2.errors.MultiplierErrorEnum.MultiplierError
+ */
+class MultiplierError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Multiplier value is too high
+ *
+ * Generated from protobuf enum MULTIPLIER_TOO_HIGH = 2;
+ */
+ const MULTIPLIER_TOO_HIGH = 2;
+ /**
+ * Multiplier value is too low
+ *
+ * Generated from protobuf enum MULTIPLIER_TOO_LOW = 3;
+ */
+ const MULTIPLIER_TOO_LOW = 3;
+ /**
+ * Too many fractional digits
+ *
+ * Generated from protobuf enum TOO_MANY_FRACTIONAL_DIGITS = 4;
+ */
+ const TOO_MANY_FRACTIONAL_DIGITS = 4;
+ /**
+ * A multiplier cannot be set for this bidding strategy
+ *
+ * Generated from protobuf enum MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5;
+ */
+ const MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5;
+ /**
+ * A multiplier cannot be set when there is no base bid (e.g., content max
+ * cpc)
+ *
+ * Generated from protobuf enum MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING = 6;
+ */
+ const MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING = 6;
+ /**
+ * A bid multiplier must be specified
+ *
+ * Generated from protobuf enum NO_MULTIPLIER_SPECIFIED = 7;
+ */
+ const NO_MULTIPLIER_SPECIFIED = 7;
+ /**
+ * Multiplier causes bid to exceed daily budget
+ *
+ * Generated from protobuf enum MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET = 8;
+ */
+ const MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET = 8;
+ /**
+ * Multiplier causes bid to exceed monthly budget
+ *
+ * Generated from protobuf enum MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET = 9;
+ */
+ const MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET = 9;
+ /**
+ * Multiplier causes bid to exceed custom budget
+ *
+ * Generated from protobuf enum MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET = 10;
+ */
+ const MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET = 10;
+ /**
+ * Multiplier causes bid to exceed maximum allowed bid
+ *
+ * Generated from protobuf enum MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID = 11;
+ */
+ const MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID = 11;
+ /**
+ * Multiplier causes bid to become less than the minimum bid allowed
+ *
+ * Generated from protobuf enum BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER = 12;
+ */
+ const BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER = 12;
+ /**
+ * Multiplier type (cpc vs. cpm) needs to match campaign's bidding strategy
+ *
+ * Generated from protobuf enum MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13;
+ */
+ const MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::MULTIPLIER_TOO_HIGH => 'MULTIPLIER_TOO_HIGH',
+ self::MULTIPLIER_TOO_LOW => 'MULTIPLIER_TOO_LOW',
+ self::TOO_MANY_FRACTIONAL_DIGITS => 'TOO_MANY_FRACTIONAL_DIGITS',
+ self::MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY => 'MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY',
+ self::MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING => 'MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING',
+ self::NO_MULTIPLIER_SPECIFIED => 'NO_MULTIPLIER_SPECIFIED',
+ self::MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET => 'MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET',
+ self::MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET => 'MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET',
+ self::MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET => 'MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET',
+ self::MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID => 'MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID',
+ self::BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER => 'BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER',
+ self::MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH => 'MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH',
+ ];
+
+ 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(MultiplierError::class, \Google\Ads\GoogleAds\V2\Errors\MultiplierErrorEnum_MultiplierError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum_MultiplierError.php b/src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum_MultiplierError.php
new file mode 100644
index 000000000..83e81bcd0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MultiplierErrorEnum_MultiplierError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.MutateErrorEnum
+ */
+final class MutateErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\MutateError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum/MutateError.php b/src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum/MutateError.php
new file mode 100644
index 000000000..2eda6a662
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum/MutateError.php
@@ -0,0 +1,100 @@
+google.ads.googleads.v2.errors.MutateErrorEnum.MutateError
+ */
+class MutateError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Requested resource was not found.
+ *
+ * Generated from protobuf enum RESOURCE_NOT_FOUND = 3;
+ */
+ const RESOURCE_NOT_FOUND = 3;
+ /**
+ * Cannot mutate the same resource twice in one request.
+ *
+ * Generated from protobuf enum ID_EXISTS_IN_MULTIPLE_MUTATES = 7;
+ */
+ const ID_EXISTS_IN_MULTIPLE_MUTATES = 7;
+ /**
+ * The field's contents don't match another field that represents the same
+ * data.
+ *
+ * Generated from protobuf enum INCONSISTENT_FIELD_VALUES = 8;
+ */
+ const INCONSISTENT_FIELD_VALUES = 8;
+ /**
+ * Mutates are not allowed for the requested resource.
+ *
+ * Generated from protobuf enum MUTATE_NOT_ALLOWED = 9;
+ */
+ const MUTATE_NOT_ALLOWED = 9;
+ /**
+ * The resource isn't in Google Ads. It belongs to another ads system.
+ *
+ * Generated from protobuf enum RESOURCE_NOT_IN_GOOGLE_ADS = 10;
+ */
+ const RESOURCE_NOT_IN_GOOGLE_ADS = 10;
+ /**
+ * The resource being created already exists.
+ *
+ * Generated from protobuf enum RESOURCE_ALREADY_EXISTS = 11;
+ */
+ const RESOURCE_ALREADY_EXISTS = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::RESOURCE_NOT_FOUND => 'RESOURCE_NOT_FOUND',
+ self::ID_EXISTS_IN_MULTIPLE_MUTATES => 'ID_EXISTS_IN_MULTIPLE_MUTATES',
+ self::INCONSISTENT_FIELD_VALUES => 'INCONSISTENT_FIELD_VALUES',
+ self::MUTATE_NOT_ALLOWED => 'MUTATE_NOT_ALLOWED',
+ self::RESOURCE_NOT_IN_GOOGLE_ADS => 'RESOURCE_NOT_IN_GOOGLE_ADS',
+ self::RESOURCE_ALREADY_EXISTS => 'RESOURCE_ALREADY_EXISTS',
+ ];
+
+ 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(MutateError::class, \Google\Ads\GoogleAds\V2\Errors\MutateErrorEnum_MutateError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum_MutateError.php b/src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum_MutateError.php
new file mode 100644
index 000000000..8ef6a2eca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MutateErrorEnum_MutateError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.MutateJobErrorEnum
+ */
+final class MutateJobErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\MutateJobError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum/MutateJobError.php b/src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum/MutateJobError.php
new file mode 100644
index 000000000..4d10c3346
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum/MutateJobError.php
@@ -0,0 +1,93 @@
+google.ads.googleads.v2.errors.MutateJobErrorEnum.MutateJobError
+ */
+class MutateJobError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The mutate job cannot add more operations or run after it has started
+ * running.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2;
+ */
+ const CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2;
+ /**
+ * The operations for an AddMutateJobOperations request were empty.
+ *
+ * Generated from protobuf enum EMPTY_OPERATIONS = 3;
+ */
+ const EMPTY_OPERATIONS = 3;
+ /**
+ * The sequence token for an AddMutateJobOperations request was invalid.
+ *
+ * Generated from protobuf enum INVALID_SEQUENCE_TOKEN = 4;
+ */
+ const INVALID_SEQUENCE_TOKEN = 4;
+ /**
+ * Mutate Job Results can only be retrieved once the job is finished.
+ *
+ * Generated from protobuf enum RESULTS_NOT_READY = 5;
+ */
+ const RESULTS_NOT_READY = 5;
+ /**
+ * The page size for ListMutateJobResults was invalid.
+ *
+ * Generated from protobuf enum INVALID_PAGE_SIZE = 6;
+ */
+ const INVALID_PAGE_SIZE = 6;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING => 'CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING',
+ self::EMPTY_OPERATIONS => 'EMPTY_OPERATIONS',
+ self::INVALID_SEQUENCE_TOKEN => 'INVALID_SEQUENCE_TOKEN',
+ self::RESULTS_NOT_READY => 'RESULTS_NOT_READY',
+ self::INVALID_PAGE_SIZE => 'INVALID_PAGE_SIZE',
+ ];
+
+ 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(MutateJobError::class, \Google\Ads\GoogleAds\V2\Errors\MutateJobErrorEnum_MutateJobError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum_MutateJobError.php b/src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum_MutateJobError.php
new file mode 100644
index 000000000..a48cbf05c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/MutateJobErrorEnum_MutateJobError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.NewResourceCreationErrorEnum
+ */
+final class NewResourceCreationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\NewResourceCreationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum/NewResourceCreationError.php b/src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum/NewResourceCreationError.php
new file mode 100644
index 000000000..55f1af0d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum/NewResourceCreationError.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.errors.NewResourceCreationErrorEnum.NewResourceCreationError
+ */
+class NewResourceCreationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Do not set the id field while creating new resources.
+ *
+ * Generated from protobuf enum CANNOT_SET_ID_FOR_CREATE = 2;
+ */
+ const CANNOT_SET_ID_FOR_CREATE = 2;
+ /**
+ * Creating more than one resource with the same temp ID is not allowed.
+ *
+ * Generated from protobuf enum DUPLICATE_TEMP_IDS = 3;
+ */
+ const DUPLICATE_TEMP_IDS = 3;
+ /**
+ * Parent resource with specified temp ID failed validation, so no
+ * validation will be done for this child resource.
+ *
+ * Generated from protobuf enum TEMP_ID_RESOURCE_HAD_ERRORS = 4;
+ */
+ const TEMP_ID_RESOURCE_HAD_ERRORS = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CANNOT_SET_ID_FOR_CREATE => 'CANNOT_SET_ID_FOR_CREATE',
+ self::DUPLICATE_TEMP_IDS => 'DUPLICATE_TEMP_IDS',
+ self::TEMP_ID_RESOURCE_HAD_ERRORS => 'TEMP_ID_RESOURCE_HAD_ERRORS',
+ ];
+
+ 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(NewResourceCreationError::class, \Google\Ads\GoogleAds\V2\Errors\NewResourceCreationErrorEnum_NewResourceCreationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum_NewResourceCreationError.php b/src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum_NewResourceCreationError.php
new file mode 100644
index 000000000..070be31df
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NewResourceCreationErrorEnum_NewResourceCreationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.NotEmptyErrorEnum
+ */
+final class NotEmptyErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\NotEmptyError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum/NotEmptyError.php b/src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum/NotEmptyError.php
new file mode 100644
index 000000000..54b1b66ab
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum/NotEmptyError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.NotEmptyErrorEnum.NotEmptyError
+ */
+class NotEmptyError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Empty list.
+ *
+ * Generated from protobuf enum EMPTY_LIST = 2;
+ */
+ const EMPTY_LIST = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EMPTY_LIST => 'EMPTY_LIST',
+ ];
+
+ 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(NotEmptyError::class, \Google\Ads\GoogleAds\V2\Errors\NotEmptyErrorEnum_NotEmptyError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum_NotEmptyError.php b/src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum_NotEmptyError.php
new file mode 100644
index 000000000..76705d0c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NotEmptyErrorEnum_NotEmptyError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.NotWhitelistedErrorEnum
+ */
+final class NotWhitelistedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\NotWhitelistedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum/NotWhitelistedError.php b/src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum/NotWhitelistedError.php
new file mode 100644
index 000000000..10c834595
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum/NotWhitelistedError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.NotWhitelistedErrorEnum.NotWhitelistedError
+ */
+class NotWhitelistedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Customer is not whitelisted for accessing this feature.
+ *
+ * Generated from protobuf enum CUSTOMER_NOT_WHITELISTED_FOR_THIS_FEATURE = 2;
+ */
+ const CUSTOMER_NOT_WHITELISTED_FOR_THIS_FEATURE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CUSTOMER_NOT_WHITELISTED_FOR_THIS_FEATURE => 'CUSTOMER_NOT_WHITELISTED_FOR_THIS_FEATURE',
+ ];
+
+ 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(NotWhitelistedError::class, \Google\Ads\GoogleAds\V2\Errors\NotWhitelistedErrorEnum_NotWhitelistedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum_NotWhitelistedError.php b/src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum_NotWhitelistedError.php
new file mode 100644
index 000000000..ab9d73bd7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NotWhitelistedErrorEnum_NotWhitelistedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.NullErrorEnum
+ */
+final class NullErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\NullError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum/NullError.php b/src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum/NullError.php
new file mode 100644
index 000000000..939833899
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum/NullError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.NullErrorEnum.NullError
+ */
+class NullError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Specified list/container must not contain any null elements
+ *
+ * Generated from protobuf enum NULL_CONTENT = 2;
+ */
+ const NULL_CONTENT = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::NULL_CONTENT => 'NULL_CONTENT',
+ ];
+
+ 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(NullError::class, \Google\Ads\GoogleAds\V2\Errors\NullErrorEnum_NullError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum_NullError.php b/src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum_NullError.php
new file mode 100644
index 000000000..f13507fa1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/NullErrorEnum_NullError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.OperationAccessDeniedErrorEnum
+ */
+final class OperationAccessDeniedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\OperationAccessDeniedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum/OperationAccessDeniedError.php b/src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum/OperationAccessDeniedError.php
new file mode 100644
index 000000000..e54b3c0a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum/OperationAccessDeniedError.php
@@ -0,0 +1,127 @@
+google.ads.googleads.v2.errors.OperationAccessDeniedErrorEnum.OperationAccessDeniedError
+ */
+class OperationAccessDeniedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Unauthorized invocation of a service's method (get, mutate, etc.)
+ *
+ * Generated from protobuf enum ACTION_NOT_PERMITTED = 2;
+ */
+ const ACTION_NOT_PERMITTED = 2;
+ /**
+ * Unauthorized CREATE operation in invoking a service's mutate method.
+ *
+ * Generated from protobuf enum CREATE_OPERATION_NOT_PERMITTED = 3;
+ */
+ const CREATE_OPERATION_NOT_PERMITTED = 3;
+ /**
+ * Unauthorized REMOVE operation in invoking a service's mutate method.
+ *
+ * Generated from protobuf enum REMOVE_OPERATION_NOT_PERMITTED = 4;
+ */
+ const REMOVE_OPERATION_NOT_PERMITTED = 4;
+ /**
+ * Unauthorized UPDATE operation in invoking a service's mutate method.
+ *
+ * Generated from protobuf enum UPDATE_OPERATION_NOT_PERMITTED = 5;
+ */
+ const UPDATE_OPERATION_NOT_PERMITTED = 5;
+ /**
+ * A mutate action is not allowed on this campaign, from this client.
+ *
+ * Generated from protobuf enum MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6;
+ */
+ const MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6;
+ /**
+ * This operation is not permitted on this campaign type
+ *
+ * Generated from protobuf enum OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7;
+ */
+ const OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7;
+ /**
+ * A CREATE operation may not set status to REMOVED.
+ *
+ * Generated from protobuf enum CREATE_AS_REMOVED_NOT_PERMITTED = 8;
+ */
+ const CREATE_AS_REMOVED_NOT_PERMITTED = 8;
+ /**
+ * This operation is not allowed because the campaign or adgroup is removed.
+ *
+ * Generated from protobuf enum OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9;
+ */
+ const OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9;
+ /**
+ * This operation is not permitted on this ad group type.
+ *
+ * Generated from protobuf enum OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10;
+ */
+ const OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10;
+ /**
+ * The mutate is not allowed for this customer.
+ *
+ * Generated from protobuf enum MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11;
+ */
+ const MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ACTION_NOT_PERMITTED => 'ACTION_NOT_PERMITTED',
+ self::CREATE_OPERATION_NOT_PERMITTED => 'CREATE_OPERATION_NOT_PERMITTED',
+ self::REMOVE_OPERATION_NOT_PERMITTED => 'REMOVE_OPERATION_NOT_PERMITTED',
+ self::UPDATE_OPERATION_NOT_PERMITTED => 'UPDATE_OPERATION_NOT_PERMITTED',
+ self::MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT => 'MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT',
+ self::OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE => 'OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE',
+ self::CREATE_AS_REMOVED_NOT_PERMITTED => 'CREATE_AS_REMOVED_NOT_PERMITTED',
+ self::OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE => 'OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE',
+ self::OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE => 'OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE',
+ self::MUTATE_NOT_PERMITTED_FOR_CUSTOMER => 'MUTATE_NOT_PERMITTED_FOR_CUSTOMER',
+ ];
+
+ 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(OperationAccessDeniedError::class, \Google\Ads\GoogleAds\V2\Errors\OperationAccessDeniedErrorEnum_OperationAccessDeniedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum_OperationAccessDeniedError.php b/src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum_OperationAccessDeniedError.php
new file mode 100644
index 000000000..1283a219a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/OperationAccessDeniedErrorEnum_OperationAccessDeniedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.OperatorErrorEnum
+ */
+final class OperatorErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\OperatorError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum/OperatorError.php b/src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum/OperatorError.php
new file mode 100644
index 000000000..973bce761
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum/OperatorError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.OperatorErrorEnum.OperatorError
+ */
+class OperatorError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Operator not supported.
+ *
+ * Generated from protobuf enum OPERATOR_NOT_SUPPORTED = 2;
+ */
+ const OPERATOR_NOT_SUPPORTED = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::OPERATOR_NOT_SUPPORTED => 'OPERATOR_NOT_SUPPORTED',
+ ];
+
+ 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(OperatorError::class, \Google\Ads\GoogleAds\V2\Errors\OperatorErrorEnum_OperatorError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum_OperatorError.php b/src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum_OperatorError.php
new file mode 100644
index 000000000..6f9900e02
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/OperatorErrorEnum_OperatorError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.PartialFailureErrorEnum
+ */
+final class PartialFailureErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\PartialFailureError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum/PartialFailureError.php b/src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum/PartialFailureError.php
new file mode 100644
index 000000000..1f4a4e380
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum/PartialFailureError.php
@@ -0,0 +1,65 @@
+google.ads.googleads.v2.errors.PartialFailureErrorEnum.PartialFailureError
+ */
+class PartialFailureError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The partial failure field was false in the request.
+ * This method requires this field be set to true.
+ *
+ * Generated from protobuf enum PARTIAL_FAILURE_MODE_REQUIRED = 2;
+ */
+ const PARTIAL_FAILURE_MODE_REQUIRED = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::PARTIAL_FAILURE_MODE_REQUIRED => 'PARTIAL_FAILURE_MODE_REQUIRED',
+ ];
+
+ 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(PartialFailureError::class, \Google\Ads\GoogleAds\V2\Errors\PartialFailureErrorEnum_PartialFailureError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum_PartialFailureError.php b/src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum_PartialFailureError.php
new file mode 100644
index 000000000..88282d586
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PartialFailureErrorEnum_PartialFailureError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.PolicyFindingDetails
+ */
+final class PolicyFindingDetails extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of policy topics for the resource. Contains the PROHIBITED or
+ * FULLY_LIMITED policy topic entries that prevented the resource from being
+ * saved (among any other entries the resource may also have).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ */
+ private $policy_topic_entries;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $policy_topic_entries
+ * The list of policy topics for the resource. Contains the PROHIBITED or
+ * FULLY_LIMITED policy topic entries that prevented the resource from being
+ * saved (among any other entries the resource may also have).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of policy topics for the resource. Contains the PROHIBITED or
+ * FULLY_LIMITED policy topic entries that prevented the resource from being
+ * saved (among any other entries the resource may also have).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPolicyTopicEntries()
+ {
+ return $this->policy_topic_entries;
+ }
+
+ /**
+ * The list of policy topics for the resource. Contains the PROHIBITED or
+ * FULLY_LIMITED policy topic entries that prevented the resource from being
+ * saved (among any other entries the resource may also have).
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPolicyTopicEntries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry::class);
+ $this->policy_topic_entries = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum.php
new file mode 100644
index 000000000..61d0dcd5e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.errors.PolicyFindingErrorEnum
+ */
+final class PolicyFindingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\PolicyFindingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum/PolicyFindingError.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum/PolicyFindingError.php
new file mode 100644
index 000000000..d7be020ac
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum/PolicyFindingError.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.errors.PolicyFindingErrorEnum.PolicyFindingError
+ */
+class PolicyFindingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The resource has been disapproved since the policy summary includes
+ * policy topics of type PROHIBITED.
+ *
+ * Generated from protobuf enum POLICY_FINDING = 2;
+ */
+ const POLICY_FINDING = 2;
+ /**
+ * The given policy topic does not exist.
+ *
+ * Generated from protobuf enum POLICY_TOPIC_NOT_FOUND = 3;
+ */
+ const POLICY_TOPIC_NOT_FOUND = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::POLICY_FINDING => 'POLICY_FINDING',
+ self::POLICY_TOPIC_NOT_FOUND => 'POLICY_TOPIC_NOT_FOUND',
+ ];
+
+ 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(PolicyFindingError::class, \Google\Ads\GoogleAds\V2\Errors\PolicyFindingErrorEnum_PolicyFindingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum_PolicyFindingError.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum_PolicyFindingError.php
new file mode 100644
index 000000000..c97a8c020
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyFindingErrorEnum_PolicyFindingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.PolicyValidationParameterErrorEnum
+ */
+final class PolicyValidationParameterErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\PolicyValidationParameterError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum/PolicyValidationParameterError.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum/PolicyValidationParameterError.php
new file mode 100644
index 000000000..2b73f1b73
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum/PolicyValidationParameterError.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.errors.PolicyValidationParameterErrorEnum.PolicyValidationParameterError
+ */
+class PolicyValidationParameterError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Ignorable policy topics are not supported for the ad type.
+ *
+ * Generated from protobuf enum UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2;
+ */
+ const UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2;
+ /**
+ * Exempt policy violation keys are not supported for the ad type.
+ *
+ * Generated from protobuf enum UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3;
+ */
+ const UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3;
+ /**
+ * Cannot set ignorable policy topics and exempt policy violation keys in
+ * the same policy violation parameter.
+ *
+ * Generated from protobuf enum CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = 4;
+ */
+ const CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS => 'UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS',
+ self::UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS => 'UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS',
+ self::CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS => 'CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS',
+ ];
+
+ 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(PolicyValidationParameterError::class, \Google\Ads\GoogleAds\V2\Errors\PolicyValidationParameterErrorEnum_PolicyValidationParameterError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum_PolicyValidationParameterError.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum_PolicyValidationParameterError.php
new file mode 100644
index 000000000..b7feb1137
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyValidationParameterErrorEnum_PolicyValidationParameterError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.PolicyViolationDetails
+ */
+final class PolicyViolationDetails extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Human readable description of policy violation.
+ *
+ * Generated from protobuf field string external_policy_description = 2;
+ */
+ private $external_policy_description = '';
+ /**
+ * Unique identifier for this violation.
+ * If policy is exemptible, this key may be used to request exemption.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyViolationKey key = 4;
+ */
+ private $key = null;
+ /**
+ * Human readable name of the policy.
+ *
+ * Generated from protobuf field string external_policy_name = 5;
+ */
+ private $external_policy_name = '';
+ /**
+ * Whether user can file an exemption request for this violation.
+ *
+ * Generated from protobuf field bool is_exemptible = 6;
+ */
+ private $is_exemptible = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $external_policy_description
+ * Human readable description of policy violation.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey $key
+ * Unique identifier for this violation.
+ * If policy is exemptible, this key may be used to request exemption.
+ * @type string $external_policy_name
+ * Human readable name of the policy.
+ * @type bool $is_exemptible
+ * Whether user can file an exemption request for this violation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\Errors::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Human readable description of policy violation.
+ *
+ * Generated from protobuf field string external_policy_description = 2;
+ * @return string
+ */
+ public function getExternalPolicyDescription()
+ {
+ return $this->external_policy_description;
+ }
+
+ /**
+ * Human readable description of policy violation.
+ *
+ * Generated from protobuf field string external_policy_description = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setExternalPolicyDescription($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->external_policy_description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Unique identifier for this violation.
+ * If policy is exemptible, this key may be used to request exemption.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyViolationKey key = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey
+ */
+ public function getKey()
+ {
+ return $this->key;
+ }
+
+ /**
+ * Unique identifier for this violation.
+ * If policy is exemptible, this key may be used to request exemption.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyViolationKey key = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey $var
+ * @return $this
+ */
+ public function setKey($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey::class);
+ $this->key = $var;
+
+ return $this;
+ }
+
+ /**
+ * Human readable name of the policy.
+ *
+ * Generated from protobuf field string external_policy_name = 5;
+ * @return string
+ */
+ public function getExternalPolicyName()
+ {
+ return $this->external_policy_name;
+ }
+
+ /**
+ * Human readable name of the policy.
+ *
+ * Generated from protobuf field string external_policy_name = 5;
+ * @param string $var
+ * @return $this
+ */
+ public function setExternalPolicyName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->external_policy_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Whether user can file an exemption request for this violation.
+ *
+ * Generated from protobuf field bool is_exemptible = 6;
+ * @return bool
+ */
+ public function getIsExemptible()
+ {
+ return $this->is_exemptible;
+ }
+
+ /**
+ * Whether user can file an exemption request for this violation.
+ *
+ * Generated from protobuf field bool is_exemptible = 6;
+ * @param bool $var
+ * @return $this
+ */
+ public function setIsExemptible($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->is_exemptible = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum.php
new file mode 100644
index 000000000..57d92c9ff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.errors.PolicyViolationErrorEnum
+ */
+final class PolicyViolationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\PolicyViolationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum/PolicyViolationError.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum/PolicyViolationError.php
new file mode 100644
index 000000000..61385fa5a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum/PolicyViolationError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.PolicyViolationErrorEnum.PolicyViolationError
+ */
+class PolicyViolationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * A policy was violated. See PolicyViolationDetails for more detail.
+ *
+ * Generated from protobuf enum POLICY_ERROR = 2;
+ */
+ const POLICY_ERROR = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::POLICY_ERROR => 'POLICY_ERROR',
+ ];
+
+ 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(PolicyViolationError::class, \Google\Ads\GoogleAds\V2\Errors\PolicyViolationErrorEnum_PolicyViolationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum_PolicyViolationError.php b/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum_PolicyViolationError.php
new file mode 100644
index 000000000..5f48dab3a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/PolicyViolationErrorEnum_PolicyViolationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.QueryErrorEnum
+ */
+final class QueryErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\QueryError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum/QueryError.php b/src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum/QueryError.php
new file mode 100644
index 000000000..c1c16fec3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum/QueryError.php
@@ -0,0 +1,443 @@
+google.ads.googleads.v2.errors.QueryErrorEnum.QueryError
+ */
+class QueryError
+{
+ /**
+ * Name unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Returned if all other query error reasons are not applicable.
+ *
+ * Generated from protobuf enum QUERY_ERROR = 50;
+ */
+ const QUERY_ERROR = 50;
+ /**
+ * A condition used in the query references an invalid enum constant.
+ *
+ * Generated from protobuf enum BAD_ENUM_CONSTANT = 18;
+ */
+ const BAD_ENUM_CONSTANT = 18;
+ /**
+ * Query contains an invalid escape sequence.
+ *
+ * Generated from protobuf enum BAD_ESCAPE_SEQUENCE = 7;
+ */
+ const BAD_ESCAPE_SEQUENCE = 7;
+ /**
+ * Field name is invalid.
+ *
+ * Generated from protobuf enum BAD_FIELD_NAME = 12;
+ */
+ const BAD_FIELD_NAME = 12;
+ /**
+ * Limit value is invalid (i.e. not a number)
+ *
+ * Generated from protobuf enum BAD_LIMIT_VALUE = 15;
+ */
+ const BAD_LIMIT_VALUE = 15;
+ /**
+ * Encountered number can not be parsed.
+ *
+ * Generated from protobuf enum BAD_NUMBER = 5;
+ */
+ const BAD_NUMBER = 5;
+ /**
+ * Invalid operator encountered.
+ *
+ * Generated from protobuf enum BAD_OPERATOR = 3;
+ */
+ const BAD_OPERATOR = 3;
+ /**
+ * Parameter unknown or not supported.
+ *
+ * Generated from protobuf enum BAD_PARAMETER_NAME = 61;
+ */
+ const BAD_PARAMETER_NAME = 61;
+ /**
+ * Parameter have invalid value.
+ *
+ * Generated from protobuf enum BAD_PARAMETER_VALUE = 62;
+ */
+ const BAD_PARAMETER_VALUE = 62;
+ /**
+ * Invalid resource type was specified in the FROM clause.
+ *
+ * Generated from protobuf enum BAD_RESOURCE_TYPE_IN_FROM_CLAUSE = 45;
+ */
+ const BAD_RESOURCE_TYPE_IN_FROM_CLAUSE = 45;
+ /**
+ * Non-ASCII symbol encountered outside of strings.
+ *
+ * Generated from protobuf enum BAD_SYMBOL = 2;
+ */
+ const BAD_SYMBOL = 2;
+ /**
+ * Value is invalid.
+ *
+ * Generated from protobuf enum BAD_VALUE = 4;
+ */
+ const BAD_VALUE = 4;
+ /**
+ * Date filters fail to restrict date to a range smaller than 31 days.
+ * Applicable if the query is segmented by date.
+ *
+ * Generated from protobuf enum DATE_RANGE_TOO_WIDE = 36;
+ */
+ const DATE_RANGE_TOO_WIDE = 36;
+ /**
+ * Filters on date/week/month/quarter have a start date after
+ * end date.
+ *
+ * Generated from protobuf enum DATE_RANGE_TOO_NARROW = 60;
+ */
+ const DATE_RANGE_TOO_NARROW = 60;
+ /**
+ * Expected AND between values with BETWEEN operator.
+ *
+ * Generated from protobuf enum EXPECTED_AND = 30;
+ */
+ const EXPECTED_AND = 30;
+ /**
+ * Expecting ORDER BY to have BY.
+ *
+ * Generated from protobuf enum EXPECTED_BY = 14;
+ */
+ const EXPECTED_BY = 14;
+ /**
+ * There was no dimension field selected.
+ *
+ * Generated from protobuf enum EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE = 37;
+ */
+ const EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE = 37;
+ /**
+ * Missing filters on date related fields.
+ *
+ * Generated from protobuf enum EXPECTED_FILTERS_ON_DATE_RANGE = 55;
+ */
+ const EXPECTED_FILTERS_ON_DATE_RANGE = 55;
+ /**
+ * Missing FROM clause.
+ *
+ * Generated from protobuf enum EXPECTED_FROM = 44;
+ */
+ const EXPECTED_FROM = 44;
+ /**
+ * The operator used in the conditions requires the value to be a list.
+ *
+ * Generated from protobuf enum EXPECTED_LIST = 41;
+ */
+ const EXPECTED_LIST = 41;
+ /**
+ * Fields used in WHERE or ORDER BY clauses are missing from the SELECT
+ * clause.
+ *
+ * Generated from protobuf enum EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE = 16;
+ */
+ const EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE = 16;
+ /**
+ * SELECT is missing at the beginning of query.
+ *
+ * Generated from protobuf enum EXPECTED_SELECT = 13;
+ */
+ const EXPECTED_SELECT = 13;
+ /**
+ * A list was passed as a value to a condition whose operator expects a
+ * single value.
+ *
+ * Generated from protobuf enum EXPECTED_SINGLE_VALUE = 42;
+ */
+ const EXPECTED_SINGLE_VALUE = 42;
+ /**
+ * Missing one or both values with BETWEEN operator.
+ *
+ * Generated from protobuf enum EXPECTED_VALUE_WITH_BETWEEN_OPERATOR = 29;
+ */
+ const EXPECTED_VALUE_WITH_BETWEEN_OPERATOR = 29;
+ /**
+ * Invalid date format. Expected 'YYYY-MM-DD'.
+ *
+ * Generated from protobuf enum INVALID_DATE_FORMAT = 38;
+ */
+ const INVALID_DATE_FORMAT = 38;
+ /**
+ * Value passed was not a string when it should have been. I.e., it was a
+ * number or unquoted literal.
+ *
+ * Generated from protobuf enum INVALID_STRING_VALUE = 57;
+ */
+ const INVALID_STRING_VALUE = 57;
+ /**
+ * A String value passed to the BETWEEN operator does not parse as a date.
+ *
+ * Generated from protobuf enum INVALID_VALUE_WITH_BETWEEN_OPERATOR = 26;
+ */
+ const INVALID_VALUE_WITH_BETWEEN_OPERATOR = 26;
+ /**
+ * The value passed to the DURING operator is not a Date range literal
+ *
+ * Generated from protobuf enum INVALID_VALUE_WITH_DURING_OPERATOR = 22;
+ */
+ const INVALID_VALUE_WITH_DURING_OPERATOR = 22;
+ /**
+ * A non-string value was passed to the LIKE operator.
+ *
+ * Generated from protobuf enum INVALID_VALUE_WITH_LIKE_OPERATOR = 56;
+ */
+ const INVALID_VALUE_WITH_LIKE_OPERATOR = 56;
+ /**
+ * An operator was provided that is inapplicable to the field being
+ * filtered.
+ *
+ * Generated from protobuf enum OPERATOR_FIELD_MISMATCH = 35;
+ */
+ const OPERATOR_FIELD_MISMATCH = 35;
+ /**
+ * A Condition was found with an empty list.
+ *
+ * Generated from protobuf enum PROHIBITED_EMPTY_LIST_IN_CONDITION = 28;
+ */
+ const PROHIBITED_EMPTY_LIST_IN_CONDITION = 28;
+ /**
+ * A condition used in the query references an unsupported enum constant.
+ *
+ * Generated from protobuf enum PROHIBITED_ENUM_CONSTANT = 54;
+ */
+ const PROHIBITED_ENUM_CONSTANT = 54;
+ /**
+ * Fields that are not allowed to be selected together were included in
+ * the SELECT clause.
+ *
+ * Generated from protobuf enum PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE = 31;
+ */
+ const PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE = 31;
+ /**
+ * A field that is not orderable was included in the ORDER BY clause.
+ *
+ * Generated from protobuf enum PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE = 40;
+ */
+ const PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE = 40;
+ /**
+ * A field that is not selectable was included in the SELECT clause.
+ *
+ * Generated from protobuf enum PROHIBITED_FIELD_IN_SELECT_CLAUSE = 23;
+ */
+ const PROHIBITED_FIELD_IN_SELECT_CLAUSE = 23;
+ /**
+ * A field that is not filterable was included in the WHERE clause.
+ *
+ * Generated from protobuf enum PROHIBITED_FIELD_IN_WHERE_CLAUSE = 24;
+ */
+ const PROHIBITED_FIELD_IN_WHERE_CLAUSE = 24;
+ /**
+ * Resource type specified in the FROM clause is not supported by this
+ * service.
+ *
+ * Generated from protobuf enum PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE = 43;
+ */
+ const PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE = 43;
+ /**
+ * A field that comes from an incompatible resource was included in the
+ * SELECT clause.
+ *
+ * Generated from protobuf enum PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE = 48;
+ */
+ const PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE = 48;
+ /**
+ * A field that comes from an incompatible resource was included in the
+ * WHERE clause.
+ *
+ * Generated from protobuf enum PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE = 58;
+ */
+ const PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE = 58;
+ /**
+ * A metric incompatible with the main resource or other selected
+ * segmenting resources was included in the SELECT or WHERE clause.
+ *
+ * Generated from protobuf enum PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 49;
+ */
+ const PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 49;
+ /**
+ * A segment incompatible with the main resource or other selected
+ * segmenting resources was included in the SELECT or WHERE clause.
+ *
+ * Generated from protobuf enum PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE = 51;
+ */
+ const PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE = 51;
+ /**
+ * A segment in the SELECT clause is incompatible with a metric in the
+ * SELECT or WHERE clause.
+ *
+ * Generated from protobuf enum PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 53;
+ */
+ const PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 53;
+ /**
+ * The value passed to the limit clause is too low.
+ *
+ * Generated from protobuf enum LIMIT_VALUE_TOO_LOW = 25;
+ */
+ const LIMIT_VALUE_TOO_LOW = 25;
+ /**
+ * Query has a string containing a newline character.
+ *
+ * Generated from protobuf enum PROHIBITED_NEWLINE_IN_STRING = 8;
+ */
+ const PROHIBITED_NEWLINE_IN_STRING = 8;
+ /**
+ * List contains values of different types.
+ *
+ * Generated from protobuf enum PROHIBITED_VALUE_COMBINATION_IN_LIST = 10;
+ */
+ const PROHIBITED_VALUE_COMBINATION_IN_LIST = 10;
+ /**
+ * The values passed to the BETWEEN operator are not of the same type.
+ *
+ * Generated from protobuf enum PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR = 21;
+ */
+ const PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR = 21;
+ /**
+ * Query contains unterminated string.
+ *
+ * Generated from protobuf enum STRING_NOT_TERMINATED = 6;
+ */
+ const STRING_NOT_TERMINATED = 6;
+ /**
+ * Too many segments are specified in SELECT clause.
+ *
+ * Generated from protobuf enum TOO_MANY_SEGMENTS = 34;
+ */
+ const TOO_MANY_SEGMENTS = 34;
+ /**
+ * Query is incomplete and cannot be parsed.
+ *
+ * Generated from protobuf enum UNEXPECTED_END_OF_QUERY = 9;
+ */
+ const UNEXPECTED_END_OF_QUERY = 9;
+ /**
+ * FROM clause cannot be specified in this query.
+ *
+ * Generated from protobuf enum UNEXPECTED_FROM_CLAUSE = 47;
+ */
+ const UNEXPECTED_FROM_CLAUSE = 47;
+ /**
+ * Query contains one or more unrecognized fields.
+ *
+ * Generated from protobuf enum UNRECOGNIZED_FIELD = 32;
+ */
+ const UNRECOGNIZED_FIELD = 32;
+ /**
+ * Query has an unexpected extra part.
+ *
+ * Generated from protobuf enum UNEXPECTED_INPUT = 11;
+ */
+ const UNEXPECTED_INPUT = 11;
+ /**
+ * Metrics cannot be requested for a manager account. To retrieve metrics,
+ * issue separate requests against each client account under the manager
+ * account.
+ *
+ * Generated from protobuf enum REQUESTED_METRICS_FOR_MANAGER = 59;
+ */
+ const REQUESTED_METRICS_FOR_MANAGER = 59;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::QUERY_ERROR => 'QUERY_ERROR',
+ self::BAD_ENUM_CONSTANT => 'BAD_ENUM_CONSTANT',
+ self::BAD_ESCAPE_SEQUENCE => 'BAD_ESCAPE_SEQUENCE',
+ self::BAD_FIELD_NAME => 'BAD_FIELD_NAME',
+ self::BAD_LIMIT_VALUE => 'BAD_LIMIT_VALUE',
+ self::BAD_NUMBER => 'BAD_NUMBER',
+ self::BAD_OPERATOR => 'BAD_OPERATOR',
+ self::BAD_PARAMETER_NAME => 'BAD_PARAMETER_NAME',
+ self::BAD_PARAMETER_VALUE => 'BAD_PARAMETER_VALUE',
+ self::BAD_RESOURCE_TYPE_IN_FROM_CLAUSE => 'BAD_RESOURCE_TYPE_IN_FROM_CLAUSE',
+ self::BAD_SYMBOL => 'BAD_SYMBOL',
+ self::BAD_VALUE => 'BAD_VALUE',
+ self::DATE_RANGE_TOO_WIDE => 'DATE_RANGE_TOO_WIDE',
+ self::DATE_RANGE_TOO_NARROW => 'DATE_RANGE_TOO_NARROW',
+ self::EXPECTED_AND => 'EXPECTED_AND',
+ self::EXPECTED_BY => 'EXPECTED_BY',
+ self::EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE => 'EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE',
+ self::EXPECTED_FILTERS_ON_DATE_RANGE => 'EXPECTED_FILTERS_ON_DATE_RANGE',
+ self::EXPECTED_FROM => 'EXPECTED_FROM',
+ self::EXPECTED_LIST => 'EXPECTED_LIST',
+ self::EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE => 'EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE',
+ self::EXPECTED_SELECT => 'EXPECTED_SELECT',
+ self::EXPECTED_SINGLE_VALUE => 'EXPECTED_SINGLE_VALUE',
+ self::EXPECTED_VALUE_WITH_BETWEEN_OPERATOR => 'EXPECTED_VALUE_WITH_BETWEEN_OPERATOR',
+ self::INVALID_DATE_FORMAT => 'INVALID_DATE_FORMAT',
+ self::INVALID_STRING_VALUE => 'INVALID_STRING_VALUE',
+ self::INVALID_VALUE_WITH_BETWEEN_OPERATOR => 'INVALID_VALUE_WITH_BETWEEN_OPERATOR',
+ self::INVALID_VALUE_WITH_DURING_OPERATOR => 'INVALID_VALUE_WITH_DURING_OPERATOR',
+ self::INVALID_VALUE_WITH_LIKE_OPERATOR => 'INVALID_VALUE_WITH_LIKE_OPERATOR',
+ self::OPERATOR_FIELD_MISMATCH => 'OPERATOR_FIELD_MISMATCH',
+ self::PROHIBITED_EMPTY_LIST_IN_CONDITION => 'PROHIBITED_EMPTY_LIST_IN_CONDITION',
+ self::PROHIBITED_ENUM_CONSTANT => 'PROHIBITED_ENUM_CONSTANT',
+ self::PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE => 'PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE',
+ self::PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE => 'PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE',
+ self::PROHIBITED_FIELD_IN_SELECT_CLAUSE => 'PROHIBITED_FIELD_IN_SELECT_CLAUSE',
+ self::PROHIBITED_FIELD_IN_WHERE_CLAUSE => 'PROHIBITED_FIELD_IN_WHERE_CLAUSE',
+ self::PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE => 'PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE',
+ self::PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE => 'PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE',
+ self::PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE => 'PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE',
+ self::PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE => 'PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE',
+ self::PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE => 'PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE',
+ self::PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE => 'PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE',
+ self::LIMIT_VALUE_TOO_LOW => 'LIMIT_VALUE_TOO_LOW',
+ self::PROHIBITED_NEWLINE_IN_STRING => 'PROHIBITED_NEWLINE_IN_STRING',
+ self::PROHIBITED_VALUE_COMBINATION_IN_LIST => 'PROHIBITED_VALUE_COMBINATION_IN_LIST',
+ self::PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR => 'PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR',
+ self::STRING_NOT_TERMINATED => 'STRING_NOT_TERMINATED',
+ self::TOO_MANY_SEGMENTS => 'TOO_MANY_SEGMENTS',
+ self::UNEXPECTED_END_OF_QUERY => 'UNEXPECTED_END_OF_QUERY',
+ self::UNEXPECTED_FROM_CLAUSE => 'UNEXPECTED_FROM_CLAUSE',
+ self::UNRECOGNIZED_FIELD => 'UNRECOGNIZED_FIELD',
+ self::UNEXPECTED_INPUT => 'UNEXPECTED_INPUT',
+ self::REQUESTED_METRICS_FOR_MANAGER => 'REQUESTED_METRICS_FOR_MANAGER',
+ ];
+
+ 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(QueryError::class, \Google\Ads\GoogleAds\V2\Errors\QueryErrorEnum_QueryError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum_QueryError.php b/src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum_QueryError.php
new file mode 100644
index 000000000..2a1365cb4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/QueryErrorEnum_QueryError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.QuotaErrorEnum
+ */
+final class QuotaErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\QuotaError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum/QuotaError.php b/src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum/QuotaError.php
new file mode 100644
index 000000000..a9854d049
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum/QuotaError.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.errors.QuotaErrorEnum.QuotaError
+ */
+class QuotaError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Too many requests.
+ *
+ * Generated from protobuf enum RESOURCE_EXHAUSTED = 2;
+ */
+ const RESOURCE_EXHAUSTED = 2;
+ /**
+ * Access is prohibited.
+ *
+ * Generated from protobuf enum ACCESS_PROHIBITED = 3;
+ */
+ const ACCESS_PROHIBITED = 3;
+ /**
+ * Too many requests in a short amount of time.
+ *
+ * Generated from protobuf enum RESOURCE_TEMPORARILY_EXHAUSTED = 4;
+ */
+ const RESOURCE_TEMPORARILY_EXHAUSTED = 4;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::RESOURCE_EXHAUSTED => 'RESOURCE_EXHAUSTED',
+ self::ACCESS_PROHIBITED => 'ACCESS_PROHIBITED',
+ self::RESOURCE_TEMPORARILY_EXHAUSTED => 'RESOURCE_TEMPORARILY_EXHAUSTED',
+ ];
+
+ 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(QuotaError::class, \Google\Ads\GoogleAds\V2\Errors\QuotaErrorEnum_QuotaError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum_QuotaError.php b/src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum_QuotaError.php
new file mode 100644
index 000000000..ef62618d2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/QuotaErrorEnum_QuotaError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.RangeErrorEnum
+ */
+final class RangeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\RangeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum/RangeError.php b/src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum/RangeError.php
new file mode 100644
index 000000000..71baeeb62
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum/RangeError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.RangeErrorEnum.RangeError
+ */
+class RangeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Too low.
+ *
+ * Generated from protobuf enum TOO_LOW = 2;
+ */
+ const TOO_LOW = 2;
+ /**
+ * Too high.
+ *
+ * Generated from protobuf enum TOO_HIGH = 3;
+ */
+ const TOO_HIGH = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TOO_LOW => 'TOO_LOW',
+ self::TOO_HIGH => 'TOO_HIGH',
+ ];
+
+ 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(RangeError::class, \Google\Ads\GoogleAds\V2\Errors\RangeErrorEnum_RangeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum_RangeError.php b/src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum_RangeError.php
new file mode 100644
index 000000000..de3edb2a6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RangeErrorEnum_RangeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.RecommendationErrorEnum
+ */
+final class RecommendationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\RecommendationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum/RecommendationError.php b/src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum/RecommendationError.php
new file mode 100644
index 000000000..50bda7551
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum/RecommendationError.php
@@ -0,0 +1,159 @@
+google.ads.googleads.v2.errors.RecommendationErrorEnum.RecommendationError
+ */
+class RecommendationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The specified budget amount is too low e.g. lower than minimum currency
+ * unit or lower than ad group minimum cost-per-click.
+ *
+ * Generated from protobuf enum BUDGET_AMOUNT_TOO_SMALL = 2;
+ */
+ const BUDGET_AMOUNT_TOO_SMALL = 2;
+ /**
+ * The specified budget amount is too large.
+ *
+ * Generated from protobuf enum BUDGET_AMOUNT_TOO_LARGE = 3;
+ */
+ const BUDGET_AMOUNT_TOO_LARGE = 3;
+ /**
+ * The specified budget amount is not a valid amount. e.g. not a multiple
+ * of minimum currency unit.
+ *
+ * Generated from protobuf enum INVALID_BUDGET_AMOUNT = 4;
+ */
+ const INVALID_BUDGET_AMOUNT = 4;
+ /**
+ * The specified keyword or ad violates ad policy.
+ *
+ * Generated from protobuf enum POLICY_ERROR = 5;
+ */
+ const POLICY_ERROR = 5;
+ /**
+ * The specified bid amount is not valid. e.g. too many fractional digits,
+ * or negative amount.
+ *
+ * Generated from protobuf enum INVALID_BID_AMOUNT = 6;
+ */
+ const INVALID_BID_AMOUNT = 6;
+ /**
+ * The number of keywords in ad group have reached the maximum allowed.
+ *
+ * Generated from protobuf enum ADGROUP_KEYWORD_LIMIT = 7;
+ */
+ const ADGROUP_KEYWORD_LIMIT = 7;
+ /**
+ * The recommendation requested to apply has already been applied.
+ *
+ * Generated from protobuf enum RECOMMENDATION_ALREADY_APPLIED = 8;
+ */
+ const RECOMMENDATION_ALREADY_APPLIED = 8;
+ /**
+ * The recommendation requested to apply has been invalidated.
+ *
+ * Generated from protobuf enum RECOMMENDATION_INVALIDATED = 9;
+ */
+ const RECOMMENDATION_INVALIDATED = 9;
+ /**
+ * The number of operations in a single request exceeds the maximum allowed.
+ *
+ * Generated from protobuf enum TOO_MANY_OPERATIONS = 10;
+ */
+ const TOO_MANY_OPERATIONS = 10;
+ /**
+ * There are no operations in the request.
+ *
+ * Generated from protobuf enum NO_OPERATIONS = 11;
+ */
+ const NO_OPERATIONS = 11;
+ /**
+ * Operations with multiple recommendation types are not supported when
+ * partial failure mode is not enabled.
+ *
+ * Generated from protobuf enum DIFFERENT_TYPES_NOT_SUPPORTED = 12;
+ */
+ const DIFFERENT_TYPES_NOT_SUPPORTED = 12;
+ /**
+ * Request contains multiple operations with the same resource_name.
+ *
+ * Generated from protobuf enum DUPLICATE_RESOURCE_NAME = 13;
+ */
+ const DUPLICATE_RESOURCE_NAME = 13;
+ /**
+ * The recommendation requested to dismiss has already been dismissed.
+ *
+ * Generated from protobuf enum RECOMMENDATION_ALREADY_DISMISSED = 14;
+ */
+ const RECOMMENDATION_ALREADY_DISMISSED = 14;
+ /**
+ * The recommendation apply request was malformed and invalid.
+ *
+ * Generated from protobuf enum INVALID_APPLY_REQUEST = 15;
+ */
+ const INVALID_APPLY_REQUEST = 15;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::BUDGET_AMOUNT_TOO_SMALL => 'BUDGET_AMOUNT_TOO_SMALL',
+ self::BUDGET_AMOUNT_TOO_LARGE => 'BUDGET_AMOUNT_TOO_LARGE',
+ self::INVALID_BUDGET_AMOUNT => 'INVALID_BUDGET_AMOUNT',
+ self::POLICY_ERROR => 'POLICY_ERROR',
+ self::INVALID_BID_AMOUNT => 'INVALID_BID_AMOUNT',
+ self::ADGROUP_KEYWORD_LIMIT => 'ADGROUP_KEYWORD_LIMIT',
+ self::RECOMMENDATION_ALREADY_APPLIED => 'RECOMMENDATION_ALREADY_APPLIED',
+ self::RECOMMENDATION_INVALIDATED => 'RECOMMENDATION_INVALIDATED',
+ self::TOO_MANY_OPERATIONS => 'TOO_MANY_OPERATIONS',
+ self::NO_OPERATIONS => 'NO_OPERATIONS',
+ self::DIFFERENT_TYPES_NOT_SUPPORTED => 'DIFFERENT_TYPES_NOT_SUPPORTED',
+ self::DUPLICATE_RESOURCE_NAME => 'DUPLICATE_RESOURCE_NAME',
+ self::RECOMMENDATION_ALREADY_DISMISSED => 'RECOMMENDATION_ALREADY_DISMISSED',
+ self::INVALID_APPLY_REQUEST => 'INVALID_APPLY_REQUEST',
+ ];
+
+ 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(RecommendationError::class, \Google\Ads\GoogleAds\V2\Errors\RecommendationErrorEnum_RecommendationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum_RecommendationError.php b/src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum_RecommendationError.php
new file mode 100644
index 000000000..c985da196
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RecommendationErrorEnum_RecommendationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.RegionCodeErrorEnum
+ */
+final class RegionCodeErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\RegionCodeError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum/RegionCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum/RegionCodeError.php
new file mode 100644
index 000000000..31fdd8bf1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum/RegionCodeError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.RegionCodeErrorEnum.RegionCodeError
+ */
+class RegionCodeError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Invalid region code.
+ *
+ * Generated from protobuf enum INVALID_REGION_CODE = 2;
+ */
+ const INVALID_REGION_CODE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_REGION_CODE => 'INVALID_REGION_CODE',
+ ];
+
+ 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(RegionCodeError::class, \Google\Ads\GoogleAds\V2\Errors\RegionCodeErrorEnum_RegionCodeError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum_RegionCodeError.php b/src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum_RegionCodeError.php
new file mode 100644
index 000000000..d93a7b391
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RegionCodeErrorEnum_RegionCodeError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.RequestErrorEnum
+ */
+final class RequestErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\RequestError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum/RequestError.php b/src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum/RequestError.php
new file mode 100644
index 000000000..7cfdb831f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum/RequestError.php
@@ -0,0 +1,209 @@
+google.ads.googleads.v2.errors.RequestErrorEnum.RequestError
+ */
+class RequestError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Resource name is required for this request.
+ *
+ * Generated from protobuf enum RESOURCE_NAME_MISSING = 3;
+ */
+ const RESOURCE_NAME_MISSING = 3;
+ /**
+ * Resource name provided is malformed.
+ *
+ * Generated from protobuf enum RESOURCE_NAME_MALFORMED = 4;
+ */
+ const RESOURCE_NAME_MALFORMED = 4;
+ /**
+ * Resource name provided is malformed.
+ *
+ * Generated from protobuf enum BAD_RESOURCE_ID = 17;
+ */
+ const BAD_RESOURCE_ID = 17;
+ /**
+ * Customer ID is invalid.
+ *
+ * Generated from protobuf enum INVALID_CUSTOMER_ID = 16;
+ */
+ const INVALID_CUSTOMER_ID = 16;
+ /**
+ * Mutate operation should have either create, update, or remove specified.
+ *
+ * Generated from protobuf enum OPERATION_REQUIRED = 5;
+ */
+ const OPERATION_REQUIRED = 5;
+ /**
+ * Requested resource not found.
+ *
+ * Generated from protobuf enum RESOURCE_NOT_FOUND = 6;
+ */
+ const RESOURCE_NOT_FOUND = 6;
+ /**
+ * Next page token specified in user request is invalid.
+ *
+ * Generated from protobuf enum INVALID_PAGE_TOKEN = 7;
+ */
+ const INVALID_PAGE_TOKEN = 7;
+ /**
+ * Next page token specified in user request has expired.
+ *
+ * Generated from protobuf enum EXPIRED_PAGE_TOKEN = 8;
+ */
+ const EXPIRED_PAGE_TOKEN = 8;
+ /**
+ * Page size specified in user request is invalid.
+ *
+ * Generated from protobuf enum INVALID_PAGE_SIZE = 22;
+ */
+ const INVALID_PAGE_SIZE = 22;
+ /**
+ * Required field is missing.
+ *
+ * Generated from protobuf enum REQUIRED_FIELD_MISSING = 9;
+ */
+ const REQUIRED_FIELD_MISSING = 9;
+ /**
+ * The field cannot be modified because it's immutable. It's also possible
+ * that the field can be modified using 'create' operation but not 'update'.
+ *
+ * Generated from protobuf enum IMMUTABLE_FIELD = 11;
+ */
+ const IMMUTABLE_FIELD = 11;
+ /**
+ * Received too many entries in request.
+ *
+ * Generated from protobuf enum TOO_MANY_MUTATE_OPERATIONS = 13;
+ */
+ const TOO_MANY_MUTATE_OPERATIONS = 13;
+ /**
+ * Request cannot be executed by a manager account.
+ *
+ * Generated from protobuf enum CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT = 14;
+ */
+ const CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT = 14;
+ /**
+ * Mutate request was attempting to modify a readonly field.
+ * For instance, Budget fields can be requested for Ad Group,
+ * but are read-only for adGroups:mutate.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_FOREIGN_FIELD = 15;
+ */
+ const CANNOT_MODIFY_FOREIGN_FIELD = 15;
+ /**
+ * Enum value is not permitted.
+ *
+ * Generated from protobuf enum INVALID_ENUM_VALUE = 18;
+ */
+ const INVALID_ENUM_VALUE = 18;
+ /**
+ * The developer-token parameter is required for all requests.
+ *
+ * Generated from protobuf enum DEVELOPER_TOKEN_PARAMETER_MISSING = 19;
+ */
+ const DEVELOPER_TOKEN_PARAMETER_MISSING = 19;
+ /**
+ * The login-customer-id parameter is required for this request.
+ *
+ * Generated from protobuf enum LOGIN_CUSTOMER_ID_PARAMETER_MISSING = 20;
+ */
+ const LOGIN_CUSTOMER_ID_PARAMETER_MISSING = 20;
+ /**
+ * page_token is set in the validate only request
+ *
+ * Generated from protobuf enum VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN = 21;
+ */
+ const VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN = 21;
+ /**
+ * return_summary_row cannot be enabled if request did not select any
+ * metrics field.
+ *
+ * Generated from protobuf enum CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS = 29;
+ */
+ const CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS = 29;
+ /**
+ * return_summary_row should not be enabled for validate only requests.
+ *
+ * Generated from protobuf enum CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS = 30;
+ */
+ const CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS = 30;
+ /**
+ * return_summary_row parameter value should be the same between requests
+ * with page_token field set and their original request.
+ *
+ * Generated from protobuf enum INCONSISTENT_RETURN_SUMMARY_ROW_VALUE = 31;
+ */
+ const INCONSISTENT_RETURN_SUMMARY_ROW_VALUE = 31;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::RESOURCE_NAME_MISSING => 'RESOURCE_NAME_MISSING',
+ self::RESOURCE_NAME_MALFORMED => 'RESOURCE_NAME_MALFORMED',
+ self::BAD_RESOURCE_ID => 'BAD_RESOURCE_ID',
+ self::INVALID_CUSTOMER_ID => 'INVALID_CUSTOMER_ID',
+ self::OPERATION_REQUIRED => 'OPERATION_REQUIRED',
+ self::RESOURCE_NOT_FOUND => 'RESOURCE_NOT_FOUND',
+ self::INVALID_PAGE_TOKEN => 'INVALID_PAGE_TOKEN',
+ self::EXPIRED_PAGE_TOKEN => 'EXPIRED_PAGE_TOKEN',
+ self::INVALID_PAGE_SIZE => 'INVALID_PAGE_SIZE',
+ self::REQUIRED_FIELD_MISSING => 'REQUIRED_FIELD_MISSING',
+ self::IMMUTABLE_FIELD => 'IMMUTABLE_FIELD',
+ self::TOO_MANY_MUTATE_OPERATIONS => 'TOO_MANY_MUTATE_OPERATIONS',
+ self::CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT => 'CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT',
+ self::CANNOT_MODIFY_FOREIGN_FIELD => 'CANNOT_MODIFY_FOREIGN_FIELD',
+ self::INVALID_ENUM_VALUE => 'INVALID_ENUM_VALUE',
+ self::DEVELOPER_TOKEN_PARAMETER_MISSING => 'DEVELOPER_TOKEN_PARAMETER_MISSING',
+ self::LOGIN_CUSTOMER_ID_PARAMETER_MISSING => 'LOGIN_CUSTOMER_ID_PARAMETER_MISSING',
+ self::VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN => 'VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN',
+ self::CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS => 'CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS',
+ self::CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS => 'CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS',
+ self::INCONSISTENT_RETURN_SUMMARY_ROW_VALUE => 'INCONSISTENT_RETURN_SUMMARY_ROW_VALUE',
+ ];
+
+ 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(RequestError::class, \Google\Ads\GoogleAds\V2\Errors\RequestErrorEnum_RequestError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum_RequestError.php b/src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum_RequestError.php
new file mode 100644
index 000000000..36533d0d2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/RequestErrorEnum_RequestError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ResourceAccessDeniedErrorEnum
+ */
+final class ResourceAccessDeniedErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ResourceAccessDeniedError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum/ResourceAccessDeniedError.php b/src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum/ResourceAccessDeniedError.php
new file mode 100644
index 000000000..0f0d469e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum/ResourceAccessDeniedError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError
+ */
+class ResourceAccessDeniedError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * User did not have write access.
+ *
+ * Generated from protobuf enum WRITE_ACCESS_DENIED = 3;
+ */
+ const WRITE_ACCESS_DENIED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::WRITE_ACCESS_DENIED => 'WRITE_ACCESS_DENIED',
+ ];
+
+ 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(ResourceAccessDeniedError::class, \Google\Ads\GoogleAds\V2\Errors\ResourceAccessDeniedErrorEnum_ResourceAccessDeniedError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum_ResourceAccessDeniedError.php b/src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum_ResourceAccessDeniedError.php
new file mode 100644
index 000000000..4e8f5da35
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ResourceAccessDeniedErrorEnum_ResourceAccessDeniedError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.ResourceCountLimitExceededErrorEnum
+ */
+final class ResourceCountLimitExceededErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\ResourceCountLimitExceededError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum/ResourceCountLimitExceededError.php b/src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum/ResourceCountLimitExceededError.php
new file mode 100644
index 000000000..3a14efe2e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum/ResourceCountLimitExceededError.php
@@ -0,0 +1,142 @@
+google.ads.googleads.v2.errors.ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError
+ */
+class ResourceCountLimitExceededError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Indicates that this request would exceed the number of allowed resources
+ * for the Google Ads account. The exact resource type and limit being
+ * checked can be inferred from accountLimitType.
+ *
+ * Generated from protobuf enum ACCOUNT_LIMIT = 2;
+ */
+ const ACCOUNT_LIMIT = 2;
+ /**
+ * Indicates that this request would exceed the number of allowed resources
+ * in a Campaign. The exact resource type and limit being checked can be
+ * inferred from accountLimitType, and the numeric id of the
+ * Campaign involved is given by enclosingId.
+ *
+ * Generated from protobuf enum CAMPAIGN_LIMIT = 3;
+ */
+ const CAMPAIGN_LIMIT = 3;
+ /**
+ * Indicates that this request would exceed the number of allowed resources
+ * in an ad group. The exact resource type and limit being checked can be
+ * inferred from accountLimitType, and the numeric id of the
+ * ad group involved is given by enclosingId.
+ *
+ * Generated from protobuf enum ADGROUP_LIMIT = 4;
+ */
+ const ADGROUP_LIMIT = 4;
+ /**
+ * Indicates that this request would exceed the number of allowed resources
+ * in an ad group ad. The exact resource type and limit being checked can
+ * be inferred from accountLimitType, and the enclosingId
+ * contains the ad group id followed by the ad id, separated by a single
+ * comma (,).
+ *
+ * Generated from protobuf enum AD_GROUP_AD_LIMIT = 5;
+ */
+ const AD_GROUP_AD_LIMIT = 5;
+ /**
+ * Indicates that this request would exceed the number of allowed resources
+ * in an ad group criterion. The exact resource type and limit being checked
+ * can be inferred from accountLimitType, and the
+ * enclosingId contains the ad group id followed by the
+ * criterion id, separated by a single comma (,).
+ *
+ * Generated from protobuf enum AD_GROUP_CRITERION_LIMIT = 6;
+ */
+ const AD_GROUP_CRITERION_LIMIT = 6;
+ /**
+ * Indicates that this request would exceed the number of allowed resources
+ * in this shared set. The exact resource type and limit being checked can
+ * be inferred from accountLimitType, and the numeric id of the
+ * shared set involved is given by enclosingId.
+ *
+ * Generated from protobuf enum SHARED_SET_LIMIT = 7;
+ */
+ const SHARED_SET_LIMIT = 7;
+ /**
+ * Exceeds a limit related to a matching function.
+ *
+ * Generated from protobuf enum MATCHING_FUNCTION_LIMIT = 8;
+ */
+ const MATCHING_FUNCTION_LIMIT = 8;
+ /**
+ * The response for this request would exceed the maximum number of rows
+ * that can be returned.
+ *
+ * Generated from protobuf enum RESPONSE_ROW_LIMIT_EXCEEDED = 9;
+ */
+ const RESPONSE_ROW_LIMIT_EXCEEDED = 9;
+ /**
+ * This request would exceed a limit on the number of allowed resources.
+ * The details of which type of limit was exceeded will eventually be
+ * returned in ErrorDetails.
+ *
+ * Generated from protobuf enum RESOURCE_LIMIT = 10;
+ */
+ const RESOURCE_LIMIT = 10;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ACCOUNT_LIMIT => 'ACCOUNT_LIMIT',
+ self::CAMPAIGN_LIMIT => 'CAMPAIGN_LIMIT',
+ self::ADGROUP_LIMIT => 'ADGROUP_LIMIT',
+ self::AD_GROUP_AD_LIMIT => 'AD_GROUP_AD_LIMIT',
+ self::AD_GROUP_CRITERION_LIMIT => 'AD_GROUP_CRITERION_LIMIT',
+ self::SHARED_SET_LIMIT => 'SHARED_SET_LIMIT',
+ self::MATCHING_FUNCTION_LIMIT => 'MATCHING_FUNCTION_LIMIT',
+ self::RESPONSE_ROW_LIMIT_EXCEEDED => 'RESPONSE_ROW_LIMIT_EXCEEDED',
+ self::RESOURCE_LIMIT => 'RESOURCE_LIMIT',
+ ];
+
+ 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(ResourceCountLimitExceededError::class, \Google\Ads\GoogleAds\V2\Errors\ResourceCountLimitExceededErrorEnum_ResourceCountLimitExceededError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum_ResourceCountLimitExceededError.php b/src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum_ResourceCountLimitExceededError.php
new file mode 100644
index 000000000..34a684a49
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/ResourceCountLimitExceededErrorEnum_ResourceCountLimitExceededError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.SettingErrorEnum
+ */
+final class SettingErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\SettingError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum/SettingError.php b/src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum/SettingError.php
new file mode 100644
index 000000000..899faca9c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum/SettingError.php
@@ -0,0 +1,186 @@
+google.ads.googleads.v2.errors.SettingErrorEnum.SettingError
+ */
+class SettingError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The campaign setting is not available for this Google Ads account.
+ *
+ * Generated from protobuf enum SETTING_TYPE_IS_NOT_AVAILABLE = 3;
+ */
+ const SETTING_TYPE_IS_NOT_AVAILABLE = 3;
+ /**
+ * The setting is not compatible with the campaign.
+ *
+ * Generated from protobuf enum SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4;
+ */
+ const SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4;
+ /**
+ * The supplied TargetingSetting contains an invalid CriterionTypeGroup. See
+ * CriterionTypeGroup documentation for CriterionTypeGroups allowed
+ * in Campaign or AdGroup TargetingSettings.
+ *
+ * Generated from protobuf enum TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5;
+ */
+ const TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5;
+ /**
+ * TargetingSetting must not explicitly
+ * set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER,
+ * PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in
+ * which case the system will set them to true automatically).
+ *
+ * Generated from protobuf enum TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6;
+ */
+ const TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6;
+ /**
+ * TargetingSetting cannot change any of
+ * the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT,
+ * INCOME_RANGE) from true to false.
+ *
+ * Generated from protobuf enum TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7;
+ */
+ const TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7;
+ /**
+ * At least one feed id should be present.
+ *
+ * Generated from protobuf enum DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8;
+ */
+ const DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8;
+ /**
+ * The supplied DynamicSearchAdsSetting contains an invalid domain name.
+ *
+ * Generated from protobuf enum DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9;
+ */
+ const DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9;
+ /**
+ * The supplied DynamicSearchAdsSetting contains a subdomain name.
+ *
+ * Generated from protobuf enum DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10;
+ */
+ const DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10;
+ /**
+ * The supplied DynamicSearchAdsSetting contains an invalid language code.
+ *
+ * Generated from protobuf enum DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11;
+ */
+ const DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11;
+ /**
+ * TargetingSettings in search campaigns should not have
+ * CriterionTypeGroup.PLACEMENT set to targetAll.
+ *
+ * Generated from protobuf enum TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12;
+ */
+ const TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12;
+ /**
+ * Duplicate description in universal app setting description field.
+ *
+ * Generated from protobuf enum UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION = 13;
+ */
+ const UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION = 13;
+ /**
+ * Description line width is too long in universal app setting description
+ * field.
+ *
+ * Generated from protobuf enum UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG = 14;
+ */
+ const UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG = 14;
+ /**
+ * Universal app setting appId field cannot be modified for COMPLETE
+ * campaigns.
+ *
+ * Generated from protobuf enum UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED = 15;
+ */
+ const UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED = 15;
+ /**
+ * YoutubeVideoMediaIds in universal app setting cannot exceed size limit.
+ *
+ * Generated from protobuf enum TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 16;
+ */
+ const TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 16;
+ /**
+ * ImageMediaIds in universal app setting cannot exceed size limit.
+ *
+ * Generated from protobuf enum TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 17;
+ */
+ const TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 17;
+ /**
+ * Media is incompatible for universal app campaign.
+ *
+ * Generated from protobuf enum MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN = 18;
+ */
+ const MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN = 18;
+ /**
+ * Too many exclamation marks in universal app campaign ad text ideas.
+ *
+ * Generated from protobuf enum TOO_MANY_EXCLAMATION_MARKS = 19;
+ */
+ const TOO_MANY_EXCLAMATION_MARKS = 19;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::SETTING_TYPE_IS_NOT_AVAILABLE => 'SETTING_TYPE_IS_NOT_AVAILABLE',
+ self::SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN => 'SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN',
+ self::TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP => 'TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP',
+ self::TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL => 'TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL',
+ self::TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP => 'TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP',
+ self::DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT => 'DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT',
+ self::DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME => 'DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME',
+ self::DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME => 'DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME',
+ self::DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE => 'DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE',
+ self::TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN => 'TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN',
+ self::UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION => 'UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION',
+ self::UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG => 'UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG',
+ self::UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED => 'UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED',
+ self::TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN => 'TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN',
+ self::TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN => 'TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN',
+ self::MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN => 'MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN',
+ self::TOO_MANY_EXCLAMATION_MARKS => 'TOO_MANY_EXCLAMATION_MARKS',
+ ];
+
+ 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(SettingError::class, \Google\Ads\GoogleAds\V2\Errors\SettingErrorEnum_SettingError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum_SettingError.php b/src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum_SettingError.php
new file mode 100644
index 000000000..fde7bde74
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SettingErrorEnum_SettingError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.SharedCriterionErrorEnum
+ */
+final class SharedCriterionErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\SharedCriterionError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum/SharedCriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum/SharedCriterionError.php
new file mode 100644
index 000000000..16b6e5e97
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum/SharedCriterionError.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.errors.SharedCriterionErrorEnum.SharedCriterionError
+ */
+class SharedCriterionError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The criterion is not appropriate for the shared set type.
+ *
+ * Generated from protobuf enum CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2;
+ */
+ const CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE => 'CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE',
+ ];
+
+ 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(SharedCriterionError::class, \Google\Ads\GoogleAds\V2\Errors\SharedCriterionErrorEnum_SharedCriterionError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum_SharedCriterionError.php b/src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum_SharedCriterionError.php
new file mode 100644
index 000000000..7b2198973
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SharedCriterionErrorEnum_SharedCriterionError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.SharedSetErrorEnum
+ */
+final class SharedSetErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\SharedSetError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum/SharedSetError.php b/src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum/SharedSetError.php
new file mode 100644
index 000000000..e373ba6fe
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum/SharedSetError.php
@@ -0,0 +1,85 @@
+google.ads.googleads.v2.errors.SharedSetErrorEnum.SharedSetError
+ */
+class SharedSetError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The customer cannot create this type of shared set.
+ *
+ * Generated from protobuf enum CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2;
+ */
+ const CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2;
+ /**
+ * A shared set with this name already exists.
+ *
+ * Generated from protobuf enum DUPLICATE_NAME = 3;
+ */
+ const DUPLICATE_NAME = 3;
+ /**
+ * Removed shared sets cannot be mutated.
+ *
+ * Generated from protobuf enum SHARED_SET_REMOVED = 4;
+ */
+ const SHARED_SET_REMOVED = 4;
+ /**
+ * The shared set cannot be removed because it is in use.
+ *
+ * Generated from protobuf enum SHARED_SET_IN_USE = 5;
+ */
+ const SHARED_SET_IN_USE = 5;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE => 'CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE',
+ self::DUPLICATE_NAME => 'DUPLICATE_NAME',
+ self::SHARED_SET_REMOVED => 'SHARED_SET_REMOVED',
+ self::SHARED_SET_IN_USE => 'SHARED_SET_IN_USE',
+ ];
+
+ 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(SharedSetError::class, \Google\Ads\GoogleAds\V2\Errors\SharedSetErrorEnum_SharedSetError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum_SharedSetError.php b/src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum_SharedSetError.php
new file mode 100644
index 000000000..5f34b8cc0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SharedSetErrorEnum_SharedSetError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.SizeLimitErrorEnum
+ */
+final class SizeLimitErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\SizeLimitError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum/SizeLimitError.php b/src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum/SizeLimitError.php
new file mode 100644
index 000000000..fe17a7fad
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum/SizeLimitError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.SizeLimitErrorEnum.SizeLimitError
+ */
+class SizeLimitError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The number of entries in the request exceeds the system limit.
+ *
+ * Generated from protobuf enum REQUEST_SIZE_LIMIT_EXCEEDED = 2;
+ */
+ const REQUEST_SIZE_LIMIT_EXCEEDED = 2;
+ /**
+ * The number of entries in the response exceeds the system limit.
+ *
+ * Generated from protobuf enum RESPONSE_SIZE_LIMIT_EXCEEDED = 3;
+ */
+ const RESPONSE_SIZE_LIMIT_EXCEEDED = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::REQUEST_SIZE_LIMIT_EXCEEDED => 'REQUEST_SIZE_LIMIT_EXCEEDED',
+ self::RESPONSE_SIZE_LIMIT_EXCEEDED => 'RESPONSE_SIZE_LIMIT_EXCEEDED',
+ ];
+
+ 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(SizeLimitError::class, \Google\Ads\GoogleAds\V2\Errors\SizeLimitErrorEnum_SizeLimitError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum_SizeLimitError.php b/src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum_SizeLimitError.php
new file mode 100644
index 000000000..aa08fe0ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/SizeLimitErrorEnum_SizeLimitError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.StringFormatErrorEnum
+ */
+final class StringFormatErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\StringFormatError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum/StringFormatError.php b/src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum/StringFormatError.php
new file mode 100644
index 000000000..a7d2d51ee
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum/StringFormatError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.StringFormatErrorEnum.StringFormatError
+ */
+class StringFormatError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The input string value contains disallowed characters.
+ *
+ * Generated from protobuf enum ILLEGAL_CHARS = 2;
+ */
+ const ILLEGAL_CHARS = 2;
+ /**
+ * The input string value is invalid for the associated field.
+ *
+ * Generated from protobuf enum INVALID_FORMAT = 3;
+ */
+ const INVALID_FORMAT = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ILLEGAL_CHARS => 'ILLEGAL_CHARS',
+ self::INVALID_FORMAT => 'INVALID_FORMAT',
+ ];
+
+ 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(StringFormatError::class, \Google\Ads\GoogleAds\V2\Errors\StringFormatErrorEnum_StringFormatError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum_StringFormatError.php b/src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum_StringFormatError.php
new file mode 100644
index 000000000..26dd6ae59
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/StringFormatErrorEnum_StringFormatError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.StringLengthErrorEnum
+ */
+final class StringLengthErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\StringLengthError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum/StringLengthError.php b/src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum/StringLengthError.php
new file mode 100644
index 000000000..24cb94bb9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum/StringLengthError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.StringLengthErrorEnum.StringLengthError
+ */
+class StringLengthError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Too short.
+ *
+ * Generated from protobuf enum TOO_SHORT = 2;
+ */
+ const TOO_SHORT = 2;
+ /**
+ * Too long.
+ *
+ * Generated from protobuf enum TOO_LONG = 3;
+ */
+ const TOO_LONG = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::TOO_SHORT => 'TOO_SHORT',
+ self::TOO_LONG => 'TOO_LONG',
+ ];
+
+ 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(StringLengthError::class, \Google\Ads\GoogleAds\V2\Errors\StringLengthErrorEnum_StringLengthError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum_StringLengthError.php b/src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum_StringLengthError.php
new file mode 100644
index 000000000..e93190ad2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/StringLengthErrorEnum_StringLengthError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.UrlFieldErrorEnum
+ */
+final class UrlFieldErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\UrlFieldError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum/UrlFieldError.php b/src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum/UrlFieldError.php
new file mode 100644
index 000000000..4def06961
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum/UrlFieldError.php
@@ -0,0 +1,436 @@
+google.ads.googleads.v2.errors.UrlFieldErrorEnum.UrlFieldError
+ */
+class UrlFieldError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * The tracking url template is invalid.
+ *
+ * Generated from protobuf enum INVALID_TRACKING_URL_TEMPLATE = 2;
+ */
+ const INVALID_TRACKING_URL_TEMPLATE = 2;
+ /**
+ * The tracking url template contains invalid tag.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3;
+ */
+ const INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3;
+ /**
+ * The tracking url template must contain at least one tag (e.g. {lpurl}),
+ * This applies only to tracking url template associated with website ads or
+ * product ads.
+ *
+ * Generated from protobuf enum MISSING_TRACKING_URL_TEMPLATE_TAG = 4;
+ */
+ const MISSING_TRACKING_URL_TEMPLATE_TAG = 4;
+ /**
+ * The tracking url template must start with a valid protocol (or lpurl
+ * tag).
+ *
+ * Generated from protobuf enum MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 5;
+ */
+ const MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 5;
+ /**
+ * The tracking url template starts with an invalid protocol.
+ *
+ * Generated from protobuf enum INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 6;
+ */
+ const INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 6;
+ /**
+ * The tracking url template contains illegal characters.
+ *
+ * Generated from protobuf enum MALFORMED_TRACKING_URL_TEMPLATE = 7;
+ */
+ const MALFORMED_TRACKING_URL_TEMPLATE = 7;
+ /**
+ * The tracking url template must contain a host name (or lpurl tag).
+ *
+ * Generated from protobuf enum MISSING_HOST_IN_TRACKING_URL_TEMPLATE = 8;
+ */
+ const MISSING_HOST_IN_TRACKING_URL_TEMPLATE = 8;
+ /**
+ * The tracking url template has an invalid or missing top level domain
+ * extension.
+ *
+ * Generated from protobuf enum INVALID_TLD_IN_TRACKING_URL_TEMPLATE = 9;
+ */
+ const INVALID_TLD_IN_TRACKING_URL_TEMPLATE = 9;
+ /**
+ * The tracking url template contains nested occurrences of the same
+ * conditional tag (i.e. {ifmobile:{ifmobile:x}}).
+ *
+ * Generated from protobuf enum REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG = 10;
+ */
+ const REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG = 10;
+ /**
+ * The final url is invalid.
+ *
+ * Generated from protobuf enum INVALID_FINAL_URL = 11;
+ */
+ const INVALID_FINAL_URL = 11;
+ /**
+ * The final url contains invalid tag.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_FINAL_URL = 12;
+ */
+ const INVALID_TAG_IN_FINAL_URL = 12;
+ /**
+ * The final url contains nested occurrences of the same conditional tag
+ * (i.e. {ifmobile:{ifmobile:x}}).
+ *
+ * Generated from protobuf enum REDUNDANT_NESTED_FINAL_URL_TAG = 13;
+ */
+ const REDUNDANT_NESTED_FINAL_URL_TAG = 13;
+ /**
+ * The final url must start with a valid protocol.
+ *
+ * Generated from protobuf enum MISSING_PROTOCOL_IN_FINAL_URL = 14;
+ */
+ const MISSING_PROTOCOL_IN_FINAL_URL = 14;
+ /**
+ * The final url starts with an invalid protocol.
+ *
+ * Generated from protobuf enum INVALID_PROTOCOL_IN_FINAL_URL = 15;
+ */
+ const INVALID_PROTOCOL_IN_FINAL_URL = 15;
+ /**
+ * The final url contains illegal characters.
+ *
+ * Generated from protobuf enum MALFORMED_FINAL_URL = 16;
+ */
+ const MALFORMED_FINAL_URL = 16;
+ /**
+ * The final url must contain a host name.
+ *
+ * Generated from protobuf enum MISSING_HOST_IN_FINAL_URL = 17;
+ */
+ const MISSING_HOST_IN_FINAL_URL = 17;
+ /**
+ * The tracking url template has an invalid or missing top level domain
+ * extension.
+ *
+ * Generated from protobuf enum INVALID_TLD_IN_FINAL_URL = 18;
+ */
+ const INVALID_TLD_IN_FINAL_URL = 18;
+ /**
+ * The final mobile url is invalid.
+ *
+ * Generated from protobuf enum INVALID_FINAL_MOBILE_URL = 19;
+ */
+ const INVALID_FINAL_MOBILE_URL = 19;
+ /**
+ * The final mobile url contains invalid tag.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_FINAL_MOBILE_URL = 20;
+ */
+ const INVALID_TAG_IN_FINAL_MOBILE_URL = 20;
+ /**
+ * The final mobile url contains nested occurrences of the same conditional
+ * tag (i.e. {ifmobile:{ifmobile:x}}).
+ *
+ * Generated from protobuf enum REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG = 21;
+ */
+ const REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG = 21;
+ /**
+ * The final mobile url must start with a valid protocol.
+ *
+ * Generated from protobuf enum MISSING_PROTOCOL_IN_FINAL_MOBILE_URL = 22;
+ */
+ const MISSING_PROTOCOL_IN_FINAL_MOBILE_URL = 22;
+ /**
+ * The final mobile url starts with an invalid protocol.
+ *
+ * Generated from protobuf enum INVALID_PROTOCOL_IN_FINAL_MOBILE_URL = 23;
+ */
+ const INVALID_PROTOCOL_IN_FINAL_MOBILE_URL = 23;
+ /**
+ * The final mobile url contains illegal characters.
+ *
+ * Generated from protobuf enum MALFORMED_FINAL_MOBILE_URL = 24;
+ */
+ const MALFORMED_FINAL_MOBILE_URL = 24;
+ /**
+ * The final mobile url must contain a host name.
+ *
+ * Generated from protobuf enum MISSING_HOST_IN_FINAL_MOBILE_URL = 25;
+ */
+ const MISSING_HOST_IN_FINAL_MOBILE_URL = 25;
+ /**
+ * The tracking url template has an invalid or missing top level domain
+ * extension.
+ *
+ * Generated from protobuf enum INVALID_TLD_IN_FINAL_MOBILE_URL = 26;
+ */
+ const INVALID_TLD_IN_FINAL_MOBILE_URL = 26;
+ /**
+ * The final app url is invalid.
+ *
+ * Generated from protobuf enum INVALID_FINAL_APP_URL = 27;
+ */
+ const INVALID_FINAL_APP_URL = 27;
+ /**
+ * The final app url contains invalid tag.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_FINAL_APP_URL = 28;
+ */
+ const INVALID_TAG_IN_FINAL_APP_URL = 28;
+ /**
+ * The final app url contains nested occurrences of the same conditional tag
+ * (i.e. {ifmobile:{ifmobile:x}}).
+ *
+ * Generated from protobuf enum REDUNDANT_NESTED_FINAL_APP_URL_TAG = 29;
+ */
+ const REDUNDANT_NESTED_FINAL_APP_URL_TAG = 29;
+ /**
+ * More than one app url found for the same OS type.
+ *
+ * Generated from protobuf enum MULTIPLE_APP_URLS_FOR_OSTYPE = 30;
+ */
+ const MULTIPLE_APP_URLS_FOR_OSTYPE = 30;
+ /**
+ * The OS type given for an app url is not valid.
+ *
+ * Generated from protobuf enum INVALID_OSTYPE = 31;
+ */
+ const INVALID_OSTYPE = 31;
+ /**
+ * The protocol given for an app url is not valid. (E.g. "android-app://")
+ *
+ * Generated from protobuf enum INVALID_PROTOCOL_FOR_APP_URL = 32;
+ */
+ const INVALID_PROTOCOL_FOR_APP_URL = 32;
+ /**
+ * The package id (app id) given for an app url is not valid.
+ *
+ * Generated from protobuf enum INVALID_PACKAGE_ID_FOR_APP_URL = 33;
+ */
+ const INVALID_PACKAGE_ID_FOR_APP_URL = 33;
+ /**
+ * The number of url custom parameters for an resource exceeds the maximum
+ * limit allowed.
+ *
+ * Generated from protobuf enum URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT = 34;
+ */
+ const URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT = 34;
+ /**
+ * An invalid character appears in the parameter key.
+ *
+ * Generated from protobuf enum INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY = 39;
+ */
+ const INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY = 39;
+ /**
+ * An invalid character appears in the parameter value.
+ *
+ * Generated from protobuf enum INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE = 40;
+ */
+ const INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE = 40;
+ /**
+ * The url custom parameter value fails url tag validation.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE = 41;
+ */
+ const INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE = 41;
+ /**
+ * The custom parameter contains nested occurrences of the same conditional
+ * tag (i.e. {ifmobile:{ifmobile:x}}).
+ *
+ * Generated from protobuf enum REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG = 42;
+ */
+ const REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG = 42;
+ /**
+ * The protocol (http:// or https://) is missing.
+ *
+ * Generated from protobuf enum MISSING_PROTOCOL = 43;
+ */
+ const MISSING_PROTOCOL = 43;
+ /**
+ * Unsupported protocol in URL. Only http and https are supported.
+ *
+ * Generated from protobuf enum INVALID_PROTOCOL = 52;
+ */
+ const INVALID_PROTOCOL = 52;
+ /**
+ * The url is invalid.
+ *
+ * Generated from protobuf enum INVALID_URL = 44;
+ */
+ const INVALID_URL = 44;
+ /**
+ * Destination Url is deprecated.
+ *
+ * Generated from protobuf enum DESTINATION_URL_DEPRECATED = 45;
+ */
+ const DESTINATION_URL_DEPRECATED = 45;
+ /**
+ * The url contains invalid tag.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_URL = 46;
+ */
+ const INVALID_TAG_IN_URL = 46;
+ /**
+ * The url must contain at least one tag (e.g. {lpurl}), This applies only
+ * to urls associated with website ads or product ads.
+ *
+ * Generated from protobuf enum MISSING_URL_TAG = 47;
+ */
+ const MISSING_URL_TAG = 47;
+ /**
+ * Duplicate url id.
+ *
+ * Generated from protobuf enum DUPLICATE_URL_ID = 48;
+ */
+ const DUPLICATE_URL_ID = 48;
+ /**
+ * Invalid url id.
+ *
+ * Generated from protobuf enum INVALID_URL_ID = 49;
+ */
+ const INVALID_URL_ID = 49;
+ /**
+ * The final url suffix cannot begin with '?' or '&' characters and must be
+ * a valid query string.
+ *
+ * Generated from protobuf enum FINAL_URL_SUFFIX_MALFORMED = 50;
+ */
+ const FINAL_URL_SUFFIX_MALFORMED = 50;
+ /**
+ * The final url suffix cannot contain {lpurl} related or {ignore} tags.
+ *
+ * Generated from protobuf enum INVALID_TAG_IN_FINAL_URL_SUFFIX = 51;
+ */
+ const INVALID_TAG_IN_FINAL_URL_SUFFIX = 51;
+ /**
+ * The top level domain is invalid, e.g, not a public top level domain
+ * listed in publicsuffix.org.
+ *
+ * Generated from protobuf enum INVALID_TOP_LEVEL_DOMAIN = 53;
+ */
+ const INVALID_TOP_LEVEL_DOMAIN = 53;
+ /**
+ * Malformed top level domain in URL.
+ *
+ * Generated from protobuf enum MALFORMED_TOP_LEVEL_DOMAIN = 54;
+ */
+ const MALFORMED_TOP_LEVEL_DOMAIN = 54;
+ /**
+ * Malformed URL.
+ *
+ * Generated from protobuf enum MALFORMED_URL = 55;
+ */
+ const MALFORMED_URL = 55;
+ /**
+ * No host found in URL.
+ *
+ * Generated from protobuf enum MISSING_HOST = 56;
+ */
+ const MISSING_HOST = 56;
+ /**
+ * Custom parameter value cannot be null.
+ *
+ * Generated from protobuf enum NULL_CUSTOM_PARAMETER_VALUE = 57;
+ */
+ const NULL_CUSTOM_PARAMETER_VALUE = 57;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::INVALID_TRACKING_URL_TEMPLATE => 'INVALID_TRACKING_URL_TEMPLATE',
+ self::INVALID_TAG_IN_TRACKING_URL_TEMPLATE => 'INVALID_TAG_IN_TRACKING_URL_TEMPLATE',
+ self::MISSING_TRACKING_URL_TEMPLATE_TAG => 'MISSING_TRACKING_URL_TEMPLATE_TAG',
+ self::MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE => 'MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE',
+ self::INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE => 'INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE',
+ self::MALFORMED_TRACKING_URL_TEMPLATE => 'MALFORMED_TRACKING_URL_TEMPLATE',
+ self::MISSING_HOST_IN_TRACKING_URL_TEMPLATE => 'MISSING_HOST_IN_TRACKING_URL_TEMPLATE',
+ self::INVALID_TLD_IN_TRACKING_URL_TEMPLATE => 'INVALID_TLD_IN_TRACKING_URL_TEMPLATE',
+ self::REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG => 'REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG',
+ self::INVALID_FINAL_URL => 'INVALID_FINAL_URL',
+ self::INVALID_TAG_IN_FINAL_URL => 'INVALID_TAG_IN_FINAL_URL',
+ self::REDUNDANT_NESTED_FINAL_URL_TAG => 'REDUNDANT_NESTED_FINAL_URL_TAG',
+ self::MISSING_PROTOCOL_IN_FINAL_URL => 'MISSING_PROTOCOL_IN_FINAL_URL',
+ self::INVALID_PROTOCOL_IN_FINAL_URL => 'INVALID_PROTOCOL_IN_FINAL_URL',
+ self::MALFORMED_FINAL_URL => 'MALFORMED_FINAL_URL',
+ self::MISSING_HOST_IN_FINAL_URL => 'MISSING_HOST_IN_FINAL_URL',
+ self::INVALID_TLD_IN_FINAL_URL => 'INVALID_TLD_IN_FINAL_URL',
+ self::INVALID_FINAL_MOBILE_URL => 'INVALID_FINAL_MOBILE_URL',
+ self::INVALID_TAG_IN_FINAL_MOBILE_URL => 'INVALID_TAG_IN_FINAL_MOBILE_URL',
+ self::REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG => 'REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG',
+ self::MISSING_PROTOCOL_IN_FINAL_MOBILE_URL => 'MISSING_PROTOCOL_IN_FINAL_MOBILE_URL',
+ self::INVALID_PROTOCOL_IN_FINAL_MOBILE_URL => 'INVALID_PROTOCOL_IN_FINAL_MOBILE_URL',
+ self::MALFORMED_FINAL_MOBILE_URL => 'MALFORMED_FINAL_MOBILE_URL',
+ self::MISSING_HOST_IN_FINAL_MOBILE_URL => 'MISSING_HOST_IN_FINAL_MOBILE_URL',
+ self::INVALID_TLD_IN_FINAL_MOBILE_URL => 'INVALID_TLD_IN_FINAL_MOBILE_URL',
+ self::INVALID_FINAL_APP_URL => 'INVALID_FINAL_APP_URL',
+ self::INVALID_TAG_IN_FINAL_APP_URL => 'INVALID_TAG_IN_FINAL_APP_URL',
+ self::REDUNDANT_NESTED_FINAL_APP_URL_TAG => 'REDUNDANT_NESTED_FINAL_APP_URL_TAG',
+ self::MULTIPLE_APP_URLS_FOR_OSTYPE => 'MULTIPLE_APP_URLS_FOR_OSTYPE',
+ self::INVALID_OSTYPE => 'INVALID_OSTYPE',
+ self::INVALID_PROTOCOL_FOR_APP_URL => 'INVALID_PROTOCOL_FOR_APP_URL',
+ self::INVALID_PACKAGE_ID_FOR_APP_URL => 'INVALID_PACKAGE_ID_FOR_APP_URL',
+ self::URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT => 'URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT',
+ self::INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY => 'INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY',
+ self::INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE => 'INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE',
+ self::INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE => 'INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE',
+ self::REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG => 'REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG',
+ self::MISSING_PROTOCOL => 'MISSING_PROTOCOL',
+ self::INVALID_PROTOCOL => 'INVALID_PROTOCOL',
+ self::INVALID_URL => 'INVALID_URL',
+ self::DESTINATION_URL_DEPRECATED => 'DESTINATION_URL_DEPRECATED',
+ self::INVALID_TAG_IN_URL => 'INVALID_TAG_IN_URL',
+ self::MISSING_URL_TAG => 'MISSING_URL_TAG',
+ self::DUPLICATE_URL_ID => 'DUPLICATE_URL_ID',
+ self::INVALID_URL_ID => 'INVALID_URL_ID',
+ self::FINAL_URL_SUFFIX_MALFORMED => 'FINAL_URL_SUFFIX_MALFORMED',
+ self::INVALID_TAG_IN_FINAL_URL_SUFFIX => 'INVALID_TAG_IN_FINAL_URL_SUFFIX',
+ self::INVALID_TOP_LEVEL_DOMAIN => 'INVALID_TOP_LEVEL_DOMAIN',
+ self::MALFORMED_TOP_LEVEL_DOMAIN => 'MALFORMED_TOP_LEVEL_DOMAIN',
+ self::MALFORMED_URL => 'MALFORMED_URL',
+ self::MISSING_HOST => 'MISSING_HOST',
+ self::NULL_CUSTOM_PARAMETER_VALUE => 'NULL_CUSTOM_PARAMETER_VALUE',
+ ];
+
+ 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(UrlFieldError::class, \Google\Ads\GoogleAds\V2\Errors\UrlFieldErrorEnum_UrlFieldError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum_UrlFieldError.php b/src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum_UrlFieldError.php
new file mode 100644
index 000000000..4bf1b20b8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/UrlFieldErrorEnum_UrlFieldError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.UserListErrorEnum
+ */
+final class UserListErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\UserListError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum/UserListError.php b/src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum/UserListError.php
new file mode 100644
index 000000000..eb7c3cc8a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum/UserListError.php
@@ -0,0 +1,246 @@
+google.ads.googleads.v2.errors.UserListErrorEnum.UserListError
+ */
+class UserListError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Creating and updating external remarketing user lists is not supported.
+ *
+ * Generated from protobuf enum EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2;
+ */
+ const EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2;
+ /**
+ * Concrete type of user list is required.
+ *
+ * Generated from protobuf enum CONCRETE_TYPE_REQUIRED = 3;
+ */
+ const CONCRETE_TYPE_REQUIRED = 3;
+ /**
+ * Creating/updating user list conversion types requires specifying the
+ * conversion type Id.
+ *
+ * Generated from protobuf enum CONVERSION_TYPE_ID_REQUIRED = 4;
+ */
+ const CONVERSION_TYPE_ID_REQUIRED = 4;
+ /**
+ * Remarketing user list cannot have duplicate conversion types.
+ *
+ * Generated from protobuf enum DUPLICATE_CONVERSION_TYPES = 5;
+ */
+ const DUPLICATE_CONVERSION_TYPES = 5;
+ /**
+ * Conversion type is invalid/unknown.
+ *
+ * Generated from protobuf enum INVALID_CONVERSION_TYPE = 6;
+ */
+ const INVALID_CONVERSION_TYPE = 6;
+ /**
+ * User list description is empty or invalid.
+ *
+ * Generated from protobuf enum INVALID_DESCRIPTION = 7;
+ */
+ const INVALID_DESCRIPTION = 7;
+ /**
+ * User list name is empty or invalid.
+ *
+ * Generated from protobuf enum INVALID_NAME = 8;
+ */
+ const INVALID_NAME = 8;
+ /**
+ * Type of the UserList does not match.
+ *
+ * Generated from protobuf enum INVALID_TYPE = 9;
+ */
+ const INVALID_TYPE = 9;
+ /**
+ * Embedded logical user lists are not allowed.
+ *
+ * Generated from protobuf enum CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10;
+ */
+ const CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10;
+ /**
+ * User list rule operand is invalid.
+ *
+ * Generated from protobuf enum INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11;
+ */
+ const INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11;
+ /**
+ * Name is already being used for another user list for the account.
+ *
+ * Generated from protobuf enum NAME_ALREADY_USED = 12;
+ */
+ const NAME_ALREADY_USED = 12;
+ /**
+ * Name is required when creating a new conversion type.
+ *
+ * Generated from protobuf enum NEW_CONVERSION_TYPE_NAME_REQUIRED = 13;
+ */
+ const NEW_CONVERSION_TYPE_NAME_REQUIRED = 13;
+ /**
+ * The given conversion type name has been used.
+ *
+ * Generated from protobuf enum CONVERSION_TYPE_NAME_ALREADY_USED = 14;
+ */
+ const CONVERSION_TYPE_NAME_ALREADY_USED = 14;
+ /**
+ * Only an owner account may edit a user list.
+ *
+ * Generated from protobuf enum OWNERSHIP_REQUIRED_FOR_SET = 15;
+ */
+ const OWNERSHIP_REQUIRED_FOR_SET = 15;
+ /**
+ * Creating user list without setting type in oneof user_list field, or
+ * creating/updating read-only user list types is not allowed.
+ *
+ * Generated from protobuf enum USER_LIST_MUTATE_NOT_SUPPORTED = 16;
+ */
+ const USER_LIST_MUTATE_NOT_SUPPORTED = 16;
+ /**
+ * Rule is invalid.
+ *
+ * Generated from protobuf enum INVALID_RULE = 17;
+ */
+ const INVALID_RULE = 17;
+ /**
+ * The specified date range is empty.
+ *
+ * Generated from protobuf enum INVALID_DATE_RANGE = 27;
+ */
+ const INVALID_DATE_RANGE = 27;
+ /**
+ * A UserList which is privacy sensitive or legal rejected cannot be mutated
+ * by external users.
+ *
+ * Generated from protobuf enum CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28;
+ */
+ const CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28;
+ /**
+ * Maximum number of rulebased user lists a customer can have.
+ *
+ * Generated from protobuf enum MAX_NUM_RULEBASED_USERLISTS = 29;
+ */
+ const MAX_NUM_RULEBASED_USERLISTS = 29;
+ /**
+ * BasicUserList's billable record field cannot be modified once it is set.
+ *
+ * Generated from protobuf enum CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30;
+ */
+ const CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30;
+ /**
+ * crm_based_user_list.app_id field must be set when upload_key_type is
+ * MOBILE_ADVERTISING_ID.
+ *
+ * Generated from protobuf enum APP_ID_NOT_SET = 31;
+ */
+ const APP_ID_NOT_SET = 31;
+ /**
+ * Name of the user list is reserved for system generated lists and cannot
+ * be used.
+ *
+ * Generated from protobuf enum USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32;
+ */
+ const USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32;
+ /**
+ * Advertiser needs to be whitelisted to use remarketing lists created from
+ * advertiser uploaded data (e.g., Customer Match lists).
+ *
+ * Generated from protobuf enum ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33;
+ */
+ const ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33;
+ /**
+ * The provided rule_type is not supported for the user list.
+ *
+ * Generated from protobuf enum RULE_TYPE_IS_NOT_SUPPORTED = 34;
+ */
+ const RULE_TYPE_IS_NOT_SUPPORTED = 34;
+ /**
+ * Similar user list cannot be used as a logical user list operand.
+ *
+ * Generated from protobuf enum CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND = 35;
+ */
+ const CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND = 35;
+ /**
+ * Logical user list should not have a mix of CRM based user list and other
+ * types of lists in its rules.
+ *
+ * Generated from protobuf enum CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS = 36;
+ */
+ const CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS = 36;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED => 'EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED',
+ self::CONCRETE_TYPE_REQUIRED => 'CONCRETE_TYPE_REQUIRED',
+ self::CONVERSION_TYPE_ID_REQUIRED => 'CONVERSION_TYPE_ID_REQUIRED',
+ self::DUPLICATE_CONVERSION_TYPES => 'DUPLICATE_CONVERSION_TYPES',
+ self::INVALID_CONVERSION_TYPE => 'INVALID_CONVERSION_TYPE',
+ self::INVALID_DESCRIPTION => 'INVALID_DESCRIPTION',
+ self::INVALID_NAME => 'INVALID_NAME',
+ self::INVALID_TYPE => 'INVALID_TYPE',
+ self::CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND => 'CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND',
+ self::INVALID_USER_LIST_LOGICAL_RULE_OPERAND => 'INVALID_USER_LIST_LOGICAL_RULE_OPERAND',
+ self::NAME_ALREADY_USED => 'NAME_ALREADY_USED',
+ self::NEW_CONVERSION_TYPE_NAME_REQUIRED => 'NEW_CONVERSION_TYPE_NAME_REQUIRED',
+ self::CONVERSION_TYPE_NAME_ALREADY_USED => 'CONVERSION_TYPE_NAME_ALREADY_USED',
+ self::OWNERSHIP_REQUIRED_FOR_SET => 'OWNERSHIP_REQUIRED_FOR_SET',
+ self::USER_LIST_MUTATE_NOT_SUPPORTED => 'USER_LIST_MUTATE_NOT_SUPPORTED',
+ self::INVALID_RULE => 'INVALID_RULE',
+ self::INVALID_DATE_RANGE => 'INVALID_DATE_RANGE',
+ self::CAN_NOT_MUTATE_SENSITIVE_USERLIST => 'CAN_NOT_MUTATE_SENSITIVE_USERLIST',
+ self::MAX_NUM_RULEBASED_USERLISTS => 'MAX_NUM_RULEBASED_USERLISTS',
+ self::CANNOT_MODIFY_BILLABLE_RECORD_COUNT => 'CANNOT_MODIFY_BILLABLE_RECORD_COUNT',
+ self::APP_ID_NOT_SET => 'APP_ID_NOT_SET',
+ self::USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST => 'USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST',
+ self::ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA => 'ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA',
+ self::RULE_TYPE_IS_NOT_SUPPORTED => 'RULE_TYPE_IS_NOT_SUPPORTED',
+ self::CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND => 'CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND',
+ self::CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS => 'CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS',
+ ];
+
+ 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(UserListError::class, \Google\Ads\GoogleAds\V2\Errors\UserListErrorEnum_UserListError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum_UserListError.php b/src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum_UserListError.php
new file mode 100644
index 000000000..d816558c1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/UserListErrorEnum_UserListError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.errors.YoutubeVideoRegistrationErrorEnum
+ */
+final class YoutubeVideoRegistrationErrorEnum extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Errors\YoutubeVideoRegistrationError::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum/YoutubeVideoRegistrationError.php b/src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum/YoutubeVideoRegistrationError.php
new file mode 100644
index 000000000..16fc894b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum/YoutubeVideoRegistrationError.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.errors.YoutubeVideoRegistrationErrorEnum.YoutubeVideoRegistrationError
+ */
+class YoutubeVideoRegistrationError
+{
+ /**
+ * Enum unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * The received error code is not known in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Video to be registered wasn't found.
+ *
+ * Generated from protobuf enum VIDEO_NOT_FOUND = 2;
+ */
+ const VIDEO_NOT_FOUND = 2;
+ /**
+ * Video to be registered is not accessible (e.g. private).
+ *
+ * Generated from protobuf enum VIDEO_NOT_ACCESSIBLE = 3;
+ */
+ const VIDEO_NOT_ACCESSIBLE = 3;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::VIDEO_NOT_FOUND => 'VIDEO_NOT_FOUND',
+ self::VIDEO_NOT_ACCESSIBLE => 'VIDEO_NOT_ACCESSIBLE',
+ ];
+
+ 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(YoutubeVideoRegistrationError::class, \Google\Ads\GoogleAds\V2\Errors\YoutubeVideoRegistrationErrorEnum_YoutubeVideoRegistrationError::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum_YoutubeVideoRegistrationError.php b/src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum_YoutubeVideoRegistrationError.php
new file mode 100644
index 000000000..6ea43322e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Errors/YoutubeVideoRegistrationErrorEnum_YoutubeVideoRegistrationError.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.AccountBudget
+ */
+final class AccountBudget extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the account-level budget.
+ * AccountBudget resource names have the form:
+ * `customers/{customer_id}/accountBudgets/{account_budget_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The resource name of the billing setup associated with this account-level
+ * budget. BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 3;
+ */
+ private $billing_setup = null;
+ /**
+ * The status of this account-level budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4;
+ */
+ private $status = 0;
+ /**
+ * The name of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 5;
+ */
+ private $name = null;
+ /**
+ * The proposed start time of the account-level budget in
+ * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ * this is the time of request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 6;
+ */
+ private $proposed_start_date_time = null;
+ /**
+ * The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ * format.
+ * For example, if a new budget is approved after the proposed start time,
+ * the approved start time is the time of approval.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 7;
+ */
+ private $approved_start_date_time = null;
+ /**
+ * The total adjustments amount.
+ * An example of an adjustment is courtesy credits.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_adjustments_micros = 18;
+ */
+ private $total_adjustments_micros = null;
+ /**
+ * The value of Ads that have been served, in micros.
+ * This includes overdelivery costs, in which case a credit might be
+ * automatically applied to the budget (see total_adjustments_micros).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_served_micros = 19;
+ */
+ private $amount_served_micros = null;
+ /**
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 20;
+ */
+ private $purchase_order_number = null;
+ /**
+ * Notes associated with the budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 21;
+ */
+ private $notes = null;
+ /**
+ * The pending proposal to modify this budget, if applicable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudget.PendingAccountBudgetProposal pending_proposal = 22;
+ */
+ private $pending_proposal = null;
+ protected $proposed_end_time;
+ protected $approved_end_time;
+ protected $proposed_spending_limit;
+ protected $approved_spending_limit;
+ protected $adjusted_spending_limit;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the account-level budget.
+ * AccountBudget resource names have the form:
+ * `customers/{customer_id}/accountBudgets/{account_budget_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the account-level budget.
+ * @type \Google\Protobuf\StringValue $billing_setup
+ * The resource name of the billing setup associated with this account-level
+ * budget. BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ * @type int $status
+ * The status of this account-level budget.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the account-level budget.
+ * @type \Google\Protobuf\StringValue $proposed_start_date_time
+ * The proposed start time of the account-level budget in
+ * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ * this is the time of request.
+ * @type \Google\Protobuf\StringValue $approved_start_date_time
+ * The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ * format.
+ * For example, if a new budget is approved after the proposed start time,
+ * the approved start time is the time of approval.
+ * @type \Google\Protobuf\Int64Value $total_adjustments_micros
+ * The total adjustments amount.
+ * An example of an adjustment is courtesy credits.
+ * @type \Google\Protobuf\Int64Value $amount_served_micros
+ * The value of Ads that have been served, in micros.
+ * This includes overdelivery costs, in which case a credit might be
+ * automatically applied to the budget (see total_adjustments_micros).
+ * @type \Google\Protobuf\StringValue $purchase_order_number
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ * @type \Google\Protobuf\StringValue $notes
+ * Notes associated with the budget.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AccountBudget\PendingAccountBudgetProposal $pending_proposal
+ * The pending proposal to modify this budget, if applicable.
+ * @type \Google\Protobuf\StringValue $proposed_end_date_time
+ * The proposed end time in yyyy-MM-dd HH:mm:ss format.
+ * @type int $proposed_end_time_type
+ * The proposed end time as a well-defined type, e.g. FOREVER.
+ * @type \Google\Protobuf\StringValue $approved_end_date_time
+ * The approved end time in yyyy-MM-dd HH:mm:ss format.
+ * @type int $approved_end_time_type
+ * The approved end time as a well-defined type, e.g. FOREVER.
+ * @type \Google\Protobuf\Int64Value $proposed_spending_limit_micros
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ * @type int $proposed_spending_limit_type
+ * The proposed spending limit as a well-defined type, e.g. INFINITE.
+ * @type \Google\Protobuf\Int64Value $approved_spending_limit_micros
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit. This will only be populated if the proposed spending limit
+ * is finite, and will always be greater than or equal to the
+ * proposed spending limit.
+ * @type int $approved_spending_limit_type
+ * The approved spending limit as a well-defined type, e.g. INFINITE. This
+ * will only be populated if the approved spending limit is INFINITE.
+ * @type \Google\Protobuf\Int64Value $adjusted_spending_limit_micros
+ * The adjusted spending limit in micros. One million is equivalent to
+ * one unit.
+ * If the approved spending limit is finite, the adjusted
+ * spending limit may vary depending on the types of adjustments applied
+ * to this budget, if applicable.
+ * The different kinds of adjustments are described here:
+ * https://support.google.com/google-ads/answer/1704323
+ * For example, a debit adjustment reduces how much the account is
+ * allowed to spend.
+ * @type int $adjusted_spending_limit_type
+ * The adjusted spending limit as a well-defined type, e.g. INFINITE.
+ * This will only be populated if the adjusted spending limit is INFINITE,
+ * which is guaranteed to be true if the approved spending limit is
+ * INFINITE.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AccountBudget::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the account-level budget.
+ * AccountBudget resource names have the form:
+ * `customers/{customer_id}/accountBudgets/{account_budget_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the account-level budget.
+ * AccountBudget resource names have the form:
+ * `customers/{customer_id}/accountBudgets/{account_budget_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The resource name of the billing setup associated with this account-level
+ * budget. BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBillingSetup()
+ {
+ return $this->billing_setup;
+ }
+
+ /**
+ * Returns the unboxed value from getBillingSetup()
+
+ * The resource name of the billing setup associated with this account-level
+ * budget. BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 3;
+ * @return string|null
+ */
+ public function getBillingSetupUnwrapped()
+ {
+ $wrapper = $this->getBillingSetup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the billing setup associated with this account-level
+ * budget. BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBillingSetup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->billing_setup = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the billing setup associated with this account-level
+ * budget. BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBillingSetupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBillingSetup($wrappedVar);
+ }
+
+ /**
+ * The status of this account-level budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of this account-level budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetStatusEnum_AccountBudgetStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 5;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The proposed start time of the account-level budget in
+ * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ * this is the time of request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedStartDateTime()
+ {
+ return $this->proposed_start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getProposedStartDateTime()
+
+ * The proposed start time of the account-level budget in
+ * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ * this is the time of request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 6;
+ * @return string|null
+ */
+ public function getProposedStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getProposedStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The proposed start time of the account-level budget in
+ * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ * this is the time of request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->proposed_start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The proposed start time of the account-level budget in
+ * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ * this is the time of request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedStartDateTime($wrappedVar);
+ }
+
+ /**
+ * The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ * format.
+ * For example, if a new budget is approved after the proposed start time,
+ * the approved start time is the time of approval.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getApprovedStartDateTime()
+ {
+ return $this->approved_start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getApprovedStartDateTime()
+
+ * The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ * format.
+ * For example, if a new budget is approved after the proposed start time,
+ * the approved start time is the time of approval.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 7;
+ * @return string|null
+ */
+ public function getApprovedStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getApprovedStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ * format.
+ * For example, if a new budget is approved after the proposed start time,
+ * the approved start time is the time of approval.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setApprovedStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->approved_start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ * format.
+ * For example, if a new budget is approved after the proposed start time,
+ * the approved start time is the time of approval.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setApprovedStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setApprovedStartDateTime($wrappedVar);
+ }
+
+ /**
+ * The total adjustments amount.
+ * An example of an adjustment is courtesy credits.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_adjustments_micros = 18;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTotalAdjustmentsMicros()
+ {
+ return $this->total_adjustments_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTotalAdjustmentsMicros()
+
+ * The total adjustments amount.
+ * An example of an adjustment is courtesy credits.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_adjustments_micros = 18;
+ * @return int|string|null
+ */
+ public function getTotalAdjustmentsMicrosUnwrapped()
+ {
+ $wrapper = $this->getTotalAdjustmentsMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The total adjustments amount.
+ * An example of an adjustment is courtesy credits.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_adjustments_micros = 18;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTotalAdjustmentsMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->total_adjustments_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The total adjustments amount.
+ * An example of an adjustment is courtesy credits.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_adjustments_micros = 18;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTotalAdjustmentsMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTotalAdjustmentsMicros($wrappedVar);
+ }
+
+ /**
+ * The value of Ads that have been served, in micros.
+ * This includes overdelivery costs, in which case a credit might be
+ * automatically applied to the budget (see total_adjustments_micros).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_served_micros = 19;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAmountServedMicros()
+ {
+ return $this->amount_served_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getAmountServedMicros()
+
+ * The value of Ads that have been served, in micros.
+ * This includes overdelivery costs, in which case a credit might be
+ * automatically applied to the budget (see total_adjustments_micros).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_served_micros = 19;
+ * @return int|string|null
+ */
+ public function getAmountServedMicrosUnwrapped()
+ {
+ $wrapper = $this->getAmountServedMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of Ads that have been served, in micros.
+ * This includes overdelivery costs, in which case a credit might be
+ * automatically applied to the budget (see total_adjustments_micros).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_served_micros = 19;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAmountServedMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->amount_served_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The value of Ads that have been served, in micros.
+ * This includes overdelivery costs, in which case a credit might be
+ * automatically applied to the budget (see total_adjustments_micros).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_served_micros = 19;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAmountServedMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAmountServedMicros($wrappedVar);
+ }
+
+ /**
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 20;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPurchaseOrderNumber()
+ {
+ return $this->purchase_order_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPurchaseOrderNumber()
+
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 20;
+ * @return string|null
+ */
+ public function getPurchaseOrderNumberUnwrapped()
+ {
+ $wrapper = $this->getPurchaseOrderNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 20;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPurchaseOrderNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->purchase_order_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 20;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPurchaseOrderNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPurchaseOrderNumber($wrappedVar);
+ }
+
+ /**
+ * Notes associated with the budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 21;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getNotes()
+ {
+ return $this->notes;
+ }
+
+ /**
+ * Returns the unboxed value from getNotes()
+
+ * Notes associated with the budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 21;
+ * @return string|null
+ */
+ public function getNotesUnwrapped()
+ {
+ $wrapper = $this->getNotes();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Notes associated with the budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 21;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setNotes($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->notes = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Notes associated with the budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 21;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNotesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setNotes($wrappedVar);
+ }
+
+ /**
+ * The pending proposal to modify this budget, if applicable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudget.PendingAccountBudgetProposal pending_proposal = 22;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AccountBudget\PendingAccountBudgetProposal
+ */
+ public function getPendingProposal()
+ {
+ return $this->pending_proposal;
+ }
+
+ /**
+ * The pending proposal to modify this budget, if applicable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudget.PendingAccountBudgetProposal pending_proposal = 22;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AccountBudget\PendingAccountBudgetProposal $var
+ * @return $this
+ */
+ public function setPendingProposal($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AccountBudget_PendingAccountBudgetProposal::class);
+ $this->pending_proposal = $var;
+
+ return $this;
+ }
+
+ /**
+ * The proposed end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedEndDateTime()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Returns the unboxed value from getProposedEndDateTime()
+
+ * The proposed end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 8;
+ * @return string|null
+ */
+ public function getProposedEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getProposedEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The proposed end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The proposed end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The proposed end time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
+ * @return int
+ */
+ public function getProposedEndTimeType()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * The proposed end time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposedEndTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * The approved end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getApprovedEndDateTime()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Returns the unboxed value from getApprovedEndDateTime()
+
+ * The approved end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 10;
+ * @return string|null
+ */
+ public function getApprovedEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getApprovedEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The approved end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setApprovedEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The approved end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setApprovedEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setApprovedEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The approved end time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType approved_end_time_type = 11;
+ * @return int
+ */
+ public function getApprovedEndTimeType()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * The approved end time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType approved_end_time_type = 11;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovedEndTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 12;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getProposedSpendingLimitMicros()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * Returns the unboxed value from getProposedSpendingLimitMicros()
+
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 12;
+ * @return int|string|null
+ */
+ public function getProposedSpendingLimitMicrosUnwrapped()
+ {
+ $wrapper = $this->getProposedSpendingLimitMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 12;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setProposedSpendingLimitMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 12;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setProposedSpendingLimitMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setProposedSpendingLimitMicros($wrappedVar);
+ }
+
+ /**
+ * The proposed spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13;
+ * @return int
+ */
+ public function getProposedSpendingLimitType()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * The proposed spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposedSpendingLimitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit. This will only be populated if the proposed spending limit
+ * is finite, and will always be greater than or equal to the
+ * proposed spending limit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 14;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getApprovedSpendingLimitMicros()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * Returns the unboxed value from getApprovedSpendingLimitMicros()
+
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit. This will only be populated if the proposed spending limit
+ * is finite, and will always be greater than or equal to the
+ * proposed spending limit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 14;
+ * @return int|string|null
+ */
+ public function getApprovedSpendingLimitMicrosUnwrapped()
+ {
+ $wrapper = $this->getApprovedSpendingLimitMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit. This will only be populated if the proposed spending limit
+ * is finite, and will always be greater than or equal to the
+ * proposed spending limit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 14;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setApprovedSpendingLimitMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit. This will only be populated if the proposed spending limit
+ * is finite, and will always be greater than or equal to the
+ * proposed spending limit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 14;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setApprovedSpendingLimitMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setApprovedSpendingLimitMicros($wrappedVar);
+ }
+
+ /**
+ * The approved spending limit as a well-defined type, e.g. INFINITE. This
+ * will only be populated if the approved spending limit is INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15;
+ * @return int
+ */
+ public function getApprovedSpendingLimitType()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * The approved spending limit as a well-defined type, e.g. INFINITE. This
+ * will only be populated if the approved spending limit is INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovedSpendingLimitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * The adjusted spending limit in micros. One million is equivalent to
+ * one unit.
+ * If the approved spending limit is finite, the adjusted
+ * spending limit may vary depending on the types of adjustments applied
+ * to this budget, if applicable.
+ * The different kinds of adjustments are described here:
+ * https://support.google.com/google-ads/answer/1704323
+ * For example, a debit adjustment reduces how much the account is
+ * allowed to spend.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value adjusted_spending_limit_micros = 16;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAdjustedSpendingLimitMicros()
+ {
+ return $this->readOneof(16);
+ }
+
+ /**
+ * Returns the unboxed value from getAdjustedSpendingLimitMicros()
+
+ * The adjusted spending limit in micros. One million is equivalent to
+ * one unit.
+ * If the approved spending limit is finite, the adjusted
+ * spending limit may vary depending on the types of adjustments applied
+ * to this budget, if applicable.
+ * The different kinds of adjustments are described here:
+ * https://support.google.com/google-ads/answer/1704323
+ * For example, a debit adjustment reduces how much the account is
+ * allowed to spend.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value adjusted_spending_limit_micros = 16;
+ * @return int|string|null
+ */
+ public function getAdjustedSpendingLimitMicrosUnwrapped()
+ {
+ $wrapper = $this->getAdjustedSpendingLimitMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The adjusted spending limit in micros. One million is equivalent to
+ * one unit.
+ * If the approved spending limit is finite, the adjusted
+ * spending limit may vary depending on the types of adjustments applied
+ * to this budget, if applicable.
+ * The different kinds of adjustments are described here:
+ * https://support.google.com/google-ads/answer/1704323
+ * For example, a debit adjustment reduces how much the account is
+ * allowed to spend.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value adjusted_spending_limit_micros = 16;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAdjustedSpendingLimitMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(16, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The adjusted spending limit in micros. One million is equivalent to
+ * one unit.
+ * If the approved spending limit is finite, the adjusted
+ * spending limit may vary depending on the types of adjustments applied
+ * to this budget, if applicable.
+ * The different kinds of adjustments are described here:
+ * https://support.google.com/google-ads/answer/1704323
+ * For example, a debit adjustment reduces how much the account is
+ * allowed to spend.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value adjusted_spending_limit_micros = 16;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAdjustedSpendingLimitMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAdjustedSpendingLimitMicros($wrappedVar);
+ }
+
+ /**
+ * The adjusted spending limit as a well-defined type, e.g. INFINITE.
+ * This will only be populated if the adjusted spending limit is INFINITE,
+ * which is guaranteed to be true if the approved spending limit is
+ * INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17;
+ * @return int
+ */
+ public function getAdjustedSpendingLimitType()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * The adjusted spending limit as a well-defined type, e.g. INFINITE.
+ * This will only be populated if the adjusted spending limit is INFINITE,
+ * which is guaranteed to be true if the approved spending limit is
+ * INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdjustedSpendingLimitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getProposedEndTime()
+ {
+ return $this->whichOneof("proposed_end_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getApprovedEndTime()
+ {
+ return $this->whichOneof("approved_end_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getProposedSpendingLimit()
+ {
+ return $this->whichOneof("proposed_spending_limit");
+ }
+
+ /**
+ * @return string
+ */
+ public function getApprovedSpendingLimit()
+ {
+ return $this->whichOneof("approved_spending_limit");
+ }
+
+ /**
+ * @return string
+ */
+ public function getAdjustedSpendingLimit()
+ {
+ return $this->whichOneof("adjusted_spending_limit");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AccountBudget/PendingAccountBudgetProposal.php b/src/Google/Ads/GoogleAds/V2/Resources/AccountBudget/PendingAccountBudgetProposal.php
new file mode 100644
index 000000000..f40a09e71
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AccountBudget/PendingAccountBudgetProposal.php
@@ -0,0 +1,670 @@
+google.ads.googleads.v2.resources.AccountBudget.PendingAccountBudgetProposal
+ */
+final class PendingAccountBudgetProposal extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget_proposal = 1;
+ */
+ private $account_budget_proposal = null;
+ /**
+ * The type of this proposal, e.g. END to end the budget associated
+ * with this proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2;
+ */
+ private $proposal_type = 0;
+ /**
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The start time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ */
+ private $start_date_time = null;
+ /**
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 9;
+ */
+ private $purchase_order_number = null;
+ /**
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 10;
+ */
+ private $notes = null;
+ /**
+ * The time when this account-level budget proposal was created.
+ * Formatted as yyyy-MM-dd HH:mm:ss.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 11;
+ */
+ private $creation_date_time = null;
+ protected $end_time;
+ protected $spending_limit;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $account_budget_proposal
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ * @type int $proposal_type
+ * The type of this proposal, e.g. END to end the budget associated
+ * with this proposal.
+ * @type \Google\Protobuf\StringValue $name
+ * The name to assign to the account-level budget.
+ * @type \Google\Protobuf\StringValue $start_date_time
+ * The start time in yyyy-MM-dd HH:mm:ss format.
+ * @type \Google\Protobuf\StringValue $purchase_order_number
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ * @type \Google\Protobuf\StringValue $notes
+ * Notes associated with this budget.
+ * @type \Google\Protobuf\StringValue $creation_date_time
+ * The time when this account-level budget proposal was created.
+ * Formatted as yyyy-MM-dd HH:mm:ss.
+ * @type \Google\Protobuf\StringValue $end_date_time
+ * The end time in yyyy-MM-dd HH:mm:ss format.
+ * @type int $end_time_type
+ * The end time as a well-defined type, e.g. FOREVER.
+ * @type \Google\Protobuf\Int64Value $spending_limit_micros
+ * The spending limit in micros. One million is equivalent to
+ * one unit.
+ * @type int $spending_limit_type
+ * The spending limit as a well-defined type, e.g. INFINITE.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AccountBudget::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget_proposal = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAccountBudgetProposal()
+ {
+ return $this->account_budget_proposal;
+ }
+
+ /**
+ * Returns the unboxed value from getAccountBudgetProposal()
+
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget_proposal = 1;
+ * @return string|null
+ */
+ public function getAccountBudgetProposalUnwrapped()
+ {
+ $wrapper = $this->getAccountBudgetProposal();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget_proposal = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAccountBudgetProposal($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->account_budget_proposal = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget_proposal = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAccountBudgetProposalUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAccountBudgetProposal($wrappedVar);
+ }
+
+ /**
+ * The type of this proposal, e.g. END to end the budget associated
+ * with this proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2;
+ * @return int
+ */
+ public function getProposalType()
+ {
+ return $this->proposal_type;
+ }
+
+ /**
+ * The type of this proposal, e.g. END to end the budget associated
+ * with this proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposalType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalTypeEnum_AccountBudgetProposalType::class);
+ $this->proposal_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The start time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDateTime()
+ {
+ return $this->start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDateTime()
+
+ * The start time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @return string|null
+ */
+ public function getStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The start time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The start time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDateTime($wrappedVar);
+ }
+
+ /**
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPurchaseOrderNumber()
+ {
+ return $this->purchase_order_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPurchaseOrderNumber()
+
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 9;
+ * @return string|null
+ */
+ public function getPurchaseOrderNumberUnwrapped()
+ {
+ $wrapper = $this->getPurchaseOrderNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPurchaseOrderNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->purchase_order_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A purchase order number is a value that helps users reference this budget
+ * in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue purchase_order_number = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPurchaseOrderNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPurchaseOrderNumber($wrappedVar);
+ }
+
+ /**
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getNotes()
+ {
+ return $this->notes;
+ }
+
+ /**
+ * Returns the unboxed value from getNotes()
+
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 10;
+ * @return string|null
+ */
+ public function getNotesUnwrapped()
+ {
+ $wrapper = $this->getNotes();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setNotes($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->notes = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue notes = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNotesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setNotes($wrappedVar);
+ }
+
+ /**
+ * The time when this account-level budget proposal was created.
+ * Formatted as yyyy-MM-dd HH:mm:ss.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCreationDateTime()
+ {
+ return $this->creation_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getCreationDateTime()
+
+ * The time when this account-level budget proposal was created.
+ * Formatted as yyyy-MM-dd HH:mm:ss.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 11;
+ * @return string|null
+ */
+ public function getCreationDateTimeUnwrapped()
+ {
+ $wrapper = $this->getCreationDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The time when this account-level budget proposal was created.
+ * Formatted as yyyy-MM-dd HH:mm:ss.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCreationDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->creation_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The time when this account-level budget proposal was created.
+ * Formatted as yyyy-MM-dd HH:mm:ss.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCreationDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCreationDateTime($wrappedVar);
+ }
+
+ /**
+ * The end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDateTime()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Returns the unboxed value from getEndDateTime()
+
+ * The end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @return string|null
+ */
+ public function getEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The end time in yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The end time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType end_time_type = 6;
+ * @return int
+ */
+ public function getEndTimeType()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * The end time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType end_time_type = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setEndTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * The spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value spending_limit_micros = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getSpendingLimitMicros()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Returns the unboxed value from getSpendingLimitMicros()
+
+ * The spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value spending_limit_micros = 7;
+ * @return int|string|null
+ */
+ public function getSpendingLimitMicrosUnwrapped()
+ {
+ $wrapper = $this->getSpendingLimitMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value spending_limit_micros = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setSpendingLimitMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value spending_limit_micros = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setSpendingLimitMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setSpendingLimitMicros($wrappedVar);
+ }
+
+ /**
+ * The spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8;
+ * @return int
+ */
+ public function getSpendingLimitType()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * The spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setSpendingLimitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getEndTime()
+ {
+ return $this->whichOneof("end_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getSpendingLimit()
+ {
+ return $this->whichOneof("spending_limit");
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PendingAccountBudgetProposal::class, \Google\Ads\GoogleAds\V2\Resources\AccountBudget_PendingAccountBudgetProposal::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php b/src/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php
new file mode 100644
index 000000000..829546117
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AccountBudgetProposal.php
@@ -0,0 +1,1222 @@
+google.ads.googleads.v2.resources.AccountBudgetProposal
+ */
+final class AccountBudgetProposal extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the proposal.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 14;
+ */
+ private $id = null;
+ /**
+ * The resource name of the billing setup associated with this proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 2;
+ */
+ private $billing_setup = null;
+ /**
+ * The resource name of the account-level budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget = 3;
+ */
+ private $account_budget = null;
+ /**
+ * The type of this proposal, e.g. END to end the budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4;
+ */
+ private $proposal_type = 0;
+ /**
+ * The status of this proposal.
+ * When a new proposal is created, the status defaults to PENDING.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15;
+ */
+ private $status = 0;
+ /**
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_name = 5;
+ */
+ private $proposed_name = null;
+ /**
+ * The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 20;
+ */
+ private $approved_start_date_time = null;
+ /**
+ * A purchase order number is a value that enables the user to help them
+ * reference this budget in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_purchase_order_number = 12;
+ */
+ private $proposed_purchase_order_number = null;
+ /**
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_notes = 13;
+ */
+ private $proposed_notes = null;
+ /**
+ * The date time when this account-level budget proposal was created, which is
+ * not the same as its approval date time, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 16;
+ */
+ private $creation_date_time = null;
+ /**
+ * The date time when this account-level budget was approved, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approval_date_time = 17;
+ */
+ private $approval_date_time = null;
+ protected $proposed_start_time;
+ protected $proposed_end_time;
+ protected $approved_end_time;
+ protected $proposed_spending_limit;
+ protected $approved_spending_limit;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the proposal.
+ * @type \Google\Protobuf\StringValue $billing_setup
+ * The resource name of the billing setup associated with this proposal.
+ * @type \Google\Protobuf\StringValue $account_budget
+ * The resource name of the account-level budget associated with this
+ * proposal.
+ * @type int $proposal_type
+ * The type of this proposal, e.g. END to end the budget associated with this
+ * proposal.
+ * @type int $status
+ * The status of this proposal.
+ * When a new proposal is created, the status defaults to PENDING.
+ * @type \Google\Protobuf\StringValue $proposed_name
+ * The name to assign to the account-level budget.
+ * @type \Google\Protobuf\StringValue $approved_start_date_time
+ * The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ * @type \Google\Protobuf\StringValue $proposed_purchase_order_number
+ * A purchase order number is a value that enables the user to help them
+ * reference this budget in their monthly invoices.
+ * @type \Google\Protobuf\StringValue $proposed_notes
+ * Notes associated with this budget.
+ * @type \Google\Protobuf\StringValue $creation_date_time
+ * The date time when this account-level budget proposal was created, which is
+ * not the same as its approval date time, if applicable.
+ * @type \Google\Protobuf\StringValue $approval_date_time
+ * The date time when this account-level budget was approved, if applicable.
+ * @type \Google\Protobuf\StringValue $proposed_start_date_time
+ * The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+ * @type int $proposed_start_time_type
+ * The proposed start date time as a well-defined type, e.g. NOW.
+ * @type \Google\Protobuf\StringValue $proposed_end_date_time
+ * The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+ * @type int $proposed_end_time_type
+ * The proposed end date time as a well-defined type, e.g. FOREVER.
+ * @type \Google\Protobuf\StringValue $approved_end_date_time
+ * The approved end date time in yyyy-mm-dd hh:mm:ss format.
+ * @type int $approved_end_time_type
+ * The approved end date time as a well-defined type, e.g. FOREVER.
+ * @type \Google\Protobuf\Int64Value $proposed_spending_limit_micros
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ * @type int $proposed_spending_limit_type
+ * The proposed spending limit as a well-defined type, e.g. INFINITE.
+ * @type \Google\Protobuf\Int64Value $approved_spending_limit_micros
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit.
+ * @type int $approved_spending_limit_type
+ * The approved spending limit as a well-defined type, e.g. INFINITE.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the proposal.
+ * AccountBudgetProposal resource names have the form:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the proposal.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 14;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the proposal.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 14;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the proposal.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 14;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the proposal.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 14;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The resource name of the billing setup associated with this proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBillingSetup()
+ {
+ return $this->billing_setup;
+ }
+
+ /**
+ * Returns the unboxed value from getBillingSetup()
+
+ * The resource name of the billing setup associated with this proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 2;
+ * @return string|null
+ */
+ public function getBillingSetupUnwrapped()
+ {
+ $wrapper = $this->getBillingSetup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the billing setup associated with this proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBillingSetup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->billing_setup = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the billing setup associated with this proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue billing_setup = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBillingSetupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBillingSetup($wrappedVar);
+ }
+
+ /**
+ * The resource name of the account-level budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAccountBudget()
+ {
+ return $this->account_budget;
+ }
+
+ /**
+ * Returns the unboxed value from getAccountBudget()
+
+ * The resource name of the account-level budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget = 3;
+ * @return string|null
+ */
+ public function getAccountBudgetUnwrapped()
+ {
+ $wrapper = $this->getAccountBudget();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the account-level budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAccountBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->account_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the account-level budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue account_budget = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAccountBudgetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAccountBudget($wrappedVar);
+ }
+
+ /**
+ * The type of this proposal, e.g. END to end the budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4;
+ * @return int
+ */
+ public function getProposalType()
+ {
+ return $this->proposal_type;
+ }
+
+ /**
+ * The type of this proposal, e.g. END to end the budget associated with this
+ * proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposalType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalTypeEnum_AccountBudgetProposalType::class);
+ $this->proposal_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The status of this proposal.
+ * When a new proposal is created, the status defaults to PENDING.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of this proposal.
+ * When a new proposal is created, the status defaults to PENDING.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_name = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedName()
+ {
+ return $this->proposed_name;
+ }
+
+ /**
+ * Returns the unboxed value from getProposedName()
+
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_name = 5;
+ * @return string|null
+ */
+ public function getProposedNameUnwrapped()
+ {
+ $wrapper = $this->getProposedName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_name = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->proposed_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name to assign to the account-level budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_name = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedName($wrappedVar);
+ }
+
+ /**
+ * The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 20;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getApprovedStartDateTime()
+ {
+ return $this->approved_start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getApprovedStartDateTime()
+
+ * The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 20;
+ * @return string|null
+ */
+ public function getApprovedStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getApprovedStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 20;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setApprovedStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->approved_start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_start_date_time = 20;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setApprovedStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setApprovedStartDateTime($wrappedVar);
+ }
+
+ /**
+ * A purchase order number is a value that enables the user to help them
+ * reference this budget in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_purchase_order_number = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedPurchaseOrderNumber()
+ {
+ return $this->proposed_purchase_order_number;
+ }
+
+ /**
+ * Returns the unboxed value from getProposedPurchaseOrderNumber()
+
+ * A purchase order number is a value that enables the user to help them
+ * reference this budget in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_purchase_order_number = 12;
+ * @return string|null
+ */
+ public function getProposedPurchaseOrderNumberUnwrapped()
+ {
+ $wrapper = $this->getProposedPurchaseOrderNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A purchase order number is a value that enables the user to help them
+ * reference this budget in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_purchase_order_number = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedPurchaseOrderNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->proposed_purchase_order_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A purchase order number is a value that enables the user to help them
+ * reference this budget in their monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_purchase_order_number = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedPurchaseOrderNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedPurchaseOrderNumber($wrappedVar);
+ }
+
+ /**
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_notes = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedNotes()
+ {
+ return $this->proposed_notes;
+ }
+
+ /**
+ * Returns the unboxed value from getProposedNotes()
+
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_notes = 13;
+ * @return string|null
+ */
+ public function getProposedNotesUnwrapped()
+ {
+ $wrapper = $this->getProposedNotes();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_notes = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedNotes($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->proposed_notes = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Notes associated with this budget.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_notes = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedNotesUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedNotes($wrappedVar);
+ }
+
+ /**
+ * The date time when this account-level budget proposal was created, which is
+ * not the same as its approval date time, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 16;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCreationDateTime()
+ {
+ return $this->creation_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getCreationDateTime()
+
+ * The date time when this account-level budget proposal was created, which is
+ * not the same as its approval date time, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 16;
+ * @return string|null
+ */
+ public function getCreationDateTimeUnwrapped()
+ {
+ $wrapper = $this->getCreationDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time when this account-level budget proposal was created, which is
+ * not the same as its approval date time, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 16;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCreationDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->creation_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time when this account-level budget proposal was created, which is
+ * not the same as its approval date time, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 16;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCreationDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCreationDateTime($wrappedVar);
+ }
+
+ /**
+ * The date time when this account-level budget was approved, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approval_date_time = 17;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getApprovalDateTime()
+ {
+ return $this->approval_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getApprovalDateTime()
+
+ * The date time when this account-level budget was approved, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approval_date_time = 17;
+ * @return string|null
+ */
+ public function getApprovalDateTimeUnwrapped()
+ {
+ $wrapper = $this->getApprovalDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time when this account-level budget was approved, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approval_date_time = 17;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setApprovalDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->approval_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time when this account-level budget was approved, if applicable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approval_date_time = 17;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setApprovalDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setApprovalDateTime($wrappedVar);
+ }
+
+ /**
+ * The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 18;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedStartDateTime()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * Returns the unboxed value from getProposedStartDateTime()
+
+ * The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 18;
+ * @return string|null
+ */
+ public function getProposedStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getProposedStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 18;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_start_date_time = 18;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedStartDateTime($wrappedVar);
+ }
+
+ /**
+ * The proposed start date time as a well-defined type, e.g. NOW.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7;
+ * @return int
+ */
+ public function getProposedStartTimeType()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * The proposed start date time as a well-defined type, e.g. NOW.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposedStartTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 19;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProposedEndDateTime()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * Returns the unboxed value from getProposedEndDateTime()
+
+ * The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 19;
+ * @return string|null
+ */
+ public function getProposedEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getProposedEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 19;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProposedEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue proposed_end_date_time = 19;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProposedEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProposedEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The proposed end date time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
+ * @return int
+ */
+ public function getProposedEndTimeType()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * The proposed end date time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposedEndTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * The approved end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 21;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getApprovedEndDateTime()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * Returns the unboxed value from getApprovedEndDateTime()
+
+ * The approved end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 21;
+ * @return string|null
+ */
+ public function getApprovedEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getApprovedEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The approved end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 21;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setApprovedEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The approved end date time in yyyy-mm-dd hh:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue approved_end_date_time = 21;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setApprovedEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setApprovedEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The approved end date time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType approved_end_time_type = 22;
+ * @return int
+ */
+ public function getApprovedEndTimeType()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * The approved end date time as a well-defined type, e.g. FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType approved_end_time_type = 22;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovedEndTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 10;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getProposedSpendingLimitMicros()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Returns the unboxed value from getProposedSpendingLimitMicros()
+
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 10;
+ * @return int|string|null
+ */
+ public function getProposedSpendingLimitMicrosUnwrapped()
+ {
+ $wrapper = $this->getProposedSpendingLimitMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 10;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setProposedSpendingLimitMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The proposed spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value proposed_spending_limit_micros = 10;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setProposedSpendingLimitMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setProposedSpendingLimitMicros($wrappedVar);
+ }
+
+ /**
+ * The proposed spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11;
+ * @return int
+ */
+ public function getProposedSpendingLimitType()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * The proposed spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11;
+ * @param int $var
+ * @return $this
+ */
+ public function setProposedSpendingLimitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 23;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getApprovedSpendingLimitMicros()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * Returns the unboxed value from getApprovedSpendingLimitMicros()
+
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 23;
+ * @return int|string|null
+ */
+ public function getApprovedSpendingLimitMicrosUnwrapped()
+ {
+ $wrapper = $this->getApprovedSpendingLimitMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 23;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setApprovedSpendingLimitMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The approved spending limit in micros. One million is equivalent to
+ * one unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value approved_spending_limit_micros = 23;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setApprovedSpendingLimitMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setApprovedSpendingLimitMicros($wrappedVar);
+ }
+
+ /**
+ * The approved spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24;
+ * @return int
+ */
+ public function getApprovedSpendingLimitType()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * The approved spending limit as a well-defined type, e.g. INFINITE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovedSpendingLimitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SpendingLimitTypeEnum_SpendingLimitType::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getProposedStartTime()
+ {
+ return $this->whichOneof("proposed_start_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getProposedEndTime()
+ {
+ return $this->whichOneof("proposed_end_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getApprovedEndTime()
+ {
+ return $this->whichOneof("approved_end_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getProposedSpendingLimit()
+ {
+ return $this->whichOneof("proposed_spending_limit");
+ }
+
+ /**
+ * @return string
+ */
+ public function getApprovedSpendingLimit()
+ {
+ return $this->whichOneof("approved_spending_limit");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AccountBudget_PendingAccountBudgetProposal.php b/src/Google/Ads/GoogleAds/V2/Resources/AccountBudget_PendingAccountBudgetProposal.php
new file mode 100644
index 000000000..cafc25820
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AccountBudget_PendingAccountBudgetProposal.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.Ad
+ */
+final class Ad extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad.
+ * Ad resource names have the form:
+ * `customers/{customer_id}/ads/{ad_id}`
+ *
+ * Generated from protobuf field string resource_name = 37;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ */
+ private $id = null;
+ /**
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 2;
+ */
+ private $final_urls;
+ /**
+ * A list of final app URLs that will be used on mobile if the user has the
+ * specific app installed.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.FinalAppUrl final_app_urls = 35;
+ */
+ private $final_app_urls;
+ /**
+ * The list of possible final mobile URLs after all cross-domain redirects
+ * for the ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 16;
+ */
+ private $final_mobile_urls;
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ */
+ private $tracking_url_template = null;
+ /**
+ * The list of mappings that can be used to substitute custom parameter tags
+ * in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 10;
+ */
+ private $url_custom_parameters;
+ /**
+ * The URL that appears in the ad description for some ad formats.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_url = 4;
+ */
+ private $display_url = null;
+ /**
+ * The type of ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdTypeEnum.AdType type = 5;
+ */
+ private $type = 0;
+ /**
+ * Indicates if this ad was automatically added by Google Ads and not by a
+ * user. For example, this could happen when ads are automatically created as
+ * suggestions for new ads based on knowledge of how existing ads are
+ * performing.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue added_by_google_ads = 19;
+ */
+ private $added_by_google_ads = null;
+ /**
+ * The device preference for the ad. You can only specify a preference for
+ * mobile devices. When this preference is set the ad will be preferred over
+ * other ads when being displayed on a mobile device. The ad can still be
+ * displayed on other device types, e.g. if no other ads are available.
+ * If unspecified (no device preference), all devices are targeted.
+ * This is only supported by some ad types.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device device_preference = 20;
+ */
+ private $device_preference = 0;
+ /**
+ * Additional URLs for the ad that are tagged with a unique identifier that
+ * can be referenced from other fields in the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UrlCollection url_collections = 26;
+ */
+ private $url_collections;
+ /**
+ * The name of the ad. This is only used to be able to identify the ad. It
+ * does not need to be unique and does not affect the served ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 23;
+ */
+ private $name = null;
+ /**
+ * If this ad is system managed, then this field will indicate the source.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27;
+ */
+ private $system_managed_resource_source = 0;
+ protected $ad_data;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad.
+ * Ad resource names have the form:
+ * `customers/{customer_id}/ads/{ad_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the ad.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\FinalAppUrl[]|\Google\Protobuf\Internal\RepeatedField $final_app_urls
+ * A list of final app URLs that will be used on mobile if the user has the
+ * specific app installed.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * The list of possible final mobile URLs after all cross-domain redirects
+ * for the ad.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * The URL template for constructing a tracking URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * The list of mappings that can be used to substitute custom parameter tags
+ * in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ * @type \Google\Protobuf\StringValue $display_url
+ * The URL that appears in the ad description for some ad formats.
+ * @type int $type
+ * The type of ad.
+ * @type \Google\Protobuf\BoolValue $added_by_google_ads
+ * Indicates if this ad was automatically added by Google Ads and not by a
+ * user. For example, this could happen when ads are automatically created as
+ * suggestions for new ads based on knowledge of how existing ads are
+ * performing.
+ * @type int $device_preference
+ * The device preference for the ad. You can only specify a preference for
+ * mobile devices. When this preference is set the ad will be preferred over
+ * other ads when being displayed on a mobile device. The ad can still be
+ * displayed on other device types, e.g. if no other ads are available.
+ * If unspecified (no device preference), all devices are targeted.
+ * This is only supported by some ad types.
+ * @type \Google\Ads\GoogleAds\V2\Common\UrlCollection[]|\Google\Protobuf\Internal\RepeatedField $url_collections
+ * Additional URLs for the ad that are tagged with a unique identifier that
+ * can be referenced from other fields in the ad.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the ad. This is only used to be able to identify the ad. It
+ * does not need to be unique and does not affect the served ad.
+ * @type int $system_managed_resource_source
+ * If this ad is system managed, then this field will indicate the source.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Common\TextAdInfo $text_ad
+ * Details pertaining to a text ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo $expanded_text_ad
+ * Details pertaining to an expanded text ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\CallOnlyAdInfo $call_only_ad
+ * Details pertaining to a call-only ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ExpandedDynamicSearchAdInfo $expanded_dynamic_search_ad
+ * Details pertaining to an Expanded Dynamic Search Ad.
+ * This type of ad has its headline, final URLs, and display URL
+ * auto-generated at serving time according to domain name specific
+ * information provided by `dynamic_search_ads_setting` linked at the
+ * campaign level.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelAdInfo $hotel_ad
+ * Details pertaining to a hotel ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ShoppingSmartAdInfo $shopping_smart_ad
+ * Details pertaining to a Smart Shopping ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ShoppingProductAdInfo $shopping_product_ad
+ * Details pertaining to a Shopping product ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\GmailAdInfo $gmail_ad
+ * Details pertaining to a Gmail ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ImageAdInfo $image_ad
+ * Details pertaining to an Image ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\VideoAdInfo $video_ad
+ * Details pertaining to a Video ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ResponsiveSearchAdInfo $responsive_search_ad
+ * Details pertaining to a responsive search ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\LegacyResponsiveDisplayAdInfo $legacy_responsive_display_ad
+ * Details pertaining to a legacy responsive display ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\AppAdInfo $app_ad
+ * Details pertaining to an app ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\LegacyAppInstallAdInfo $legacy_app_install_ad
+ * Details pertaining to a legacy app install ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ResponsiveDisplayAdInfo $responsive_display_ad
+ * Details pertaining to a responsive display ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\DisplayUploadAdInfo $display_upload_ad
+ * Details pertaining to a display upload ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\AppEngagementAdInfo $app_engagement_ad
+ * Details pertaining to an app engagement ad.
+ * @type \Google\Ads\GoogleAds\V2\Common\ShoppingComparisonListingAdInfo $shopping_comparison_listing_ad
+ * Details pertaining to a Shopping Comparison Listing ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Ad::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad.
+ * Ad resource names have the form:
+ * `customers/{customer_id}/ads/{ad_id}`
+ *
+ * Generated from protobuf field string resource_name = 37;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad.
+ * Ad resource names have the form:
+ * `customers/{customer_id}/ads/{ad_id}`
+ *
+ * Generated from protobuf field string resource_name = 37;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the ad.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 2;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A list of final app URLs that will be used on mobile if the user has the
+ * specific app installed.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.FinalAppUrl final_app_urls = 35;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalAppUrls()
+ {
+ return $this->final_app_urls;
+ }
+
+ /**
+ * A list of final app URLs that will be used on mobile if the user has the
+ * specific app installed.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.FinalAppUrl final_app_urls = 35;
+ * @param \Google\Ads\GoogleAds\V2\Common\FinalAppUrl[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalAppUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\FinalAppUrl::class);
+ $this->final_app_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The list of possible final mobile URLs after all cross-domain redirects
+ * for the ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 16;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * The list of possible final mobile URLs after all cross-domain redirects
+ * for the ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 16;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * The list of mappings that can be used to substitute custom parameter tags
+ * in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 10;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * The list of mappings that can be used to substitute custom parameter tags
+ * in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The URL that appears in the ad description for some ad formats.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_url = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDisplayUrl()
+ {
+ return $this->display_url;
+ }
+
+ /**
+ * Returns the unboxed value from getDisplayUrl()
+
+ * The URL that appears in the ad description for some ad formats.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_url = 4;
+ * @return string|null
+ */
+ public function getDisplayUrlUnwrapped()
+ {
+ $wrapper = $this->getDisplayUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL that appears in the ad description for some ad formats.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_url = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDisplayUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->display_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL that appears in the ad description for some ad formats.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_url = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDisplayUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDisplayUrl($wrappedVar);
+ }
+
+ /**
+ * The type of ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdTypeEnum.AdType type = 5;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdTypeEnum.AdType type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdTypeEnum_AdType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicates if this ad was automatically added by Google Ads and not by a
+ * user. For example, this could happen when ads are automatically created as
+ * suggestions for new ads based on knowledge of how existing ads are
+ * performing.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue added_by_google_ads = 19;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getAddedByGoogleAds()
+ {
+ return $this->added_by_google_ads;
+ }
+
+ /**
+ * Returns the unboxed value from getAddedByGoogleAds()
+
+ * Indicates if this ad was automatically added by Google Ads and not by a
+ * user. For example, this could happen when ads are automatically created as
+ * suggestions for new ads based on knowledge of how existing ads are
+ * performing.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue added_by_google_ads = 19;
+ * @return bool|null
+ */
+ public function getAddedByGoogleAdsUnwrapped()
+ {
+ $wrapper = $this->getAddedByGoogleAds();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates if this ad was automatically added by Google Ads and not by a
+ * user. For example, this could happen when ads are automatically created as
+ * suggestions for new ads based on knowledge of how existing ads are
+ * performing.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue added_by_google_ads = 19;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setAddedByGoogleAds($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->added_by_google_ads = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates if this ad was automatically added by Google Ads and not by a
+ * user. For example, this could happen when ads are automatically created as
+ * suggestions for new ads based on knowledge of how existing ads are
+ * performing.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue added_by_google_ads = 19;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setAddedByGoogleAdsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setAddedByGoogleAds($wrappedVar);
+ }
+
+ /**
+ * The device preference for the ad. You can only specify a preference for
+ * mobile devices. When this preference is set the ad will be preferred over
+ * other ads when being displayed on a mobile device. The ad can still be
+ * displayed on other device types, e.g. if no other ads are available.
+ * If unspecified (no device preference), all devices are targeted.
+ * This is only supported by some ad types.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device device_preference = 20;
+ * @return int
+ */
+ public function getDevicePreference()
+ {
+ return $this->device_preference;
+ }
+
+ /**
+ * The device preference for the ad. You can only specify a preference for
+ * mobile devices. When this preference is set the ad will be preferred over
+ * other ads when being displayed on a mobile device. The ad can still be
+ * displayed on other device types, e.g. if no other ads are available.
+ * If unspecified (no device preference), all devices are targeted.
+ * This is only supported by some ad types.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DeviceEnum.Device device_preference = 20;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevicePreference($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DeviceEnum_Device::class);
+ $this->device_preference = $var;
+
+ return $this;
+ }
+
+ /**
+ * Additional URLs for the ad that are tagged with a unique identifier that
+ * can be referenced from other fields in the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UrlCollection url_collections = 26;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCollections()
+ {
+ return $this->url_collections;
+ }
+
+ /**
+ * Additional URLs for the ad that are tagged with a unique identifier that
+ * can be referenced from other fields in the ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.UrlCollection url_collections = 26;
+ * @param \Google\Ads\GoogleAds\V2\Common\UrlCollection[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCollections($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\UrlCollection::class);
+ $this->url_collections = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The name of the ad. This is only used to be able to identify the ad. It
+ * does not need to be unique and does not affect the served ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 23;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the ad. This is only used to be able to identify the ad. It
+ * does not need to be unique and does not affect the served ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 23;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the ad. This is only used to be able to identify the ad. It
+ * does not need to be unique and does not affect the served ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 23;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the ad. This is only used to be able to identify the ad. It
+ * does not need to be unique and does not affect the served ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 23;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * If this ad is system managed, then this field will indicate the source.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27;
+ * @return int
+ */
+ public function getSystemManagedResourceSource()
+ {
+ return $this->system_managed_resource_source;
+ }
+
+ /**
+ * If this ad is system managed, then this field will indicate the source.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27;
+ * @param int $var
+ * @return $this
+ */
+ public function setSystemManagedResourceSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SystemManagedResourceSourceEnum_SystemManagedResourceSource::class);
+ $this->system_managed_resource_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a text ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextAdInfo text_ad = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\TextAdInfo
+ */
+ public function getTextAd()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * Details pertaining to a text ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextAdInfo text_ad = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\TextAdInfo $var
+ * @return $this
+ */
+ public function setTextAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TextAdInfo::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to an expanded text ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExpandedTextAdInfo expanded_text_ad = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo
+ */
+ public function getExpandedTextAd()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Details pertaining to an expanded text ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExpandedTextAdInfo expanded_text_ad = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo $var
+ * @return $this
+ */
+ public function setExpandedTextAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ExpandedTextAdInfo::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a call-only ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CallOnlyAdInfo call_only_ad = 13;
+ * @return \Google\Ads\GoogleAds\V2\Common\CallOnlyAdInfo
+ */
+ public function getCallOnlyAd()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * Details pertaining to a call-only ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CallOnlyAdInfo call_only_ad = 13;
+ * @param \Google\Ads\GoogleAds\V2\Common\CallOnlyAdInfo $var
+ * @return $this
+ */
+ public function setCallOnlyAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CallOnlyAdInfo::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to an Expanded Dynamic Search Ad.
+ * This type of ad has its headline, final URLs, and display URL
+ * auto-generated at serving time according to domain name specific
+ * information provided by `dynamic_search_ads_setting` linked at the
+ * campaign level.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14;
+ * @return \Google\Ads\GoogleAds\V2\Common\ExpandedDynamicSearchAdInfo
+ */
+ public function getExpandedDynamicSearchAd()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * Details pertaining to an Expanded Dynamic Search Ad.
+ * This type of ad has its headline, final URLs, and display URL
+ * auto-generated at serving time according to domain name specific
+ * information provided by `dynamic_search_ads_setting` linked at the
+ * campaign level.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14;
+ * @param \Google\Ads\GoogleAds\V2\Common\ExpandedDynamicSearchAdInfo $var
+ * @return $this
+ */
+ public function setExpandedDynamicSearchAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ExpandedDynamicSearchAdInfo::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a hotel ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelAdInfo hotel_ad = 15;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelAdInfo
+ */
+ public function getHotelAd()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * Details pertaining to a hotel ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelAdInfo hotel_ad = 15;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelAdInfo $var
+ * @return $this
+ */
+ public function setHotelAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelAdInfo::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a Smart Shopping ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ShoppingSmartAdInfo shopping_smart_ad = 17;
+ * @return \Google\Ads\GoogleAds\V2\Common\ShoppingSmartAdInfo
+ */
+ public function getShoppingSmartAd()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * Details pertaining to a Smart Shopping ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ShoppingSmartAdInfo shopping_smart_ad = 17;
+ * @param \Google\Ads\GoogleAds\V2\Common\ShoppingSmartAdInfo $var
+ * @return $this
+ */
+ public function setShoppingSmartAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ShoppingSmartAdInfo::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a Shopping product ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ShoppingProductAdInfo shopping_product_ad = 18;
+ * @return \Google\Ads\GoogleAds\V2\Common\ShoppingProductAdInfo
+ */
+ public function getShoppingProductAd()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * Details pertaining to a Shopping product ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ShoppingProductAdInfo shopping_product_ad = 18;
+ * @param \Google\Ads\GoogleAds\V2\Common\ShoppingProductAdInfo $var
+ * @return $this
+ */
+ public function setShoppingProductAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ShoppingProductAdInfo::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a Gmail ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GmailAdInfo gmail_ad = 21;
+ * @return \Google\Ads\GoogleAds\V2\Common\GmailAdInfo
+ */
+ public function getGmailAd()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * Details pertaining to a Gmail ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GmailAdInfo gmail_ad = 21;
+ * @param \Google\Ads\GoogleAds\V2\Common\GmailAdInfo $var
+ * @return $this
+ */
+ public function setGmailAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\GmailAdInfo::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to an Image ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageAdInfo image_ad = 22;
+ * @return \Google\Ads\GoogleAds\V2\Common\ImageAdInfo
+ */
+ public function getImageAd()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * Details pertaining to an Image ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageAdInfo image_ad = 22;
+ * @param \Google\Ads\GoogleAds\V2\Common\ImageAdInfo $var
+ * @return $this
+ */
+ public function setImageAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ImageAdInfo::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a Video ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoAdInfo video_ad = 24;
+ * @return \Google\Ads\GoogleAds\V2\Common\VideoAdInfo
+ */
+ public function getVideoAd()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * Details pertaining to a Video ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.VideoAdInfo video_ad = 24;
+ * @param \Google\Ads\GoogleAds\V2\Common\VideoAdInfo $var
+ * @return $this
+ */
+ public function setVideoAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\VideoAdInfo::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a responsive search ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ResponsiveSearchAdInfo responsive_search_ad = 25;
+ * @return \Google\Ads\GoogleAds\V2\Common\ResponsiveSearchAdInfo
+ */
+ public function getResponsiveSearchAd()
+ {
+ return $this->readOneof(25);
+ }
+
+ /**
+ * Details pertaining to a responsive search ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ResponsiveSearchAdInfo responsive_search_ad = 25;
+ * @param \Google\Ads\GoogleAds\V2\Common\ResponsiveSearchAdInfo $var
+ * @return $this
+ */
+ public function setResponsiveSearchAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ResponsiveSearchAdInfo::class);
+ $this->writeOneof(25, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a legacy responsive display ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28;
+ * @return \Google\Ads\GoogleAds\V2\Common\LegacyResponsiveDisplayAdInfo
+ */
+ public function getLegacyResponsiveDisplayAd()
+ {
+ return $this->readOneof(28);
+ }
+
+ /**
+ * Details pertaining to a legacy responsive display ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28;
+ * @param \Google\Ads\GoogleAds\V2\Common\LegacyResponsiveDisplayAdInfo $var
+ * @return $this
+ */
+ public function setLegacyResponsiveDisplayAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LegacyResponsiveDisplayAdInfo::class);
+ $this->writeOneof(28, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to an app ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppAdInfo app_ad = 29;
+ * @return \Google\Ads\GoogleAds\V2\Common\AppAdInfo
+ */
+ public function getAppAd()
+ {
+ return $this->readOneof(29);
+ }
+
+ /**
+ * Details pertaining to an app ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppAdInfo app_ad = 29;
+ * @param \Google\Ads\GoogleAds\V2\Common\AppAdInfo $var
+ * @return $this
+ */
+ public function setAppAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AppAdInfo::class);
+ $this->writeOneof(29, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a legacy app install ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30;
+ * @return \Google\Ads\GoogleAds\V2\Common\LegacyAppInstallAdInfo
+ */
+ public function getLegacyAppInstallAd()
+ {
+ return $this->readOneof(30);
+ }
+
+ /**
+ * Details pertaining to a legacy app install ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30;
+ * @param \Google\Ads\GoogleAds\V2\Common\LegacyAppInstallAdInfo $var
+ * @return $this
+ */
+ public function setLegacyAppInstallAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LegacyAppInstallAdInfo::class);
+ $this->writeOneof(30, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a responsive display ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ResponsiveDisplayAdInfo responsive_display_ad = 31;
+ * @return \Google\Ads\GoogleAds\V2\Common\ResponsiveDisplayAdInfo
+ */
+ public function getResponsiveDisplayAd()
+ {
+ return $this->readOneof(31);
+ }
+
+ /**
+ * Details pertaining to a responsive display ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ResponsiveDisplayAdInfo responsive_display_ad = 31;
+ * @param \Google\Ads\GoogleAds\V2\Common\ResponsiveDisplayAdInfo $var
+ * @return $this
+ */
+ public function setResponsiveDisplayAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ResponsiveDisplayAdInfo::class);
+ $this->writeOneof(31, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a display upload ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayUploadAdInfo display_upload_ad = 33;
+ * @return \Google\Ads\GoogleAds\V2\Common\DisplayUploadAdInfo
+ */
+ public function getDisplayUploadAd()
+ {
+ return $this->readOneof(33);
+ }
+
+ /**
+ * Details pertaining to a display upload ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DisplayUploadAdInfo display_upload_ad = 33;
+ * @param \Google\Ads\GoogleAds\V2\Common\DisplayUploadAdInfo $var
+ * @return $this
+ */
+ public function setDisplayUploadAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DisplayUploadAdInfo::class);
+ $this->writeOneof(33, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to an app engagement ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppEngagementAdInfo app_engagement_ad = 34;
+ * @return \Google\Ads\GoogleAds\V2\Common\AppEngagementAdInfo
+ */
+ public function getAppEngagementAd()
+ {
+ return $this->readOneof(34);
+ }
+
+ /**
+ * Details pertaining to an app engagement ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppEngagementAdInfo app_engagement_ad = 34;
+ * @param \Google\Ads\GoogleAds\V2\Common\AppEngagementAdInfo $var
+ * @return $this
+ */
+ public function setAppEngagementAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AppEngagementAdInfo::class);
+ $this->writeOneof(34, $var);
+
+ return $this;
+ }
+
+ /**
+ * Details pertaining to a Shopping Comparison Listing ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36;
+ * @return \Google\Ads\GoogleAds\V2\Common\ShoppingComparisonListingAdInfo
+ */
+ public function getShoppingComparisonListingAd()
+ {
+ return $this->readOneof(36);
+ }
+
+ /**
+ * Details pertaining to a Shopping Comparison Listing ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36;
+ * @param \Google\Ads\GoogleAds\V2\Common\ShoppingComparisonListingAdInfo $var
+ * @return $this
+ */
+ public function setShoppingComparisonListingAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ShoppingComparisonListingAdInfo::class);
+ $this->writeOneof(36, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getAdData()
+ {
+ return $this->whichOneof("ad_data");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroup.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroup.php
new file mode 100644
index 000000000..769f477c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroup.php
@@ -0,0 +1,1482 @@
+google.ads.googleads.v2.resources.AdGroup
+ */
+final class AdGroup extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group.
+ * Ad group resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the ad group.
+ * This field is required and should not be empty when creating new ad
+ * groups.
+ * It must contain fewer than 255 UTF-8 full-width characters.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The status of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupStatusEnum.AdGroupStatus status = 5;
+ */
+ private $status = 0;
+ /**
+ * The type of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupTypeEnum.AdGroupType type = 12;
+ */
+ private $type = 0;
+ /**
+ * The ad rotation mode of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22;
+ */
+ private $ad_rotation_mode = 0;
+ /**
+ * For draft or experiment ad groups, this field is the resource name of the
+ * base ad group from which this ad group was created. If a draft or
+ * experiment ad group does not have a base ad group, then this field is null.
+ * For base ad groups, this field equals the ad group resource name.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 18;
+ */
+ private $base_ad_group = null;
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ */
+ private $tracking_url_template = null;
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 6;
+ */
+ private $url_custom_parameters;
+ /**
+ * The campaign to which the ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 10;
+ */
+ private $campaign = null;
+ /**
+ * The maximum CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 14;
+ */
+ private $cpc_bid_micros = null;
+ /**
+ * The maximum CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 15;
+ */
+ private $cpm_bid_micros = null;
+ /**
+ * The target CPA (cost-per-acquisition).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 27;
+ */
+ private $target_cpa_micros = null;
+ /**
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 17;
+ */
+ private $cpv_bid_micros = null;
+ /**
+ * Average amount in micros that the advertiser is willing to pay for every
+ * thousand times the ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpm_micros = 26;
+ */
+ private $target_cpm_micros = null;
+ /**
+ * The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ * bidding strategy is a standard Target ROAS strategy, then this field
+ * overrides the target ROAS specified in the campaign's bidding strategy.
+ * Otherwise, this value is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 30;
+ */
+ private $target_roas = null;
+ /**
+ * The percent cpc bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 20;
+ */
+ private $percent_cpc_bid_micros = null;
+ /**
+ * Settings for the Display Campaign Optimizer, initially termed "Explorer".
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21;
+ */
+ private $explorer_auto_optimizer_setting = null;
+ /**
+ * Allows advertisers to specify a targeting dimension on which to place
+ * absolute bids. This is only applicable for campaigns that target only the
+ * display network and not search.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23;
+ */
+ private $display_custom_bid_dimension = 0;
+ /**
+ * URL template for appending params to Final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 24;
+ */
+ private $final_url_suffix = null;
+ /**
+ * Setting for targeting related features.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetingSetting targeting_setting = 25;
+ */
+ private $targeting_setting = null;
+ /**
+ * The effective target CPA (cost-per-acquisition).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_target_cpa_micros = 28;
+ */
+ private $effective_target_cpa_micros = null;
+ /**
+ * Source of the effective target CPA.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29;
+ */
+ private $effective_target_cpa_source = 0;
+ /**
+ * The effective target ROAS (return-on-ad-spend).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue effective_target_roas = 31;
+ */
+ private $effective_target_roas = null;
+ /**
+ * Source of the effective target ROAS.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32;
+ */
+ private $effective_target_roas_source = 0;
+ /**
+ * The resource names of labels attached to this ad group.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue labels = 33;
+ */
+ private $labels;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group.
+ * Ad group resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the ad group.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the ad group.
+ * This field is required and should not be empty when creating new ad
+ * groups.
+ * It must contain fewer than 255 UTF-8 full-width characters.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ * @type int $status
+ * The status of the ad group.
+ * @type int $type
+ * The type of the ad group.
+ * @type int $ad_rotation_mode
+ * The ad rotation mode of the ad group.
+ * @type \Google\Protobuf\StringValue $base_ad_group
+ * For draft or experiment ad groups, this field is the resource name of the
+ * base ad group from which this ad group was created. If a draft or
+ * experiment ad group does not have a base ad group, then this field is null.
+ * For base ad groups, this field equals the ad group resource name.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * The URL template for constructing a tracking URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign to which the ad group belongs.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * The maximum CPC (cost-per-click) bid.
+ * @type \Google\Protobuf\Int64Value $cpm_bid_micros
+ * The maximum CPM (cost-per-thousand viewable impressions) bid.
+ * @type \Google\Protobuf\Int64Value $target_cpa_micros
+ * The target CPA (cost-per-acquisition).
+ * @type \Google\Protobuf\Int64Value $cpv_bid_micros
+ * The CPV (cost-per-view) bid.
+ * @type \Google\Protobuf\Int64Value $target_cpm_micros
+ * Average amount in micros that the advertiser is willing to pay for every
+ * thousand times the ad is shown.
+ * @type \Google\Protobuf\DoubleValue $target_roas
+ * The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ * bidding strategy is a standard Target ROAS strategy, then this field
+ * overrides the target ROAS specified in the campaign's bidding strategy.
+ * Otherwise, this value is ignored.
+ * @type \Google\Protobuf\Int64Value $percent_cpc_bid_micros
+ * The percent cpc bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ * @type \Google\Ads\GoogleAds\V2\Common\ExplorerAutoOptimizerSetting $explorer_auto_optimizer_setting
+ * Settings for the Display Campaign Optimizer, initially termed "Explorer".
+ * @type int $display_custom_bid_dimension
+ * Allows advertisers to specify a targeting dimension on which to place
+ * absolute bids. This is only applicable for campaigns that target only the
+ * display network and not search.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * URL template for appending params to Final URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetingSetting $targeting_setting
+ * Setting for targeting related features.
+ * @type \Google\Protobuf\Int64Value $effective_target_cpa_micros
+ * The effective target CPA (cost-per-acquisition).
+ * This field is read-only.
+ * @type int $effective_target_cpa_source
+ * Source of the effective target CPA.
+ * This field is read-only.
+ * @type \Google\Protobuf\DoubleValue $effective_target_roas
+ * The effective target ROAS (return-on-ad-spend).
+ * This field is read-only.
+ * @type int $effective_target_roas_source
+ * Source of the effective target ROAS.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $labels
+ * The resource names of labels attached to this ad group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroup::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group.
+ * Ad group resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group.
+ * Ad group resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the ad group.
+ * This field is required and should not be empty when creating new ad
+ * groups.
+ * It must contain fewer than 255 UTF-8 full-width characters.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the ad group.
+ * This field is required and should not be empty when creating new ad
+ * groups.
+ * It must contain fewer than 255 UTF-8 full-width characters.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the ad group.
+ * This field is required and should not be empty when creating new ad
+ * groups.
+ * It must contain fewer than 255 UTF-8 full-width characters.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the ad group.
+ * This field is required and should not be empty when creating new ad
+ * groups.
+ * It must contain fewer than 255 UTF-8 full-width characters.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The status of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupStatusEnum.AdGroupStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupStatusEnum.AdGroupStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdGroupStatusEnum_AdGroupStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The type of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupTypeEnum.AdGroupType type = 12;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupTypeEnum.AdGroupType type = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdGroupTypeEnum_AdGroupType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad rotation mode of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22;
+ * @return int
+ */
+ public function getAdRotationMode()
+ {
+ return $this->ad_rotation_mode;
+ }
+
+ /**
+ * The ad rotation mode of the ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdRotationMode($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdGroupAdRotationModeEnum_AdGroupAdRotationMode::class);
+ $this->ad_rotation_mode = $var;
+
+ return $this;
+ }
+
+ /**
+ * For draft or experiment ad groups, this field is the resource name of the
+ * base ad group from which this ad group was created. If a draft or
+ * experiment ad group does not have a base ad group, then this field is null.
+ * For base ad groups, this field equals the ad group resource name.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 18;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBaseAdGroup()
+ {
+ return $this->base_ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getBaseAdGroup()
+
+ * For draft or experiment ad groups, this field is the resource name of the
+ * base ad group from which this ad group was created. If a draft or
+ * experiment ad group does not have a base ad group, then this field is null.
+ * For base ad groups, this field equals the ad group resource name.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 18;
+ * @return string|null
+ */
+ public function getBaseAdGroupUnwrapped()
+ {
+ $wrapper = $this->getBaseAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * For draft or experiment ad groups, this field is the resource name of the
+ * base ad group from which this ad group was created. If a draft or
+ * experiment ad group does not have a base ad group, then this field is null.
+ * For base ad groups, this field equals the ad group resource name.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 18;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBaseAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->base_ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * For draft or experiment ad groups, this field is the resource name of the
+ * base ad group from which this ad group was created. If a draft or
+ * experiment ad group does not have a base ad group, then this field is null.
+ * For base ad groups, this field equals the ad group resource name.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 18;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBaseAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBaseAdGroup($wrappedVar);
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 6;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The campaign to which the ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign to which the ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 10;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign to which the ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign to which the ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The maximum CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 14;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * The maximum CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 14;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The maximum CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 14;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The maximum CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 14;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * The maximum CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 15;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpmBidMicros()
+ {
+ return $this->cpm_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpmBidMicros()
+
+ * The maximum CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 15;
+ * @return int|string|null
+ */
+ public function getCpmBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpmBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The maximum CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 15;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpmBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpm_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The maximum CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 15;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpmBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpmBidMicros($wrappedVar);
+ }
+
+ /**
+ * The target CPA (cost-per-acquisition).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 27;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetCpaMicros()
+ {
+ return $this->target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetCpaMicros()
+
+ * The target CPA (cost-per-acquisition).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 27;
+ * @return int|string|null
+ */
+ public function getTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The target CPA (cost-per-acquisition).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 27;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The target CPA (cost-per-acquisition).
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 27;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetCpaMicros($wrappedVar);
+ }
+
+ /**
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 17;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpvBidMicros()
+ {
+ return $this->cpv_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpvBidMicros()
+
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 17;
+ * @return int|string|null
+ */
+ public function getCpvBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpvBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 17;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpvBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpv_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 17;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpvBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpvBidMicros($wrappedVar);
+ }
+
+ /**
+ * Average amount in micros that the advertiser is willing to pay for every
+ * thousand times the ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpm_micros = 26;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetCpmMicros()
+ {
+ return $this->target_cpm_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetCpmMicros()
+
+ * Average amount in micros that the advertiser is willing to pay for every
+ * thousand times the ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpm_micros = 26;
+ * @return int|string|null
+ */
+ public function getTargetCpmMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetCpmMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average amount in micros that the advertiser is willing to pay for every
+ * thousand times the ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpm_micros = 26;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetCpmMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_cpm_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Average amount in micros that the advertiser is willing to pay for every
+ * thousand times the ad is shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpm_micros = 26;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetCpmMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetCpmMicros($wrappedVar);
+ }
+
+ /**
+ * The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ * bidding strategy is a standard Target ROAS strategy, then this field
+ * overrides the target ROAS specified in the campaign's bidding strategy.
+ * Otherwise, this value is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 30;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getTargetRoas()
+ {
+ return $this->target_roas;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetRoas()
+
+ * The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ * bidding strategy is a standard Target ROAS strategy, then this field
+ * overrides the target ROAS specified in the campaign's bidding strategy.
+ * Otherwise, this value is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 30;
+ * @return float|null
+ */
+ public function getTargetRoasUnwrapped()
+ {
+ $wrapper = $this->getTargetRoas();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ * bidding strategy is a standard Target ROAS strategy, then this field
+ * overrides the target ROAS specified in the campaign's bidding strategy.
+ * Otherwise, this value is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 30;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setTargetRoas($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->target_roas = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ * bidding strategy is a standard Target ROAS strategy, then this field
+ * overrides the target ROAS specified in the campaign's bidding strategy.
+ * Otherwise, this value is ignored.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue target_roas = 30;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setTargetRoasUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setTargetRoas($wrappedVar);
+ }
+
+ /**
+ * The percent cpc bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 20;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPercentCpcBidMicros()
+ {
+ return $this->percent_cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getPercentCpcBidMicros()
+
+ * The percent cpc bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 20;
+ * @return int|string|null
+ */
+ public function getPercentCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getPercentCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The percent cpc bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 20;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPercentCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->percent_cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The percent cpc bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 20;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPercentCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPercentCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * Settings for the Display Campaign Optimizer, initially termed "Explorer".
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21;
+ * @return \Google\Ads\GoogleAds\V2\Common\ExplorerAutoOptimizerSetting
+ */
+ public function getExplorerAutoOptimizerSetting()
+ {
+ return $this->explorer_auto_optimizer_setting;
+ }
+
+ /**
+ * Settings for the Display Campaign Optimizer, initially termed "Explorer".
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21;
+ * @param \Google\Ads\GoogleAds\V2\Common\ExplorerAutoOptimizerSetting $var
+ * @return $this
+ */
+ public function setExplorerAutoOptimizerSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ExplorerAutoOptimizerSetting::class);
+ $this->explorer_auto_optimizer_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Allows advertisers to specify a targeting dimension on which to place
+ * absolute bids. This is only applicable for campaigns that target only the
+ * display network and not search.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23;
+ * @return int
+ */
+ public function getDisplayCustomBidDimension()
+ {
+ return $this->display_custom_bid_dimension;
+ }
+
+ /**
+ * Allows advertisers to specify a targeting dimension on which to place
+ * absolute bids. This is only applicable for campaigns that target only the
+ * display network and not search.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23;
+ * @param int $var
+ * @return $this
+ */
+ public function setDisplayCustomBidDimension($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TargetingDimensionEnum_TargetingDimension::class);
+ $this->display_custom_bid_dimension = $var;
+
+ return $this;
+ }
+
+ /**
+ * URL template for appending params to Final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 24;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * URL template for appending params to Final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 24;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for appending params to Final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 24;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for appending params to Final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 24;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+ /**
+ * Setting for targeting related features.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetingSetting targeting_setting = 25;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetingSetting
+ */
+ public function getTargetingSetting()
+ {
+ return $this->targeting_setting;
+ }
+
+ /**
+ * Setting for targeting related features.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetingSetting targeting_setting = 25;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetingSetting $var
+ * @return $this
+ */
+ public function setTargetingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetingSetting::class);
+ $this->targeting_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The effective target CPA (cost-per-acquisition).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_target_cpa_micros = 28;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEffectiveTargetCpaMicros()
+ {
+ return $this->effective_target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getEffectiveTargetCpaMicros()
+
+ * The effective target CPA (cost-per-acquisition).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_target_cpa_micros = 28;
+ * @return int|string|null
+ */
+ public function getEffectiveTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getEffectiveTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The effective target CPA (cost-per-acquisition).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_target_cpa_micros = 28;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEffectiveTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->effective_target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The effective target CPA (cost-per-acquisition).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_target_cpa_micros = 28;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEffectiveTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEffectiveTargetCpaMicros($wrappedVar);
+ }
+
+ /**
+ * Source of the effective target CPA.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29;
+ * @return int
+ */
+ public function getEffectiveTargetCpaSource()
+ {
+ return $this->effective_target_cpa_source;
+ }
+
+ /**
+ * Source of the effective target CPA.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29;
+ * @param int $var
+ * @return $this
+ */
+ public function setEffectiveTargetCpaSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+ $this->effective_target_cpa_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * The effective target ROAS (return-on-ad-spend).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue effective_target_roas = 31;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getEffectiveTargetRoas()
+ {
+ return $this->effective_target_roas;
+ }
+
+ /**
+ * Returns the unboxed value from getEffectiveTargetRoas()
+
+ * The effective target ROAS (return-on-ad-spend).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue effective_target_roas = 31;
+ * @return float|null
+ */
+ public function getEffectiveTargetRoasUnwrapped()
+ {
+ $wrapper = $this->getEffectiveTargetRoas();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The effective target ROAS (return-on-ad-spend).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue effective_target_roas = 31;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setEffectiveTargetRoas($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->effective_target_roas = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The effective target ROAS (return-on-ad-spend).
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue effective_target_roas = 31;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setEffectiveTargetRoasUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setEffectiveTargetRoas($wrappedVar);
+ }
+
+ /**
+ * Source of the effective target ROAS.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32;
+ * @return int
+ */
+ public function getEffectiveTargetRoasSource()
+ {
+ return $this->effective_target_roas_source;
+ }
+
+ /**
+ * Source of the effective target ROAS.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32;
+ * @param int $var
+ * @return $this
+ */
+ public function setEffectiveTargetRoasSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+ $this->effective_target_roas_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource names of labels attached to this ad group.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue labels = 33;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLabels()
+ {
+ return $this->labels;
+ }
+
+ /**
+ * The resource names of labels attached to this ad group.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue labels = 33;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLabels($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->labels = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php
new file mode 100644
index 000000000..4c7a15d24
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAd.php
@@ -0,0 +1,274 @@
+google.ads.googleads.v2.resources.AdGroupAd
+ */
+final class AdGroupAd extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad.
+ * Ad group ad resource names have the form:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The status of the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3;
+ */
+ private $status = 0;
+ /**
+ * The ad group to which the ad belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 4;
+ */
+ private $ad_group = null;
+ /**
+ * The ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 5;
+ */
+ private $ad = null;
+ /**
+ * Policy information for the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdPolicySummary policy_summary = 6;
+ */
+ private $policy_summary = null;
+ /**
+ * Overall ad strength for this ad group ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdStrengthEnum.AdStrength ad_strength = 7;
+ */
+ private $ad_strength = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad.
+ * Ad group ad resource names have the form:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ * @type int $status
+ * The status of the ad.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group to which the ad belongs.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Ad $ad
+ * The ad.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAdPolicySummary $policy_summary
+ * Policy information for the ad.
+ * @type int $ad_strength
+ * Overall ad strength for this ad group ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupAd::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad.
+ * Ad group ad resource names have the form:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad.
+ * Ad group ad resource names have the form:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The status of the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdGroupAdStatusEnum_AdGroupAdStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group to which the ad belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group to which the ad belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 4;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group to which the ad belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group to which the ad belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 5;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Ad
+ */
+ public function getAd()
+ {
+ return $this->ad;
+ }
+
+ /**
+ * The ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 5;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Ad $var
+ * @return $this
+ */
+ public function setAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Ad::class);
+ $this->ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * Policy information for the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdPolicySummary policy_summary = 6;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAdPolicySummary
+ */
+ public function getPolicySummary()
+ {
+ return $this->policy_summary;
+ }
+
+ /**
+ * Policy information for the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdPolicySummary policy_summary = 6;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAdPolicySummary $var
+ * @return $this
+ */
+ public function setPolicySummary($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAdPolicySummary::class);
+ $this->policy_summary = $var;
+
+ return $this;
+ }
+
+ /**
+ * Overall ad strength for this ad group ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdStrengthEnum.AdStrength ad_strength = 7;
+ * @return int
+ */
+ public function getAdStrength()
+ {
+ return $this->ad_strength;
+ }
+
+ /**
+ * Overall ad strength for this ad group ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdStrengthEnum.AdStrength ad_strength = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdStrength($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdStrengthEnum_AdStrength::class);
+ $this->ad_strength = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetPolicySummary.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetPolicySummary.php
new file mode 100644
index 000000000..895abf676
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetPolicySummary.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.resources.AdGroupAdAssetPolicySummary
+ */
+final class AdGroupAdAssetPolicySummary extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of policy findings for the ad group ad asset.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ */
+ private $policy_topic_entries;
+ /**
+ * Where in the review process this ad group ad asset is.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+ */
+ private $review_status = 0;
+ /**
+ * The overall approval status of this ad group ad asset, calculated based on
+ * the status of its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+ */
+ private $approval_status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $policy_topic_entries
+ * The list of policy findings for the ad group ad asset.
+ * @type int $review_status
+ * Where in the review process this ad group ad asset is.
+ * @type int $approval_status
+ * The overall approval status of this ad group ad asset, calculated based on
+ * the status of its individual policy topic entries.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of policy findings for the ad group ad asset.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPolicyTopicEntries()
+ {
+ return $this->policy_topic_entries;
+ }
+
+ /**
+ * The list of policy findings for the ad group ad asset.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPolicyTopicEntries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry::class);
+ $this->policy_topic_entries = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Where in the review process this ad group ad asset is.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+ * @return int
+ */
+ public function getReviewStatus()
+ {
+ return $this->review_status;
+ }
+
+ /**
+ * Where in the review process this ad group ad asset is.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setReviewStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyReviewStatusEnum_PolicyReviewStatus::class);
+ $this->review_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The overall approval status of this ad group ad asset, calculated based on
+ * the status of its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+ * @return int
+ */
+ public function getApprovalStatus()
+ {
+ return $this->approval_status;
+ }
+
+ /**
+ * The overall approval status of this ad group ad asset, calculated based on
+ * the status of its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovalStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyApprovalStatusEnum_PolicyApprovalStatus::class);
+ $this->approval_status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php
new file mode 100644
index 000000000..a8b0f42e5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdAssetView.php
@@ -0,0 +1,303 @@
+google.ads.googleads.v2.resources.AdGroupAdAssetView
+ */
+final class AdGroupAdAssetView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group ad asset view.
+ * Ad group ad asset view resource names have the form:
+ * `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ad group ad to which the asset is linked.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 5;
+ */
+ private $ad_group_ad = null;
+ /**
+ * The asset which is linked to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 6;
+ */
+ private $asset = null;
+ /**
+ * Role that the asset takes in the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2;
+ */
+ private $field_type = 0;
+ /**
+ * Policy information for the ad group ad asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdAssetPolicySummary policy_summary = 3;
+ */
+ private $policy_summary = null;
+ /**
+ * Performance of an asset linkage.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4;
+ */
+ private $performance_label = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group ad asset view.
+ * Ad group ad asset view resource names have the form:
+ * `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}`
+ * @type \Google\Protobuf\StringValue $ad_group_ad
+ * The ad group ad to which the asset is linked.
+ * @type \Google\Protobuf\StringValue $asset
+ * The asset which is linked to the ad group ad.
+ * @type int $field_type
+ * Role that the asset takes in the ad.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetPolicySummary $policy_summary
+ * Policy information for the ad group ad asset.
+ * @type int $performance_label
+ * Performance of an asset linkage.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group ad asset view.
+ * Ad group ad asset view resource names have the form:
+ * `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group ad asset view.
+ * Ad group ad asset view resource names have the form:
+ * `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group ad to which the asset is linked.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupAd()
+ {
+ return $this->ad_group_ad;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupAd()
+
+ * The ad group ad to which the asset is linked.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 5;
+ * @return string|null
+ */
+ public function getAdGroupAdUnwrapped()
+ {
+ $wrapper = $this->getAdGroupAd();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group ad to which the asset is linked.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group ad to which the asset is linked.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupAdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupAd($wrappedVar);
+ }
+
+ /**
+ * The asset which is linked to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAsset()
+ {
+ return $this->asset;
+ }
+
+ /**
+ * Returns the unboxed value from getAsset()
+
+ * The asset which is linked to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 6;
+ * @return string|null
+ */
+ public function getAssetUnwrapped()
+ {
+ $wrapper = $this->getAsset();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The asset which is linked to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->asset = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The asset which is linked to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue asset = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAssetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAsset($wrappedVar);
+ }
+
+ /**
+ * Role that the asset takes in the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2;
+ * @return int
+ */
+ public function getFieldType()
+ {
+ return $this->field_type;
+ }
+
+ /**
+ * Role that the asset takes in the ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setFieldType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AssetFieldTypeEnum_AssetFieldType::class);
+ $this->field_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Policy information for the ad group ad asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdAssetPolicySummary policy_summary = 3;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetPolicySummary
+ */
+ public function getPolicySummary()
+ {
+ return $this->policy_summary;
+ }
+
+ /**
+ * Policy information for the ad group ad asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdAssetPolicySummary policy_summary = 3;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetPolicySummary $var
+ * @return $this
+ */
+ public function setPolicySummary($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetPolicySummary::class);
+ $this->policy_summary = $var;
+
+ return $this;
+ }
+
+ /**
+ * Performance of an asset linkage.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4;
+ * @return int
+ */
+ public function getPerformanceLabel()
+ {
+ return $this->performance_label;
+ }
+
+ /**
+ * Performance of an asset linkage.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setPerformanceLabel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AssetPerformanceLabelEnum_AssetPerformanceLabel::class);
+ $this->performance_label = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php
new file mode 100644
index 000000000..b2ca9e499
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdLabel.php
@@ -0,0 +1,201 @@
+google.ads.googleads.v2.resources.AdGroupAdLabel
+ */
+final class AdGroupAdLabel extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group ad label.
+ * Ad group ad label resource names have the form:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ad group ad to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 2;
+ */
+ private $ad_group_ad = null;
+ /**
+ * The label assigned to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ */
+ private $label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group ad label.
+ * Ad group ad label resource names have the form:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+ * @type \Google\Protobuf\StringValue $ad_group_ad
+ * The ad group ad to which the label is attached.
+ * @type \Google\Protobuf\StringValue $label
+ * The label assigned to the ad group ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group ad label.
+ * Ad group ad label resource names have the form:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group ad label.
+ * Ad group ad label resource names have the form:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group ad to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupAd()
+ {
+ return $this->ad_group_ad;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupAd()
+
+ * The ad group ad to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 2;
+ * @return string|null
+ */
+ public function getAdGroupAdUnwrapped()
+ {
+ $wrapper = $this->getAdGroupAd();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group ad to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group ad to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupAdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupAd($wrappedVar);
+ }
+
+ /**
+ * The label assigned to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * Returns the unboxed value from getLabel()
+
+ * The label assigned to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return string|null
+ */
+ public function getLabelUnwrapped()
+ {
+ $wrapper = $this->getLabel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The label assigned to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The label assigned to the ad group ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLabelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLabel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdPolicySummary.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdPolicySummary.php
new file mode 100644
index 000000000..c10f88d6e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAdPolicySummary.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.resources.AdGroupAdPolicySummary
+ */
+final class AdGroupAdPolicySummary extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of policy findings for this ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ */
+ private $policy_topic_entries;
+ /**
+ * Where in the review process this ad is.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+ */
+ private $review_status = 0;
+ /**
+ * The overall approval status of this ad, calculated based on the status of
+ * its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+ */
+ private $approval_status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $policy_topic_entries
+ * The list of policy findings for this ad.
+ * @type int $review_status
+ * Where in the review process this ad is.
+ * @type int $approval_status
+ * The overall approval status of this ad, calculated based on the status of
+ * its individual policy topic entries.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupAd::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of policy findings for this ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPolicyTopicEntries()
+ {
+ return $this->policy_topic_entries;
+ }
+
+ /**
+ * The list of policy findings for this ad.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPolicyTopicEntries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry::class);
+ $this->policy_topic_entries = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Where in the review process this ad is.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+ * @return int
+ */
+ public function getReviewStatus()
+ {
+ return $this->review_status;
+ }
+
+ /**
+ * Where in the review process this ad is.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setReviewStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyReviewStatusEnum_PolicyReviewStatus::class);
+ $this->review_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The overall approval status of this ad, calculated based on the status of
+ * its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+ * @return int
+ */
+ public function getApprovalStatus()
+ {
+ return $this->approval_status;
+ }
+
+ /**
+ * The overall approval status of this ad, calculated based on the status of
+ * its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovalStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyApprovalStatusEnum_PolicyApprovalStatus::class);
+ $this->approval_status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php
new file mode 100644
index 000000000..440d857c7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupAudienceView.php
@@ -0,0 +1,78 @@
+google.ads.googleads.v2.resources.AdGroupAudienceView
+ */
+final class AdGroupAudienceView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group audience view.
+ * Ad group audience view resource names have the form:
+ * `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group audience view.
+ * Ad group audience view resource names have the form:
+ * `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupAudienceView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group audience view.
+ * Ad group audience view resource names have the form:
+ * `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group audience view.
+ * Ad group audience view resource names have the form:
+ * `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php
new file mode 100644
index 000000000..07fa3d8b1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupBidModifier.php
@@ -0,0 +1,580 @@
+google.ads.googleads.v2.resources.AdGroupBidModifier
+ */
+final class AdGroupBidModifier extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group bid modifier.
+ * Ad group bid modifier resource names have the form:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ad group to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ */
+ private $ad_group = null;
+ /**
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ */
+ private $criterion_id = null;
+ /**
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ */
+ private $bid_modifier = null;
+ /**
+ * The base ad group from which this draft/trial adgroup bid modifier was
+ * created. If ad_group is a base ad group then this field will be equal to
+ * ad_group. If the ad group was created in the draft or trial and has no
+ * corresponding base ad group, then this field will be null.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 9;
+ */
+ private $base_ad_group = null;
+ /**
+ * Bid modifier source.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10;
+ */
+ private $bid_modifier_source = 0;
+ protected $criterion;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group bid modifier.
+ * Ad group bid modifier resource names have the form:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group to which this criterion belongs.
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ * @type \Google\Protobuf\DoubleValue $bid_modifier
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ * Use 0 to opt out of a Device type.
+ * @type \Google\Protobuf\StringValue $base_ad_group
+ * The base ad group from which this draft/trial adgroup bid modifier was
+ * created. If ad_group is a base ad group then this field will be equal to
+ * ad_group. If the ad group was created in the draft or trial and has no
+ * corresponding base ad group, then this field will be null.
+ * This field is readonly.
+ * @type int $bid_modifier_source
+ * Bid modifier source.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelDateSelectionTypeInfo $hotel_date_selection_type
+ * Criterion for hotel date selection (default dates vs. user selected).
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelAdvanceBookingWindowInfo $hotel_advance_booking_window
+ * Criterion for number of days prior to the stay the booking is being made.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelLengthOfStayInfo $hotel_length_of_stay
+ * Criterion for length of hotel stay in nights.
+ * @type \Google\Ads\GoogleAds\V2\Common\HotelCheckInDayInfo $hotel_check_in_day
+ * Criterion for day of the week the booking is for.
+ * @type \Google\Ads\GoogleAds\V2\Common\DeviceInfo $device
+ * A device criterion.
+ * @type \Google\Ads\GoogleAds\V2\Common\PreferredContentInfo $preferred_content
+ * A preferred content criterion.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group bid modifier.
+ * Ad group bid modifier resource names have the form:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group bid modifier.
+ * Ad group bid modifier resource names have the form:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBidModifier()
+ {
+ return $this->bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getBidModifier()
+
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @return float|null
+ */
+ public function getBidModifierUnwrapped()
+ {
+ $wrapper = $this->getBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBidModifier($wrappedVar);
+ }
+
+ /**
+ * The base ad group from which this draft/trial adgroup bid modifier was
+ * created. If ad_group is a base ad group then this field will be equal to
+ * ad_group. If the ad group was created in the draft or trial and has no
+ * corresponding base ad group, then this field will be null.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBaseAdGroup()
+ {
+ return $this->base_ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getBaseAdGroup()
+
+ * The base ad group from which this draft/trial adgroup bid modifier was
+ * created. If ad_group is a base ad group then this field will be equal to
+ * ad_group. If the ad group was created in the draft or trial and has no
+ * corresponding base ad group, then this field will be null.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 9;
+ * @return string|null
+ */
+ public function getBaseAdGroupUnwrapped()
+ {
+ $wrapper = $this->getBaseAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The base ad group from which this draft/trial adgroup bid modifier was
+ * created. If ad_group is a base ad group then this field will be equal to
+ * ad_group. If the ad group was created in the draft or trial and has no
+ * corresponding base ad group, then this field will be null.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBaseAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->base_ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The base ad group from which this draft/trial adgroup bid modifier was
+ * created. If ad_group is a base ad group then this field will be equal to
+ * ad_group. If the ad group was created in the draft or trial and has no
+ * corresponding base ad group, then this field will be null.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_ad_group = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBaseAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBaseAdGroup($wrappedVar);
+ }
+
+ /**
+ * Bid modifier source.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10;
+ * @return int
+ */
+ public function getBidModifierSource()
+ {
+ return $this->bid_modifier_source;
+ }
+
+ /**
+ * Bid modifier source.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setBidModifierSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BidModifierSourceEnum_BidModifierSource::class);
+ $this->bid_modifier_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Criterion for hotel date selection (default dates vs. user selected).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelDateSelectionTypeInfo
+ */
+ public function getHotelDateSelectionType()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Criterion for hotel date selection (default dates vs. user selected).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelDateSelectionTypeInfo $var
+ * @return $this
+ */
+ public function setHotelDateSelectionType($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelDateSelectionTypeInfo::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Criterion for number of days prior to the stay the booking is being made.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelAdvanceBookingWindowInfo
+ */
+ public function getHotelAdvanceBookingWindow()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * Criterion for number of days prior to the stay the booking is being made.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelAdvanceBookingWindowInfo $var
+ * @return $this
+ */
+ public function setHotelAdvanceBookingWindow($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelAdvanceBookingWindowInfo::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Criterion for length of hotel stay in nights.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelLengthOfStayInfo hotel_length_of_stay = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelLengthOfStayInfo
+ */
+ public function getHotelLengthOfStay()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Criterion for length of hotel stay in nights.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelLengthOfStayInfo hotel_length_of_stay = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelLengthOfStayInfo $var
+ * @return $this
+ */
+ public function setHotelLengthOfStay($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelLengthOfStayInfo::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Criterion for day of the week the booking is for.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelCheckInDayInfo hotel_check_in_day = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\HotelCheckInDayInfo
+ */
+ public function getHotelCheckInDay()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Criterion for day of the week the booking is for.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.HotelCheckInDayInfo hotel_check_in_day = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\HotelCheckInDayInfo $var
+ * @return $this
+ */
+ public function setHotelCheckInDay($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\HotelCheckInDayInfo::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * A device criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DeviceInfo device = 11;
+ * @return \Google\Ads\GoogleAds\V2\Common\DeviceInfo
+ */
+ public function getDevice()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * A device criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DeviceInfo device = 11;
+ * @param \Google\Ads\GoogleAds\V2\Common\DeviceInfo $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DeviceInfo::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * A preferred content criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PreferredContentInfo preferred_content = 12;
+ * @return \Google\Ads\GoogleAds\V2\Common\PreferredContentInfo
+ */
+ public function getPreferredContent()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * A preferred content criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PreferredContentInfo preferred_content = 12;
+ * @param \Google\Ads\GoogleAds\V2\Common\PreferredContentInfo $var
+ * @return $this
+ */
+ public function setPreferredContent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PreferredContentInfo::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCriterion()
+ {
+ return $this->whichOneof("criterion");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php
new file mode 100644
index 000000000..91f197d64
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion.php
@@ -0,0 +1,1956 @@
+google.ads.googleads.v2.resources.AdGroupCriterion
+ */
+final class AdGroupCriterion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group criterion.
+ * Ad group criterion resource names have the form:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ */
+ private $criterion_id = null;
+ /**
+ * The status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
+ */
+ private $status = 0;
+ /**
+ * Information regarding the quality of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion.QualityInfo quality_info = 4;
+ */
+ private $quality_info = null;
+ /**
+ * The ad group to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ */
+ private $ad_group = null;
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 25;
+ */
+ private $type = 0;
+ /**
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * This field is immutable. To switch a criterion from positive to negative,
+ * remove then re-add it.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 31;
+ */
+ private $negative = null;
+ /**
+ * Serving status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52;
+ */
+ private $system_serving_status = 0;
+ /**
+ * Approval status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53;
+ */
+ private $approval_status = 0;
+ /**
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 44;
+ */
+ private $bid_modifier = null;
+ /**
+ * The CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 16;
+ */
+ private $cpc_bid_micros = null;
+ /**
+ * The CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 17;
+ */
+ private $cpm_bid_micros = null;
+ /**
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 24;
+ */
+ private $cpv_bid_micros = null;
+ /**
+ * The CPC bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 33;
+ */
+ private $percent_cpc_bid_micros = null;
+ /**
+ * The effective CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpc_bid_micros = 18;
+ */
+ private $effective_cpc_bid_micros = null;
+ /**
+ * The effective CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpm_bid_micros = 19;
+ */
+ private $effective_cpm_bid_micros = null;
+ /**
+ * The effective CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpv_bid_micros = 20;
+ */
+ private $effective_cpv_bid_micros = null;
+ /**
+ * The effective Percent CPC bid amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
+ */
+ private $effective_percent_cpc_bid_micros = null;
+ /**
+ * Source of the effective CPC bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
+ */
+ private $effective_cpc_bid_source = 0;
+ /**
+ * Source of the effective CPM bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
+ */
+ private $effective_cpm_bid_source = 0;
+ /**
+ * Source of the effective CPV bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
+ */
+ private $effective_cpv_bid_source = 0;
+ /**
+ * Source of the effective Percent CPC bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35;
+ */
+ private $effective_percent_cpc_bid_source = 0;
+ /**
+ * Estimates for criterion bids at various positions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion.PositionEstimates position_estimates = 10;
+ */
+ private $position_estimates = null;
+ /**
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 11;
+ */
+ private $final_urls;
+ /**
+ * The list of possible final mobile URLs after all cross-domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 51;
+ */
+ private $final_mobile_urls;
+ /**
+ * URL template for appending params to final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 50;
+ */
+ private $final_url_suffix = null;
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ */
+ private $tracking_url_template = null;
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 14;
+ */
+ private $url_custom_parameters;
+ protected $criterion;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group criterion.
+ * Ad group criterion resource names have the form:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ * @type int $status
+ * The status of the criterion.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion\QualityInfo $quality_info
+ * Information regarding the quality of the criterion.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group to which the criterion belongs.
+ * @type int $type
+ * The type of the criterion.
+ * @type \Google\Protobuf\BoolValue $negative
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * This field is immutable. To switch a criterion from positive to negative,
+ * remove then re-add it.
+ * @type int $system_serving_status
+ * Serving status of the criterion.
+ * @type int $approval_status
+ * Approval status of the criterion.
+ * @type \Google\Protobuf\DoubleValue $bid_modifier
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * The CPC (cost-per-click) bid.
+ * @type \Google\Protobuf\Int64Value $cpm_bid_micros
+ * The CPM (cost-per-thousand viewable impressions) bid.
+ * @type \Google\Protobuf\Int64Value $cpv_bid_micros
+ * The CPV (cost-per-view) bid.
+ * @type \Google\Protobuf\Int64Value $percent_cpc_bid_micros
+ * The CPC bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ * @type \Google\Protobuf\Int64Value $effective_cpc_bid_micros
+ * The effective CPC (cost-per-click) bid.
+ * @type \Google\Protobuf\Int64Value $effective_cpm_bid_micros
+ * The effective CPM (cost-per-thousand viewable impressions) bid.
+ * @type \Google\Protobuf\Int64Value $effective_cpv_bid_micros
+ * The effective CPV (cost-per-view) bid.
+ * @type \Google\Protobuf\Int64Value $effective_percent_cpc_bid_micros
+ * The effective Percent CPC bid amount.
+ * @type int $effective_cpc_bid_source
+ * Source of the effective CPC bid.
+ * @type int $effective_cpm_bid_source
+ * Source of the effective CPM bid.
+ * @type int $effective_cpv_bid_source
+ * Source of the effective CPV bid.
+ * @type int $effective_percent_cpc_bid_source
+ * Source of the effective Percent CPC bid.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion\PositionEstimates $position_estimates
+ * Estimates for criterion bids at various positions.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_urls
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $final_mobile_urls
+ * The list of possible final mobile URLs after all cross-domain redirects.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * URL template for appending params to final URL.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * The URL template for constructing a tracking URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $keyword
+ * Keyword.
+ * @type \Google\Ads\GoogleAds\V2\Common\PlacementInfo $placement
+ * Placement.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $mobile_app_category
+ * Mobile app category.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $mobile_application
+ * Mobile application.
+ * @type \Google\Ads\GoogleAds\V2\Common\ListingGroupInfo $listing_group
+ * Listing group.
+ * @type \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo $age_range
+ * Age range.
+ * @type \Google\Ads\GoogleAds\V2\Common\GenderInfo $gender
+ * Gender.
+ * @type \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo $income_range
+ * Income range.
+ * @type \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo $parental_status
+ * Parental status.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListInfo $user_list
+ * User List.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $youtube_video
+ * YouTube Video.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $youtube_channel
+ * YouTube Channel.
+ * @type \Google\Ads\GoogleAds\V2\Common\TopicInfo $topic
+ * Topic.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserInterestInfo $user_interest
+ * User Interest.
+ * @type \Google\Ads\GoogleAds\V2\Common\WebpageInfo $webpage
+ * Webpage
+ * @type \Google\Ads\GoogleAds\V2\Common\AppPaymentModelInfo $app_payment_model
+ * App Payment Model.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomAffinityInfo $custom_affinity
+ * Custom Affinity.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomIntentInfo $custom_intent
+ * Custom Intent.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group criterion.
+ * Ad group criterion resource names have the form:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group criterion.
+ * Ad group criterion resource names have the form:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionStatusEnum_AdGroupCriterionStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Information regarding the quality of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion.QualityInfo quality_info = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion\QualityInfo
+ */
+ public function getQualityInfo()
+ {
+ return $this->quality_info;
+ }
+
+ /**
+ * Information regarding the quality of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion.QualityInfo quality_info = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion\QualityInfo $var
+ * @return $this
+ */
+ public function setQualityInfo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion_QualityInfo::class);
+ $this->quality_info = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 25;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 25;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum_CriterionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * This field is immutable. To switch a criterion from positive to negative,
+ * remove then re-add it.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 31;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getNegative()
+ {
+ return $this->negative;
+ }
+
+ /**
+ * Returns the unboxed value from getNegative()
+
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * This field is immutable. To switch a criterion from positive to negative,
+ * remove then re-add it.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 31;
+ * @return bool|null
+ */
+ public function getNegativeUnwrapped()
+ {
+ $wrapper = $this->getNegative();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * This field is immutable. To switch a criterion from positive to negative,
+ * remove then re-add it.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 31;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setNegative($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->negative = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * This field is immutable. To switch a criterion from positive to negative,
+ * remove then re-add it.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 31;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setNegativeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setNegative($wrappedVar);
+ }
+
+ /**
+ * Serving status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52;
+ * @return int
+ */
+ public function getSystemServingStatus()
+ {
+ return $this->system_serving_status;
+ }
+
+ /**
+ * Serving status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52;
+ * @param int $var
+ * @return $this
+ */
+ public function setSystemServingStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionSystemServingStatusEnum_CriterionSystemServingStatus::class);
+ $this->system_serving_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Approval status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53;
+ * @return int
+ */
+ public function getApprovalStatus()
+ {
+ return $this->approval_status;
+ }
+
+ /**
+ * Approval status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovalStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus::class);
+ $this->approval_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 44;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBidModifier()
+ {
+ return $this->bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getBidModifier()
+
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 44;
+ * @return float|null
+ */
+ public function getBidModifierUnwrapped()
+ {
+ $wrapper = $this->getBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 44;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The modifier for the bid when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 44;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBidModifier($wrappedVar);
+ }
+
+ /**
+ * The CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 16;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * The CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 16;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 16;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 16;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * The CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 17;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpmBidMicros()
+ {
+ return $this->cpm_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpmBidMicros()
+
+ * The CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 17;
+ * @return int|string|null
+ */
+ public function getCpmBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpmBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 17;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpmBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpm_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpm_bid_micros = 17;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpmBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpmBidMicros($wrappedVar);
+ }
+
+ /**
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 24;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpvBidMicros()
+ {
+ return $this->cpv_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpvBidMicros()
+
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 24;
+ * @return int|string|null
+ */
+ public function getCpvBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpvBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 24;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpvBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpv_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpv_bid_micros = 24;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpvBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpvBidMicros($wrappedVar);
+ }
+
+ /**
+ * The CPC bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 33;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPercentCpcBidMicros()
+ {
+ return $this->percent_cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getPercentCpcBidMicros()
+
+ * The CPC bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 33;
+ * @return int|string|null
+ */
+ public function getPercentCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getPercentCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CPC bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 33;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPercentCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->percent_cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The CPC bid amount, expressed as a fraction of the advertised price
+ * for some good or service. The valid range for the fraction is [0,1) and the
+ * value stored here is 1,000,000 * [fraction].
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value percent_cpc_bid_micros = 33;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPercentCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPercentCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * The effective CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpc_bid_micros = 18;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEffectiveCpcBidMicros()
+ {
+ return $this->effective_cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getEffectiveCpcBidMicros()
+
+ * The effective CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpc_bid_micros = 18;
+ * @return int|string|null
+ */
+ public function getEffectiveCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getEffectiveCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The effective CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpc_bid_micros = 18;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEffectiveCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->effective_cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The effective CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpc_bid_micros = 18;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEffectiveCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEffectiveCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * The effective CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpm_bid_micros = 19;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEffectiveCpmBidMicros()
+ {
+ return $this->effective_cpm_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getEffectiveCpmBidMicros()
+
+ * The effective CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpm_bid_micros = 19;
+ * @return int|string|null
+ */
+ public function getEffectiveCpmBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getEffectiveCpmBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The effective CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpm_bid_micros = 19;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEffectiveCpmBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->effective_cpm_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The effective CPM (cost-per-thousand viewable impressions) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpm_bid_micros = 19;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEffectiveCpmBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEffectiveCpmBidMicros($wrappedVar);
+ }
+
+ /**
+ * The effective CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpv_bid_micros = 20;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEffectiveCpvBidMicros()
+ {
+ return $this->effective_cpv_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getEffectiveCpvBidMicros()
+
+ * The effective CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpv_bid_micros = 20;
+ * @return int|string|null
+ */
+ public function getEffectiveCpvBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getEffectiveCpvBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The effective CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpv_bid_micros = 20;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEffectiveCpvBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->effective_cpv_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The effective CPV (cost-per-view) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_cpv_bid_micros = 20;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEffectiveCpvBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEffectiveCpvBidMicros($wrappedVar);
+ }
+
+ /**
+ * The effective Percent CPC bid amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEffectivePercentCpcBidMicros()
+ {
+ return $this->effective_percent_cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getEffectivePercentCpcBidMicros()
+
+ * The effective Percent CPC bid amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
+ * @return int|string|null
+ */
+ public function getEffectivePercentCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getEffectivePercentCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The effective Percent CPC bid amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEffectivePercentCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->effective_percent_cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The effective Percent CPC bid amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEffectivePercentCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEffectivePercentCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * Source of the effective CPC bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
+ * @return int
+ */
+ public function getEffectiveCpcBidSource()
+ {
+ return $this->effective_cpc_bid_source;
+ }
+
+ /**
+ * Source of the effective CPC bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
+ * @param int $var
+ * @return $this
+ */
+ public function setEffectiveCpcBidSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+ $this->effective_cpc_bid_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Source of the effective CPM bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
+ * @return int
+ */
+ public function getEffectiveCpmBidSource()
+ {
+ return $this->effective_cpm_bid_source;
+ }
+
+ /**
+ * Source of the effective CPM bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
+ * @param int $var
+ * @return $this
+ */
+ public function setEffectiveCpmBidSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+ $this->effective_cpm_bid_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Source of the effective CPV bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
+ * @return int
+ */
+ public function getEffectiveCpvBidSource()
+ {
+ return $this->effective_cpv_bid_source;
+ }
+
+ /**
+ * Source of the effective CPV bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
+ * @param int $var
+ * @return $this
+ */
+ public function setEffectiveCpvBidSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+ $this->effective_cpv_bid_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Source of the effective Percent CPC bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35;
+ * @return int
+ */
+ public function getEffectivePercentCpcBidSource()
+ {
+ return $this->effective_percent_cpc_bid_source;
+ }
+
+ /**
+ * Source of the effective Percent CPC bid.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35;
+ * @param int $var
+ * @return $this
+ */
+ public function setEffectivePercentCpcBidSource($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingSourceEnum_BiddingSource::class);
+ $this->effective_percent_cpc_bid_source = $var;
+
+ return $this;
+ }
+
+ /**
+ * Estimates for criterion bids at various positions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion.PositionEstimates position_estimates = 10;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion\PositionEstimates
+ */
+ public function getPositionEstimates()
+ {
+ return $this->position_estimates;
+ }
+
+ /**
+ * Estimates for criterion bids at various positions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion.PositionEstimates position_estimates = 10;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion\PositionEstimates $var
+ * @return $this
+ */
+ public function setPositionEstimates($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion_PositionEstimates::class);
+ $this->position_estimates = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 11;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalUrls()
+ {
+ return $this->final_urls;
+ }
+
+ /**
+ * The list of possible final URLs after all cross-domain redirects for the
+ * ad.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_urls = 11;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The list of possible final mobile URLs after all cross-domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 51;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFinalMobileUrls()
+ {
+ return $this->final_mobile_urls;
+ }
+
+ /**
+ * The list of possible final mobile URLs after all cross-domain redirects.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue final_mobile_urls = 51;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFinalMobileUrls($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->final_mobile_urls = $arr;
+
+ return $this;
+ }
+
+ /**
+ * URL template for appending params to final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 50;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * URL template for appending params to final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 50;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL template for appending params to final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 50;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL template for appending params to final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 50;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 14;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 14;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 27;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getKeyword()
+ {
+ return $this->readOneof(27);
+ }
+
+ /**
+ * Keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 27;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->writeOneof(27, $var);
+
+ return $this;
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 28;
+ * @return \Google\Ads\GoogleAds\V2\Common\PlacementInfo
+ */
+ public function getPlacement()
+ {
+ return $this->readOneof(28);
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 28;
+ * @param \Google\Ads\GoogleAds\V2\Common\PlacementInfo $var
+ * @return $this
+ */
+ public function setPlacement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PlacementInfo::class);
+ $this->writeOneof(28, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile app category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 29;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo
+ */
+ public function getMobileAppCategory()
+ {
+ return $this->readOneof(29);
+ }
+
+ /**
+ * Mobile app category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 29;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $var
+ * @return $this
+ */
+ public function setMobileAppCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo::class);
+ $this->writeOneof(29, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 30;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo
+ */
+ public function getMobileApplication()
+ {
+ return $this->readOneof(30);
+ }
+
+ /**
+ * Mobile application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 30;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $var
+ * @return $this
+ */
+ public function setMobileApplication($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo::class);
+ $this->writeOneof(30, $var);
+
+ return $this;
+ }
+
+ /**
+ * Listing group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingGroupInfo listing_group = 32;
+ * @return \Google\Ads\GoogleAds\V2\Common\ListingGroupInfo
+ */
+ public function getListingGroup()
+ {
+ return $this->readOneof(32);
+ }
+
+ /**
+ * Listing group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingGroupInfo listing_group = 32;
+ * @param \Google\Ads\GoogleAds\V2\Common\ListingGroupInfo $var
+ * @return $this
+ */
+ public function setListingGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ListingGroupInfo::class);
+ $this->writeOneof(32, $var);
+
+ return $this;
+ }
+
+ /**
+ * Age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AgeRangeInfo age_range = 36;
+ * @return \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo
+ */
+ public function getAgeRange()
+ {
+ return $this->readOneof(36);
+ }
+
+ /**
+ * Age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AgeRangeInfo age_range = 36;
+ * @param \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo $var
+ * @return $this
+ */
+ public function setAgeRange($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo::class);
+ $this->writeOneof(36, $var);
+
+ return $this;
+ }
+
+ /**
+ * Gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GenderInfo gender = 37;
+ * @return \Google\Ads\GoogleAds\V2\Common\GenderInfo
+ */
+ public function getGender()
+ {
+ return $this->readOneof(37);
+ }
+
+ /**
+ * Gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GenderInfo gender = 37;
+ * @param \Google\Ads\GoogleAds\V2\Common\GenderInfo $var
+ * @return $this
+ */
+ public function setGender($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\GenderInfo::class);
+ $this->writeOneof(37, $var);
+
+ return $this;
+ }
+
+ /**
+ * Income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.IncomeRangeInfo income_range = 38;
+ * @return \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo
+ */
+ public function getIncomeRange()
+ {
+ return $this->readOneof(38);
+ }
+
+ /**
+ * Income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.IncomeRangeInfo income_range = 38;
+ * @param \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo $var
+ * @return $this
+ */
+ public function setIncomeRange($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo::class);
+ $this->writeOneof(38, $var);
+
+ return $this;
+ }
+
+ /**
+ * Parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ParentalStatusInfo parental_status = 39;
+ * @return \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo
+ */
+ public function getParentalStatus()
+ {
+ return $this->readOneof(39);
+ }
+
+ /**
+ * Parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ParentalStatusInfo parental_status = 39;
+ * @param \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo $var
+ * @return $this
+ */
+ public function setParentalStatus($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo::class);
+ $this->writeOneof(39, $var);
+
+ return $this;
+ }
+
+ /**
+ * User List.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListInfo user_list = 42;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListInfo
+ */
+ public function getUserList()
+ {
+ return $this->readOneof(42);
+ }
+
+ /**
+ * User List.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListInfo user_list = 42;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListInfo $var
+ * @return $this
+ */
+ public function setUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListInfo::class);
+ $this->writeOneof(42, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 40;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo
+ */
+ public function getYoutubeVideo()
+ {
+ return $this->readOneof(40);
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 40;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $var
+ * @return $this
+ */
+ public function setYoutubeVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo::class);
+ $this->writeOneof(40, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 41;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo
+ */
+ public function getYoutubeChannel()
+ {
+ return $this->readOneof(41);
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 41;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $var
+ * @return $this
+ */
+ public function setYoutubeChannel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo::class);
+ $this->writeOneof(41, $var);
+
+ return $this;
+ }
+
+ /**
+ * Topic.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TopicInfo topic = 43;
+ * @return \Google\Ads\GoogleAds\V2\Common\TopicInfo
+ */
+ public function getTopic()
+ {
+ return $this->readOneof(43);
+ }
+
+ /**
+ * Topic.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TopicInfo topic = 43;
+ * @param \Google\Ads\GoogleAds\V2\Common\TopicInfo $var
+ * @return $this
+ */
+ public function setTopic($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TopicInfo::class);
+ $this->writeOneof(43, $var);
+
+ return $this;
+ }
+
+ /**
+ * User Interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserInterestInfo user_interest = 45;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserInterestInfo
+ */
+ public function getUserInterest()
+ {
+ return $this->readOneof(45);
+ }
+
+ /**
+ * User Interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserInterestInfo user_interest = 45;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserInterestInfo $var
+ * @return $this
+ */
+ public function setUserInterest($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserInterestInfo::class);
+ $this->writeOneof(45, $var);
+
+ return $this;
+ }
+
+ /**
+ * Webpage
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.WebpageInfo webpage = 46;
+ * @return \Google\Ads\GoogleAds\V2\Common\WebpageInfo
+ */
+ public function getWebpage()
+ {
+ return $this->readOneof(46);
+ }
+
+ /**
+ * Webpage
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.WebpageInfo webpage = 46;
+ * @param \Google\Ads\GoogleAds\V2\Common\WebpageInfo $var
+ * @return $this
+ */
+ public function setWebpage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\WebpageInfo::class);
+ $this->writeOneof(46, $var);
+
+ return $this;
+ }
+
+ /**
+ * App Payment Model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppPaymentModelInfo app_payment_model = 47;
+ * @return \Google\Ads\GoogleAds\V2\Common\AppPaymentModelInfo
+ */
+ public function getAppPaymentModel()
+ {
+ return $this->readOneof(47);
+ }
+
+ /**
+ * App Payment Model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppPaymentModelInfo app_payment_model = 47;
+ * @param \Google\Ads\GoogleAds\V2\Common\AppPaymentModelInfo $var
+ * @return $this
+ */
+ public function setAppPaymentModel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AppPaymentModelInfo::class);
+ $this->writeOneof(47, $var);
+
+ return $this;
+ }
+
+ /**
+ * Custom Affinity.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CustomAffinityInfo custom_affinity = 48;
+ * @return \Google\Ads\GoogleAds\V2\Common\CustomAffinityInfo
+ */
+ public function getCustomAffinity()
+ {
+ return $this->readOneof(48);
+ }
+
+ /**
+ * Custom Affinity.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CustomAffinityInfo custom_affinity = 48;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomAffinityInfo $var
+ * @return $this
+ */
+ public function setCustomAffinity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CustomAffinityInfo::class);
+ $this->writeOneof(48, $var);
+
+ return $this;
+ }
+
+ /**
+ * Custom Intent.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CustomIntentInfo custom_intent = 49;
+ * @return \Google\Ads\GoogleAds\V2\Common\CustomIntentInfo
+ */
+ public function getCustomIntent()
+ {
+ return $this->readOneof(49);
+ }
+
+ /**
+ * Custom Intent.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CustomIntentInfo custom_intent = 49;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomIntentInfo $var
+ * @return $this
+ */
+ public function setCustomIntent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CustomIntentInfo::class);
+ $this->writeOneof(49, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCriterion()
+ {
+ return $this->whichOneof("criterion");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/PositionEstimates.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/PositionEstimates.php
new file mode 100644
index 000000000..718126c47
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/PositionEstimates.php
@@ -0,0 +1,381 @@
+google.ads.googleads.v2.resources.AdGroupCriterion.PositionEstimates
+ */
+final class PositionEstimates extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The estimate of the CPC bid required for ad to be shown on first
+ * page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_page_cpc_micros = 1;
+ */
+ private $first_page_cpc_micros = null;
+ /**
+ * The estimate of the CPC bid required for ad to be displayed in first
+ * position, at the top of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_position_cpc_micros = 2;
+ */
+ private $first_position_cpc_micros = null;
+ /**
+ * The estimate of the CPC bid required for ad to be displayed at the top
+ * of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_of_page_cpc_micros = 3;
+ */
+ private $top_of_page_cpc_micros = null;
+ /**
+ * Estimate of how many clicks per week you might get by changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
+ */
+ private $estimated_add_clicks_at_first_position_cpc = null;
+ /**
+ * Estimate of how your cost per week might change when changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
+ */
+ private $estimated_add_cost_at_first_position_cpc = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $first_page_cpc_micros
+ * The estimate of the CPC bid required for ad to be shown on first
+ * page of search results.
+ * @type \Google\Protobuf\Int64Value $first_position_cpc_micros
+ * The estimate of the CPC bid required for ad to be displayed in first
+ * position, at the top of the first page of search results.
+ * @type \Google\Protobuf\Int64Value $top_of_page_cpc_micros
+ * The estimate of the CPC bid required for ad to be displayed at the top
+ * of the first page of search results.
+ * @type \Google\Protobuf\Int64Value $estimated_add_clicks_at_first_position_cpc
+ * Estimate of how many clicks per week you might get by changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ * @type \Google\Protobuf\Int64Value $estimated_add_cost_at_first_position_cpc
+ * Estimate of how your cost per week might change when changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The estimate of the CPC bid required for ad to be shown on first
+ * page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_page_cpc_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFirstPageCpcMicros()
+ {
+ return $this->first_page_cpc_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getFirstPageCpcMicros()
+
+ * The estimate of the CPC bid required for ad to be shown on first
+ * page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_page_cpc_micros = 1;
+ * @return int|string|null
+ */
+ public function getFirstPageCpcMicrosUnwrapped()
+ {
+ $wrapper = $this->getFirstPageCpcMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimate of the CPC bid required for ad to be shown on first
+ * page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_page_cpc_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFirstPageCpcMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->first_page_cpc_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimate of the CPC bid required for ad to be shown on first
+ * page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_page_cpc_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFirstPageCpcMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFirstPageCpcMicros($wrappedVar);
+ }
+
+ /**
+ * The estimate of the CPC bid required for ad to be displayed in first
+ * position, at the top of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_position_cpc_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFirstPositionCpcMicros()
+ {
+ return $this->first_position_cpc_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getFirstPositionCpcMicros()
+
+ * The estimate of the CPC bid required for ad to be displayed in first
+ * position, at the top of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_position_cpc_micros = 2;
+ * @return int|string|null
+ */
+ public function getFirstPositionCpcMicrosUnwrapped()
+ {
+ $wrapper = $this->getFirstPositionCpcMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimate of the CPC bid required for ad to be displayed in first
+ * position, at the top of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_position_cpc_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFirstPositionCpcMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->first_position_cpc_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimate of the CPC bid required for ad to be displayed in first
+ * position, at the top of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value first_position_cpc_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFirstPositionCpcMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFirstPositionCpcMicros($wrappedVar);
+ }
+
+ /**
+ * The estimate of the CPC bid required for ad to be displayed at the top
+ * of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_of_page_cpc_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTopOfPageCpcMicros()
+ {
+ return $this->top_of_page_cpc_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTopOfPageCpcMicros()
+
+ * The estimate of the CPC bid required for ad to be displayed at the top
+ * of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_of_page_cpc_micros = 3;
+ * @return int|string|null
+ */
+ public function getTopOfPageCpcMicrosUnwrapped()
+ {
+ $wrapper = $this->getTopOfPageCpcMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimate of the CPC bid required for ad to be displayed at the top
+ * of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_of_page_cpc_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTopOfPageCpcMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->top_of_page_cpc_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimate of the CPC bid required for ad to be displayed at the top
+ * of the first page of search results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value top_of_page_cpc_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTopOfPageCpcMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTopOfPageCpcMicros($wrappedVar);
+ }
+
+ /**
+ * Estimate of how many clicks per week you might get by changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEstimatedAddClicksAtFirstPositionCpc()
+ {
+ return $this->estimated_add_clicks_at_first_position_cpc;
+ }
+
+ /**
+ * Returns the unboxed value from getEstimatedAddClicksAtFirstPositionCpc()
+
+ * Estimate of how many clicks per week you might get by changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
+ * @return int|string|null
+ */
+ public function getEstimatedAddClicksAtFirstPositionCpcUnwrapped()
+ {
+ $wrapper = $this->getEstimatedAddClicksAtFirstPositionCpc();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Estimate of how many clicks per week you might get by changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEstimatedAddClicksAtFirstPositionCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->estimated_add_clicks_at_first_position_cpc = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Estimate of how many clicks per week you might get by changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEstimatedAddClicksAtFirstPositionCpcUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEstimatedAddClicksAtFirstPositionCpc($wrappedVar);
+ }
+
+ /**
+ * Estimate of how your cost per week might change when changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getEstimatedAddCostAtFirstPositionCpc()
+ {
+ return $this->estimated_add_cost_at_first_position_cpc;
+ }
+
+ /**
+ * Returns the unboxed value from getEstimatedAddCostAtFirstPositionCpc()
+
+ * Estimate of how your cost per week might change when changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
+ * @return int|string|null
+ */
+ public function getEstimatedAddCostAtFirstPositionCpcUnwrapped()
+ {
+ $wrapper = $this->getEstimatedAddCostAtFirstPositionCpc();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Estimate of how your cost per week might change when changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setEstimatedAddCostAtFirstPositionCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->estimated_add_cost_at_first_position_cpc = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Estimate of how your cost per week might change when changing your
+ * keyword bid to the value in first_position_cpc_micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setEstimatedAddCostAtFirstPositionCpcUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setEstimatedAddCostAtFirstPositionCpc($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PositionEstimates::class, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion_PositionEstimates::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/QualityInfo.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/QualityInfo.php
new file mode 100644
index 000000000..c47ba3eac
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion/QualityInfo.php
@@ -0,0 +1,213 @@
+google.ads.googleads.v2.resources.AdGroupCriterion.QualityInfo
+ */
+final class QualityInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The quality score.
+ * This field may not be populated if Google does not have enough
+ * information to determine a value.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value quality_score = 1;
+ */
+ private $quality_score = null;
+ /**
+ * The performance of the ad compared to other advertisers.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
+ */
+ private $creative_quality_score = 0;
+ /**
+ * The quality score of the landing page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
+ */
+ private $post_click_quality_score = 0;
+ /**
+ * The click-through rate compared to that of other advertisers.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4;
+ */
+ private $search_predicted_ctr = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int32Value $quality_score
+ * The quality score.
+ * This field may not be populated if Google does not have enough
+ * information to determine a value.
+ * @type int $creative_quality_score
+ * The performance of the ad compared to other advertisers.
+ * @type int $post_click_quality_score
+ * The quality score of the landing page.
+ * @type int $search_predicted_ctr
+ * The click-through rate compared to that of other advertisers.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The quality score.
+ * This field may not be populated if Google does not have enough
+ * information to determine a value.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value quality_score = 1;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getQualityScore()
+ {
+ return $this->quality_score;
+ }
+
+ /**
+ * Returns the unboxed value from getQualityScore()
+
+ * The quality score.
+ * This field may not be populated if Google does not have enough
+ * information to determine a value.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value quality_score = 1;
+ * @return int|null
+ */
+ public function getQualityScoreUnwrapped()
+ {
+ $wrapper = $this->getQualityScore();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The quality score.
+ * This field may not be populated if Google does not have enough
+ * information to determine a value.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value quality_score = 1;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setQualityScore($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->quality_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * The quality score.
+ * This field may not be populated if Google does not have enough
+ * information to determine a value.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value quality_score = 1;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setQualityScoreUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setQualityScore($wrappedVar);
+ }
+
+ /**
+ * The performance of the ad compared to other advertisers.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
+ * @return int
+ */
+ public function getCreativeQualityScore()
+ {
+ return $this->creative_quality_score;
+ }
+
+ /**
+ * The performance of the ad compared to other advertisers.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setCreativeQualityScore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+ $this->creative_quality_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * The quality score of the landing page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
+ * @return int
+ */
+ public function getPostClickQualityScore()
+ {
+ return $this->post_click_quality_score;
+ }
+
+ /**
+ * The quality score of the landing page.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setPostClickQualityScore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+ $this->post_click_quality_score = $var;
+
+ return $this;
+ }
+
+ /**
+ * The click-through rate compared to that of other advertisers.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4;
+ * @return int
+ */
+ public function getSearchPredictedCtr()
+ {
+ return $this->search_predicted_ctr;
+ }
+
+ /**
+ * The click-through rate compared to that of other advertisers.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setSearchPredictedCtr($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\QualityScoreBucketEnum_QualityScoreBucket::class);
+ $this->search_predicted_ctr = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(QualityInfo::class, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion_QualityInfo::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php
new file mode 100644
index 000000000..300b0c8a3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionLabel.php
@@ -0,0 +1,201 @@
+google.ads.googleads.v2.resources.AdGroupCriterionLabel
+ */
+final class AdGroupCriterionLabel extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group criterion label.
+ * Ad group criterion label resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ad group criterion to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ */
+ private $ad_group_criterion = null;
+ /**
+ * The label assigned to the ad group criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ */
+ private $label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group criterion label.
+ * Ad group criterion label resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ * @type \Google\Protobuf\StringValue $ad_group_criterion
+ * The ad group criterion to which the label is attached.
+ * @type \Google\Protobuf\StringValue $label
+ * The label assigned to the ad group criterion.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group criterion label.
+ * Ad group criterion label resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group criterion label.
+ * Ad group criterion label resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group criterion to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupCriterion()
+ {
+ return $this->ad_group_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupCriterion()
+
+ * The ad group criterion to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @return string|null
+ */
+ public function getAdGroupCriterionUnwrapped()
+ {
+ $wrapper = $this->getAdGroupCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group criterion to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group criterion to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupCriterion($wrappedVar);
+ }
+
+ /**
+ * The label assigned to the ad group criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * Returns the unboxed value from getLabel()
+
+ * The label assigned to the ad group criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return string|null
+ */
+ public function getLabelUnwrapped()
+ {
+ $wrapper = $this->getLabel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The label assigned to the ad group criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The label assigned to the ad group criterion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLabelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLabel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php
new file mode 100644
index 000000000..5c2090b92
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterionSimulation.php
@@ -0,0 +1,437 @@
+google.ads.googleads.v2.resources.AdGroupCriterionSimulation
+ */
+final class AdGroupCriterionSimulation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group criterion simulation.
+ * Ad group criterion simulation resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * AdGroup ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ */
+ private $ad_group_id = null;
+ /**
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ */
+ private $criterion_id = null;
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4;
+ */
+ private $type = 0;
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5;
+ */
+ private $modification_method = 0;
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ */
+ private $start_date = null;
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ */
+ private $end_date = null;
+ protected $point_list;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group criterion simulation.
+ * Ad group criterion simulation resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ * @type \Google\Protobuf\Int64Value $ad_group_id
+ * AdGroup ID of the simulation.
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * Criterion ID of the simulation.
+ * @type int $type
+ * The field that the simulation modifies.
+ * @type int $modification_method
+ * How the simulation modifies the field.
+ * @type \Google\Protobuf\StringValue $start_date
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ * @type \Google\Protobuf\StringValue $end_date
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ * @type \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList $cpc_bid_point_list
+ * Simulation points if the simulation type is CPC_BID.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionSimulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group criterion simulation.
+ * Ad group criterion simulation resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group criterion simulation.
+ * Ad group criterion simulation resource names have the form:
+ * `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * AdGroup ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAdGroupId()
+ {
+ return $this->ad_group_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupId()
+
+ * AdGroup ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @return int|string|null
+ */
+ public function getAdGroupIdUnwrapped()
+ {
+ $wrapper = $this->getAdGroupId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * AdGroup ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAdGroupId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->ad_group_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * AdGroup ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAdGroupIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAdGroupId($wrappedVar);
+ }
+
+ /**
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SimulationTypeEnum_SimulationType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5;
+ * @return int
+ */
+ public function getModificationMethod()
+ {
+ return $this->modification_method;
+ }
+
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setModificationMethod($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SimulationModificationMethodEnum_SimulationModificationMethod::class);
+ $this->modification_method = $var;
+
+ return $this;
+ }
+
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+ /**
+ * Simulation points if the simulation type is CPC_BID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CpcBidSimulationPointList cpc_bid_point_list = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList
+ */
+ public function getCpcBidPointList()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Simulation points if the simulation type is CPC_BID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CpcBidSimulationPointList cpc_bid_point_list = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList $var
+ * @return $this
+ */
+ public function setCpcBidPointList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPointList()
+ {
+ return $this->whichOneof("point_list");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion_PositionEstimates.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion_PositionEstimates.php
new file mode 100644
index 000000000..38b1e7271
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupCriterion_PositionEstimates.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.AdGroupExtensionSetting
+ */
+final class AdGroupExtensionSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group extension setting.
+ * AdGroupExtensionSetting resource names have the form:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The extension type of the ad group extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ */
+ private $extension_type = 0;
+ /**
+ * The resource name of the ad group. The linked extension feed items will
+ * serve under this ad group.
+ * AdGroup resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ */
+ private $ad_group = null;
+ /**
+ * The resource names of the extension feed items to serve under the ad group.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 4;
+ */
+ private $extension_feed_items;
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+ */
+ private $device = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group extension setting.
+ * AdGroupExtensionSetting resource names have the form:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ * @type int $extension_type
+ * The extension type of the ad group extension setting.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The resource name of the ad group. The linked extension feed items will
+ * serve under this ad group.
+ * AdGroup resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $extension_feed_items
+ * The resource names of the extension feed items to serve under the ad group.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ * @type int $device
+ * The device for which the extensions will serve. Optional.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group extension setting.
+ * AdGroupExtensionSetting resource names have the form:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group extension setting.
+ * AdGroupExtensionSetting resource names have the form:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The extension type of the ad group extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ * @return int
+ */
+ public function getExtensionType()
+ {
+ return $this->extension_type;
+ }
+
+ /**
+ * The extension type of the ad group extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setExtensionType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionTypeEnum_ExtensionType::class);
+ $this->extension_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the ad group. The linked extension feed items will
+ * serve under this ad group.
+ * AdGroup resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The resource name of the ad group. The linked extension feed items will
+ * serve under this ad group.
+ * AdGroup resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the ad group. The linked extension feed items will
+ * serve under this ad group.
+ * AdGroup resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the ad group. The linked extension feed items will
+ * serve under this ad group.
+ * AdGroup resource names have the form:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The resource names of the extension feed items to serve under the ad group.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getExtensionFeedItems()
+ {
+ return $this->extension_feed_items;
+ }
+
+ /**
+ * The resource names of the extension feed items to serve under the ad group.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 4;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setExtensionFeedItems($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->extension_feed_items = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->device;
+ }
+
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionSettingDeviceEnum_ExtensionSettingDevice::class);
+ $this->device = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php
new file mode 100644
index 000000000..c47e4da28
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupFeed.php
@@ -0,0 +1,319 @@
+google.ads.googleads.v2.resources.AdGroupFeed
+ */
+final class AdGroupFeed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group feed.
+ * Ad group feed resource names have the form:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The feed being linked to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ */
+ private $feed = null;
+ /**
+ * The ad group being linked to the feed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ */
+ private $ad_group = null;
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * ad group. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+ */
+ private $placeholder_types;
+ /**
+ * Matching function associated with the AdGroupFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 5;
+ */
+ private $matching_function = null;
+ /**
+ * Status of the ad group feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group feed.
+ * Ad group feed resource names have the form:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}
+ * @type \Google\Protobuf\StringValue $feed
+ * The feed being linked to the ad group.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group being linked to the feed.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $placeholder_types
+ * Indicates which placeholder types the feed may populate under the connected
+ * ad group. Required.
+ * @type \Google\Ads\GoogleAds\V2\Common\MatchingFunction $matching_function
+ * Matching function associated with the AdGroupFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ * @type int $status
+ * Status of the ad group feed.
+ * This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupFeed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group feed.
+ * Ad group feed resource names have the form:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group feed.
+ * Ad group feed resource names have the form:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed being linked to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * The feed being linked to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The feed being linked to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The feed being linked to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * The ad group being linked to the feed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group being linked to the feed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group being linked to the feed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group being linked to the feed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * ad group. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPlaceholderTypes()
+ {
+ return $this->placeholder_types;
+ }
+
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * ad group. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPlaceholderTypes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum\PlaceholderType::class);
+ $this->placeholder_types = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Matching function associated with the AdGroupFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\MatchingFunction
+ */
+ public function getMatchingFunction()
+ {
+ return $this->matching_function;
+ }
+
+ /**
+ * Matching function associated with the AdGroupFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\MatchingFunction $var
+ * @return $this
+ */
+ public function setMatchingFunction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MatchingFunction::class);
+ $this->matching_function = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of the ad group feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the ad group feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedLinkStatusEnum_FeedLinkStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php
new file mode 100644
index 000000000..84b524598
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupLabel.php
@@ -0,0 +1,201 @@
+google.ads.googleads.v2.resources.AdGroupLabel
+ */
+final class AdGroupLabel extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group label.
+ * Ad group label resource names have the form:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ad group to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ */
+ private $ad_group = null;
+ /**
+ * The label assigned to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ */
+ private $label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group label.
+ * Ad group label resource names have the form:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group to which the label is attached.
+ * @type \Google\Protobuf\StringValue $label
+ * The label assigned to the ad group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupLabel::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group label.
+ * Ad group label resource names have the form:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group label.
+ * Ad group label resource names have the form:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The label assigned to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * Returns the unboxed value from getLabel()
+
+ * The label assigned to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return string|null
+ */
+ public function getLabelUnwrapped()
+ {
+ $wrapper = $this->getLabel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The label assigned to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The label assigned to the ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLabelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLabel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php
new file mode 100644
index 000000000..27d5a1d5d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdGroupSimulation.php
@@ -0,0 +1,435 @@
+google.ads.googleads.v2.resources.AdGroupSimulation
+ */
+final class AdGroupSimulation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group simulation.
+ * Ad group simulation resource names have the form:
+ * `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Ad group id of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ */
+ private $ad_group_id = null;
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 3;
+ */
+ private $type = 0;
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4;
+ */
+ private $modification_method = 0;
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 5;
+ */
+ private $start_date = null;
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 6;
+ */
+ private $end_date = null;
+ protected $point_list;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group simulation.
+ * Ad group simulation resource names have the form:
+ * `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ * @type \Google\Protobuf\Int64Value $ad_group_id
+ * Ad group id of the simulation.
+ * @type int $type
+ * The field that the simulation modifies.
+ * @type int $modification_method
+ * How the simulation modifies the field.
+ * @type \Google\Protobuf\StringValue $start_date
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ * @type \Google\Protobuf\StringValue $end_date
+ * Last day on which the simulation is based, in YYYY-MM-DD format
+ * @type \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList $cpc_bid_point_list
+ * Simulation points if the simulation type is CPC_BID.
+ * @type \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPointList $cpv_bid_point_list
+ * Simulation points if the simulation type is CPV_BID.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPointList $target_cpa_point_list
+ * Simulation points if the simulation type is TARGET_CPA.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdGroupSimulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group simulation.
+ * Ad group simulation resource names have the form:
+ * `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group simulation.
+ * Ad group simulation resource names have the form:
+ * `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Ad group id of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAdGroupId()
+ {
+ return $this->ad_group_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupId()
+
+ * Ad group id of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @return int|string|null
+ */
+ public function getAdGroupIdUnwrapped()
+ {
+ $wrapper = $this->getAdGroupId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Ad group id of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAdGroupId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->ad_group_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Ad group id of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_group_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAdGroupIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAdGroupId($wrappedVar);
+ }
+
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 3;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SimulationTypeEnum_SimulationType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4;
+ * @return int
+ */
+ public function getModificationMethod()
+ {
+ return $this->modification_method;
+ }
+
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setModificationMethod($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SimulationModificationMethodEnum_SimulationModificationMethod::class);
+ $this->modification_method = $var;
+
+ return $this;
+ }
+
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 5;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * Last day on which the simulation is based, in YYYY-MM-DD format
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 6;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Last day on which the simulation is based, in YYYY-MM-DD format
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+ /**
+ * Simulation points if the simulation type is CPC_BID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CpcBidSimulationPointList cpc_bid_point_list = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList
+ */
+ public function getCpcBidPointList()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Simulation points if the simulation type is CPC_BID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CpcBidSimulationPointList cpc_bid_point_list = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList $var
+ * @return $this
+ */
+ public function setCpcBidPointList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CpcBidSimulationPointList::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Simulation points if the simulation type is CPV_BID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CpvBidSimulationPointList cpv_bid_point_list = 10;
+ * @return \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPointList
+ */
+ public function getCpvBidPointList()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Simulation points if the simulation type is CPV_BID.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CpvBidSimulationPointList cpv_bid_point_list = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPointList $var
+ * @return $this
+ */
+ public function setCpvBidPointList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CpvBidSimulationPointList::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Simulation points if the simulation type is TARGET_CPA.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpaSimulationPointList target_cpa_point_list = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPointList
+ */
+ public function getTargetCpaPointList()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Simulation points if the simulation type is TARGET_CPA.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpaSimulationPointList target_cpa_point_list = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPointList $var
+ * @return $this
+ */
+ public function setTargetCpaPointList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetCpaSimulationPointList::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPointList()
+ {
+ return $this->whichOneof("point_list");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdParameter.php b/src/Google/Ads/GoogleAds/V2/Resources/AdParameter.php
new file mode 100644
index 000000000..522be83c9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdParameter.php
@@ -0,0 +1,341 @@
+google.ads.googleads.v2.resources.AdParameter
+ */
+final class AdParameter extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad parameter.
+ * Ad parameter resource names have the form:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ad group criterion that this ad parameter belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ */
+ private $ad_group_criterion = null;
+ /**
+ * The unique index of this ad parameter. Must be either 1 or 2.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parameter_index = 3;
+ */
+ private $parameter_index = null;
+ /**
+ * Numeric value to insert into the ad text. The following restrictions
+ * apply:
+ * - Can use comma or period as a separator, with an optional period or
+ * comma (respectively) for fractional values. For example, 1,000,000.00
+ * and 2.000.000,10 are valid.
+ * - Can be prepended or appended with a currency symbol. For example,
+ * $99.99 is valid.
+ * - Can be prepended or appended with a currency code. For example, 99.99USD
+ * and EUR200 are valid.
+ * - Can use '%'. For example, 1.0% and 1,0% are valid.
+ * - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ * - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ * valid.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue insertion_text = 4;
+ */
+ private $insertion_text = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad parameter.
+ * Ad parameter resource names have the form:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ * @type \Google\Protobuf\StringValue $ad_group_criterion
+ * The ad group criterion that this ad parameter belongs to.
+ * @type \Google\Protobuf\Int64Value $parameter_index
+ * The unique index of this ad parameter. Must be either 1 or 2.
+ * @type \Google\Protobuf\StringValue $insertion_text
+ * Numeric value to insert into the ad text. The following restrictions
+ * apply:
+ * - Can use comma or period as a separator, with an optional period or
+ * comma (respectively) for fractional values. For example, 1,000,000.00
+ * and 2.000.000,10 are valid.
+ * - Can be prepended or appended with a currency symbol. For example,
+ * $99.99 is valid.
+ * - Can be prepended or appended with a currency code. For example, 99.99USD
+ * and EUR200 are valid.
+ * - Can use '%'. For example, 1.0% and 1,0% are valid.
+ * - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ * - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ * valid.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdParameter::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad parameter.
+ * Ad parameter resource names have the form:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad parameter.
+ * Ad parameter resource names have the form:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group criterion that this ad parameter belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupCriterion()
+ {
+ return $this->ad_group_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupCriterion()
+
+ * The ad group criterion that this ad parameter belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @return string|null
+ */
+ public function getAdGroupCriterionUnwrapped()
+ {
+ $wrapper = $this->getAdGroupCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group criterion that this ad parameter belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group criterion that this ad parameter belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupCriterion($wrappedVar);
+ }
+
+ /**
+ * The unique index of this ad parameter. Must be either 1 or 2.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parameter_index = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getParameterIndex()
+ {
+ return $this->parameter_index;
+ }
+
+ /**
+ * Returns the unboxed value from getParameterIndex()
+
+ * The unique index of this ad parameter. Must be either 1 or 2.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parameter_index = 3;
+ * @return int|string|null
+ */
+ public function getParameterIndexUnwrapped()
+ {
+ $wrapper = $this->getParameterIndex();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The unique index of this ad parameter. Must be either 1 or 2.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parameter_index = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setParameterIndex($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->parameter_index = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The unique index of this ad parameter. Must be either 1 or 2.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value parameter_index = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setParameterIndexUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setParameterIndex($wrappedVar);
+ }
+
+ /**
+ * Numeric value to insert into the ad text. The following restrictions
+ * apply:
+ * - Can use comma or period as a separator, with an optional period or
+ * comma (respectively) for fractional values. For example, 1,000,000.00
+ * and 2.000.000,10 are valid.
+ * - Can be prepended or appended with a currency symbol. For example,
+ * $99.99 is valid.
+ * - Can be prepended or appended with a currency code. For example, 99.99USD
+ * and EUR200 are valid.
+ * - Can use '%'. For example, 1.0% and 1,0% are valid.
+ * - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ * - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ * valid.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue insertion_text = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getInsertionText()
+ {
+ return $this->insertion_text;
+ }
+
+ /**
+ * Returns the unboxed value from getInsertionText()
+
+ * Numeric value to insert into the ad text. The following restrictions
+ * apply:
+ * - Can use comma or period as a separator, with an optional period or
+ * comma (respectively) for fractional values. For example, 1,000,000.00
+ * and 2.000.000,10 are valid.
+ * - Can be prepended or appended with a currency symbol. For example,
+ * $99.99 is valid.
+ * - Can be prepended or appended with a currency code. For example, 99.99USD
+ * and EUR200 are valid.
+ * - Can use '%'. For example, 1.0% and 1,0% are valid.
+ * - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ * - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ * valid.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue insertion_text = 4;
+ * @return string|null
+ */
+ public function getInsertionTextUnwrapped()
+ {
+ $wrapper = $this->getInsertionText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Numeric value to insert into the ad text. The following restrictions
+ * apply:
+ * - Can use comma or period as a separator, with an optional period or
+ * comma (respectively) for fractional values. For example, 1,000,000.00
+ * and 2.000.000,10 are valid.
+ * - Can be prepended or appended with a currency symbol. For example,
+ * $99.99 is valid.
+ * - Can be prepended or appended with a currency code. For example, 99.99USD
+ * and EUR200 are valid.
+ * - Can use '%'. For example, 1.0% and 1,0% are valid.
+ * - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ * - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ * valid.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue insertion_text = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setInsertionText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->insertion_text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Numeric value to insert into the ad text. The following restrictions
+ * apply:
+ * - Can use comma or period as a separator, with an optional period or
+ * comma (respectively) for fractional values. For example, 1,000,000.00
+ * and 2.000.000,10 are valid.
+ * - Can be prepended or appended with a currency symbol. For example,
+ * $99.99 is valid.
+ * - Can be prepended or appended with a currency code. For example, 99.99USD
+ * and EUR200 are valid.
+ * - Can use '%'. For example, 1.0% and 1,0% are valid.
+ * - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ * - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ * valid.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue insertion_text = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setInsertionTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setInsertionText($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php b/src/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php
new file mode 100644
index 000000000..8c042b8d5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AdScheduleView.php
@@ -0,0 +1,76 @@
+google.ads.googleads.v2.resources.AdScheduleView
+ */
+final class AdScheduleView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad schedule view.
+ * AdSchedule view resource names have the form:
+ * `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad schedule view.
+ * AdSchedule view resource names have the form:
+ * `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AdScheduleView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad schedule view.
+ * AdSchedule view resource names have the form:
+ * `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad schedule view.
+ * AdSchedule view resource names have the form:
+ * `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php b/src/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php
new file mode 100644
index 000000000..4a85ec766
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AgeRangeView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.AgeRangeView
+ */
+final class AgeRangeView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the age range view.
+ * Age range view resource names have the form:
+ * `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the age range view.
+ * Age range view resource names have the form:
+ * `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\AgeRangeView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the age range view.
+ * Age range view resource names have the form:
+ * `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the age range view.
+ * Age range view resource names have the form:
+ * `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Asset.php b/src/Google/Ads/GoogleAds/V2/Resources/Asset.php
new file mode 100644
index 000000000..3669a6570
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Asset.php
@@ -0,0 +1,357 @@
+google.ads.googleads.v2.resources.Asset
+ */
+final class Asset extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the asset.
+ * Asset resource names have the form:
+ * `customers/{customer_id}/assets/{asset_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Optional name of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * Type of the asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetTypeEnum.AssetType type = 4;
+ */
+ private $type = 0;
+ protected $asset_data;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the asset.
+ * Asset resource names have the form:
+ * `customers/{customer_id}/assets/{asset_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the asset.
+ * @type \Google\Protobuf\StringValue $name
+ * Optional name of the asset.
+ * @type int $type
+ * Type of the asset.
+ * @type \Google\Ads\GoogleAds\V2\Common\YoutubeVideoAsset $youtube_video_asset
+ * A YouTube video asset.
+ * @type \Google\Ads\GoogleAds\V2\Common\MediaBundleAsset $media_bundle_asset
+ * A media bundle asset.
+ * @type \Google\Ads\GoogleAds\V2\Common\ImageAsset $image_asset
+ * An image asset.
+ * @type \Google\Ads\GoogleAds\V2\Common\TextAsset $text_asset
+ * A text asset.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Asset::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the asset.
+ * Asset resource names have the form:
+ * `customers/{customer_id}/assets/{asset_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the asset.
+ * Asset resource names have the form:
+ * `customers/{customer_id}/assets/{asset_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Optional name of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Optional name of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Optional name of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Optional name of the asset.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Type of the asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetTypeEnum.AssetType type = 4;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AssetTypeEnum.AssetType type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AssetTypeEnum_AssetType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * A YouTube video asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YoutubeVideoAsset youtube_video_asset = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\YoutubeVideoAsset
+ */
+ public function getYoutubeVideoAsset()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * A YouTube video asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YoutubeVideoAsset youtube_video_asset = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\YoutubeVideoAsset $var
+ * @return $this
+ */
+ public function setYoutubeVideoAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YoutubeVideoAsset::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * A media bundle asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MediaBundleAsset media_bundle_asset = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\MediaBundleAsset
+ */
+ public function getMediaBundleAsset()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * A media bundle asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MediaBundleAsset media_bundle_asset = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\MediaBundleAsset $var
+ * @return $this
+ */
+ public function setMediaBundleAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MediaBundleAsset::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * An image asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageAsset image_asset = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\ImageAsset
+ */
+ public function getImageAsset()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * An image asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ImageAsset image_asset = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\ImageAsset $var
+ * @return $this
+ */
+ public function setImageAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ImageAsset::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * A text asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextAsset text_asset = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\TextAsset
+ */
+ public function getTextAsset()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * A text asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextAsset text_asset = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\TextAsset $var
+ * @return $this
+ */
+ public function setTextAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TextAsset::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getAssetData()
+ {
+ return $this->whichOneof("asset_data");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/AttributeFieldMapping.php b/src/Google/Ads/GoogleAds/V2/Resources/AttributeFieldMapping.php
new file mode 100644
index 000000000..527972268
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/AttributeFieldMapping.php
@@ -0,0 +1,774 @@
+google.ads.googleads.v2.resources.AttributeFieldMapping
+ */
+final class AttributeFieldMapping extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Feed attribute from which to map.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ */
+ private $feed_attribute_id = null;
+ /**
+ * The placeholder field ID. If a placeholder field enum is not published in
+ * the current API version, then this field will be populated and the field
+ * oneof will be empty.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value field_id = 2;
+ */
+ private $field_id = null;
+ protected $field;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $feed_attribute_id
+ * Feed attribute from which to map.
+ * @type \Google\Protobuf\Int64Value $field_id
+ * The placeholder field ID. If a placeholder field enum is not published in
+ * the current API version, then this field will be populated and the field
+ * oneof will be empty.
+ * This field is read-only.
+ * @type int $sitelink_field
+ * Sitelink Placeholder Fields.
+ * @type int $call_field
+ * Call Placeholder Fields.
+ * @type int $app_field
+ * App Placeholder Fields.
+ * @type int $location_field
+ * Location Placeholder Fields. This field is read-only.
+ * @type int $affiliate_location_field
+ * Affiliate Location Placeholder Fields. This field is read-only.
+ * @type int $callout_field
+ * Callout Placeholder Fields.
+ * @type int $structured_snippet_field
+ * Structured Snippet Placeholder Fields.
+ * @type int $message_field
+ * Message Placeholder Fields.
+ * @type int $price_field
+ * Price Placeholder Fields.
+ * @type int $promotion_field
+ * Promotion Placeholder Fields.
+ * @type int $ad_customizer_field
+ * Ad Customizer Placeholder Fields
+ * @type int $dsa_page_feed_field
+ * Dynamic Search Ad Page Feed Fields.
+ * @type int $location_extension_targeting_field
+ * Location Target Fields.
+ * @type int $education_field
+ * Education Placeholder Fields
+ * @type int $flight_field
+ * Flight Placeholder Fields
+ * @type int $custom_field
+ * Custom Placeholder Fields
+ * @type int $hotel_field
+ * Hotel Placeholder Fields
+ * @type int $real_estate_field
+ * Real Estate Placeholder Fields
+ * @type int $travel_field
+ * Travel Placeholder Fields
+ * @type int $local_field
+ * Local Placeholder Fields
+ * @type int $job_field
+ * Job Placeholder Fields
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedMapping::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Feed attribute from which to map.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFeedAttributeId()
+ {
+ return $this->feed_attribute_id;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedAttributeId()
+
+ * Feed attribute from which to map.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @return int|string|null
+ */
+ public function getFeedAttributeIdUnwrapped()
+ {
+ $wrapper = $this->getFeedAttributeId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Feed attribute from which to map.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFeedAttributeId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->feed_attribute_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Feed attribute from which to map.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFeedAttributeIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFeedAttributeId($wrappedVar);
+ }
+
+ /**
+ * The placeholder field ID. If a placeholder field enum is not published in
+ * the current API version, then this field will be populated and the field
+ * oneof will be empty.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value field_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFieldId()
+ {
+ return $this->field_id;
+ }
+
+ /**
+ * Returns the unboxed value from getFieldId()
+
+ * The placeholder field ID. If a placeholder field enum is not published in
+ * the current API version, then this field will be populated and the field
+ * oneof will be empty.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value field_id = 2;
+ * @return int|string|null
+ */
+ public function getFieldIdUnwrapped()
+ {
+ $wrapper = $this->getFieldId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The placeholder field ID. If a placeholder field enum is not published in
+ * the current API version, then this field will be populated and the field
+ * oneof will be empty.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value field_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFieldId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->field_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The placeholder field ID. If a placeholder field enum is not published in
+ * the current API version, then this field will be populated and the field
+ * oneof will be empty.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value field_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFieldIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFieldId($wrappedVar);
+ }
+
+ /**
+ * Sitelink Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3;
+ * @return int
+ */
+ public function getSitelinkField()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Sitelink Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setSitelinkField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SitelinkPlaceholderFieldEnum_SitelinkPlaceholderField::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Call Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4;
+ * @return int
+ */
+ public function getCallField()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Call Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setCallField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CallPlaceholderFieldEnum_CallPlaceholderField::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * App Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5;
+ * @return int
+ */
+ public function getAppField()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * App Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setAppField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AppPlaceholderFieldEnum_AppPlaceholderField::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Location Placeholder Fields. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField location_field = 6;
+ * @return int
+ */
+ public function getLocationField()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * Location Placeholder Fields. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField location_field = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setLocationField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\LocationPlaceholderFieldEnum_LocationPlaceholderField::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Affiliate Location Placeholder Fields. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7;
+ * @return int
+ */
+ public function getAffiliateLocationField()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Affiliate Location Placeholder Fields. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setAffiliateLocationField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AffiliateLocationPlaceholderFieldEnum_AffiliateLocationPlaceholderField::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Callout Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8;
+ * @return int
+ */
+ public function getCalloutField()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Callout Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setCalloutField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CalloutPlaceholderFieldEnum_CalloutPlaceholderField::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Structured Snippet Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9;
+ * @return int
+ */
+ public function getStructuredSnippetField()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Structured Snippet Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setStructuredSnippetField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\StructuredSnippetPlaceholderFieldEnum_StructuredSnippetPlaceholderField::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * Message Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10;
+ * @return int
+ */
+ public function getMessageField()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Message Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setMessageField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MessagePlaceholderFieldEnum_MessagePlaceholderField::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Price Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11;
+ * @return int
+ */
+ public function getPriceField()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * Price Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11;
+ * @param int $var
+ * @return $this
+ */
+ public function setPriceField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PricePlaceholderFieldEnum_PricePlaceholderField::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * Promotion Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12;
+ * @return int
+ */
+ public function getPromotionField()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * Promotion Placeholder Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setPromotionField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PromotionPlaceholderFieldEnum_PromotionPlaceholderField::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * Ad Customizer Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13;
+ * @return int
+ */
+ public function getAdCustomizerField()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * Ad Customizer Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdCustomizerField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdCustomizerPlaceholderFieldEnum_AdCustomizerPlaceholderField::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * Dynamic Search Ad Page Feed Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14;
+ * @return int
+ */
+ public function getDsaPageFeedField()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * Dynamic Search Ad Page Feed Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14;
+ * @param int $var
+ * @return $this
+ */
+ public function setDsaPageFeedField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DsaPageFeedCriterionFieldEnum_DsaPageFeedCriterionField::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * Location Target Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15;
+ * @return int
+ */
+ public function getLocationExtensionTargetingField()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * Location Target Fields.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15;
+ * @param int $var
+ * @return $this
+ */
+ public function setLocationExtensionTargetingField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\LocationExtensionTargetingCriterionFieldEnum_LocationExtensionTargetingCriterionField::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * Education Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16;
+ * @return int
+ */
+ public function getEducationField()
+ {
+ return $this->readOneof(16);
+ }
+
+ /**
+ * Education Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16;
+ * @param int $var
+ * @return $this
+ */
+ public function setEducationField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\EducationPlaceholderFieldEnum_EducationPlaceholderField::class);
+ $this->writeOneof(16, $var);
+
+ return $this;
+ }
+
+ /**
+ * Flight Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17;
+ * @return int
+ */
+ public function getFlightField()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * Flight Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17;
+ * @param int $var
+ * @return $this
+ */
+ public function setFlightField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FlightPlaceholderFieldEnum_FlightPlaceholderField::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * Custom Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18;
+ * @return int
+ */
+ public function getCustomField()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * Custom Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18;
+ * @param int $var
+ * @return $this
+ */
+ public function setCustomField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CustomPlaceholderFieldEnum_CustomPlaceholderField::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * Hotel Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19;
+ * @return int
+ */
+ public function getHotelField()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * Hotel Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19;
+ * @param int $var
+ * @return $this
+ */
+ public function setHotelField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\HotelPlaceholderFieldEnum_HotelPlaceholderField::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * Real Estate Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20;
+ * @return int
+ */
+ public function getRealEstateField()
+ {
+ return $this->readOneof(20);
+ }
+
+ /**
+ * Real Estate Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20;
+ * @param int $var
+ * @return $this
+ */
+ public function setRealEstateField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\RealEstatePlaceholderFieldEnum_RealEstatePlaceholderField::class);
+ $this->writeOneof(20, $var);
+
+ return $this;
+ }
+
+ /**
+ * Travel Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21;
+ * @return int
+ */
+ public function getTravelField()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * Travel Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21;
+ * @param int $var
+ * @return $this
+ */
+ public function setTravelField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TravelPlaceholderFieldEnum_TravelPlaceholderField::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * Local Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22;
+ * @return int
+ */
+ public function getLocalField()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * Local Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22;
+ * @param int $var
+ * @return $this
+ */
+ public function setLocalField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\LocalPlaceholderFieldEnum_LocalPlaceholderField::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * Job Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23;
+ * @return int
+ */
+ public function getJobField()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * Job Placeholder Fields
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23;
+ * @param int $var
+ * @return $this
+ */
+ public function setJobField($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\JobPlaceholderFieldEnum_JobPlaceholderField::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getField()
+ {
+ return $this->whichOneof("field");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php b/src/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php
new file mode 100644
index 000000000..13bf4518b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/BiddingStrategy.php
@@ -0,0 +1,690 @@
+google.ads.googleads.v2.resources.BiddingStrategy
+ */
+final class BiddingStrategy extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the bidding strategy.
+ * Bidding strategy resource names have the form:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the bidding strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the bidding strategy.
+ * All bidding strategies within an account must be named distinctly.
+ * The length of this string should be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The status of the bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15;
+ */
+ private $status = 0;
+ /**
+ * The type of the bidding strategy.
+ * Create a bidding strategy by setting the bidding scheme.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5;
+ */
+ private $type = 0;
+ /**
+ * The number of campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_count = 13;
+ */
+ private $campaign_count = null;
+ /**
+ * The number of non-removed campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value non_removed_campaign_count = 14;
+ */
+ private $non_removed_campaign_count = null;
+ protected $scheme;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the bidding strategy.
+ * Bidding strategy resource names have the form:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the bidding strategy.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the bidding strategy.
+ * All bidding strategies within an account must be named distinctly.
+ * The length of this string should be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ * @type int $status
+ * The status of the bidding strategy.
+ * This field is read-only.
+ * @type int $type
+ * The type of the bidding strategy.
+ * Create a bidding strategy by setting the bidding scheme.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $campaign_count
+ * The number of campaigns attached to this bidding strategy.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $non_removed_campaign_count
+ * The number of non-removed campaigns attached to this bidding strategy.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Common\EnhancedCpc $enhanced_cpc
+ * A bidding strategy that raises bids for clicks that seem more likely to
+ * lead to a conversion and lowers them for clicks where they seem less
+ * likely.
+ * @type \Google\Ads\GoogleAds\V2\Common\PageOnePromoted $page_one_promoted
+ * A bidding strategy that sets max CPC bids to target impressions on
+ * page one or page one promoted slots on google.com.
+ * This field is deprecated. Creating a new bidding strategy with this
+ * field or attaching bidding strategies with this field to a campaign will
+ * fail. Mutates to strategies that already have this scheme populated are
+ * allowed.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetCpa $target_cpa
+ * A bidding strategy that sets bids to help get as many conversions as
+ * possible at the target cost-per-acquisition (CPA) you set.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare $target_impression_share
+ * A bidding strategy that automatically optimizes towards a desired
+ * percentage of impressions.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetOutrankShare $target_outrank_share
+ * A bidding strategy that sets bids based on the target fraction of
+ * auctions where the advertiser should outrank a specific competitor.
+ * This field is deprecated. Creating a new bidding strategy with this
+ * field or attaching bidding strategies with this field to a campaign will
+ * fail. Mutates to strategies that already have this scheme populated are
+ * allowed.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetRoas $target_roas
+ * A bidding strategy that helps you maximize revenue while averaging a
+ * specific target Return On Ad Spend (ROAS).
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetSpend $target_spend
+ * A bid strategy that sets your bids to help get as many clicks as
+ * possible within your budget.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\BiddingStrategy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the bidding strategy.
+ * Bidding strategy resource names have the form:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the bidding strategy.
+ * Bidding strategy resource names have the form:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the bidding strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the bidding strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the bidding strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the bidding strategy.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the bidding strategy.
+ * All bidding strategies within an account must be named distinctly.
+ * The length of this string should be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the bidding strategy.
+ * All bidding strategies within an account must be named distinctly.
+ * The length of this string should be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the bidding strategy.
+ * All bidding strategies within an account must be named distinctly.
+ * The length of this string should be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the bidding strategy.
+ * All bidding strategies within an account must be named distinctly.
+ * The length of this string should be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The status of the bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingStrategyStatusEnum_BiddingStrategyStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The type of the bidding strategy.
+ * Create a bidding strategy by setting the bidding scheme.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the bidding strategy.
+ * Create a bidding strategy by setting the bidding scheme.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingStrategyTypeEnum_BiddingStrategyType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_count = 13;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCampaignCount()
+ {
+ return $this->campaign_count;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignCount()
+
+ * The number of campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_count = 13;
+ * @return int|string|null
+ */
+ public function getCampaignCountUnwrapped()
+ {
+ $wrapper = $this->getCampaignCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_count = 13;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCampaignCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->campaign_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_count = 13;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCampaignCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCampaignCount($wrappedVar);
+ }
+
+ /**
+ * The number of non-removed campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value non_removed_campaign_count = 14;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getNonRemovedCampaignCount()
+ {
+ return $this->non_removed_campaign_count;
+ }
+
+ /**
+ * Returns the unboxed value from getNonRemovedCampaignCount()
+
+ * The number of non-removed campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value non_removed_campaign_count = 14;
+ * @return int|string|null
+ */
+ public function getNonRemovedCampaignCountUnwrapped()
+ {
+ $wrapper = $this->getNonRemovedCampaignCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of non-removed campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value non_removed_campaign_count = 14;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setNonRemovedCampaignCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->non_removed_campaign_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of non-removed campaigns attached to this bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value non_removed_campaign_count = 14;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setNonRemovedCampaignCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setNonRemovedCampaignCount($wrappedVar);
+ }
+
+ /**
+ * A bidding strategy that raises bids for clicks that seem more likely to
+ * lead to a conversion and lowers them for clicks where they seem less
+ * likely.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.EnhancedCpc enhanced_cpc = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\EnhancedCpc
+ */
+ public function getEnhancedCpc()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * A bidding strategy that raises bids for clicks that seem more likely to
+ * lead to a conversion and lowers them for clicks where they seem less
+ * likely.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.EnhancedCpc enhanced_cpc = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\EnhancedCpc $var
+ * @return $this
+ */
+ public function setEnhancedCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\EnhancedCpc::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that sets max CPC bids to target impressions on
+ * page one or page one promoted slots on google.com.
+ * This field is deprecated. Creating a new bidding strategy with this
+ * field or attaching bidding strategies with this field to a campaign will
+ * fail. Mutates to strategies that already have this scheme populated are
+ * allowed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PageOnePromoted page_one_promoted = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\PageOnePromoted
+ */
+ public function getPageOnePromoted()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * A bidding strategy that sets max CPC bids to target impressions on
+ * page one or page one promoted slots on google.com.
+ * This field is deprecated. Creating a new bidding strategy with this
+ * field or attaching bidding strategies with this field to a campaign will
+ * fail. Mutates to strategies that already have this scheme populated are
+ * allowed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PageOnePromoted page_one_promoted = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\PageOnePromoted $var
+ * @return $this
+ */
+ public function setPageOnePromoted($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PageOnePromoted::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that sets bids to help get as many conversions as
+ * possible at the target cost-per-acquisition (CPA) you set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpa target_cpa = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetCpa
+ */
+ public function getTargetCpa()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * A bidding strategy that sets bids to help get as many conversions as
+ * possible at the target cost-per-acquisition (CPA) you set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpa target_cpa = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetCpa $var
+ * @return $this
+ */
+ public function setTargetCpa($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetCpa::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that automatically optimizes towards a desired
+ * percentage of impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetImpressionShare target_impression_share = 48;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare
+ */
+ public function getTargetImpressionShare()
+ {
+ return $this->readOneof(48);
+ }
+
+ /**
+ * A bidding strategy that automatically optimizes towards a desired
+ * percentage of impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetImpressionShare target_impression_share = 48;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare $var
+ * @return $this
+ */
+ public function setTargetImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare::class);
+ $this->writeOneof(48, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that sets bids based on the target fraction of
+ * auctions where the advertiser should outrank a specific competitor.
+ * This field is deprecated. Creating a new bidding strategy with this
+ * field or attaching bidding strategies with this field to a campaign will
+ * fail. Mutates to strategies that already have this scheme populated are
+ * allowed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetOutrankShare target_outrank_share = 10;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetOutrankShare
+ */
+ public function getTargetOutrankShare()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * A bidding strategy that sets bids based on the target fraction of
+ * auctions where the advertiser should outrank a specific competitor.
+ * This field is deprecated. Creating a new bidding strategy with this
+ * field or attaching bidding strategies with this field to a campaign will
+ * fail. Mutates to strategies that already have this scheme populated are
+ * allowed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetOutrankShare target_outrank_share = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetOutrankShare $var
+ * @return $this
+ */
+ public function setTargetOutrankShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetOutrankShare::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that helps you maximize revenue while averaging a
+ * specific target Return On Ad Spend (ROAS).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetRoas target_roas = 11;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetRoas
+ */
+ public function getTargetRoas()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * A bidding strategy that helps you maximize revenue while averaging a
+ * specific target Return On Ad Spend (ROAS).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetRoas target_roas = 11;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetRoas $var
+ * @return $this
+ */
+ public function setTargetRoas($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetRoas::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bid strategy that sets your bids to help get as many clicks as
+ * possible within your budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetSpend target_spend = 12;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetSpend
+ */
+ public function getTargetSpend()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * A bid strategy that sets your bids to help get as many clicks as
+ * possible within your budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetSpend target_spend = 12;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetSpend $var
+ * @return $this
+ */
+ public function setTargetSpend($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetSpend::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getScheme()
+ {
+ return $this->whichOneof("scheme");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php b/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php
new file mode 100644
index 000000000..736ea6a0b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup.php
@@ -0,0 +1,516 @@
+google.ads.googleads.v2.resources.BillingSetup
+ */
+final class BillingSetup extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the billing setup.
+ * BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The status of the billing setup.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3;
+ */
+ private $status = 0;
+ /**
+ * The resource name of the Payments account associated with this billing
+ * setup. Payments resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * When setting up billing, this is used to signup with an existing Payments
+ * account (and then payments_account_info should not be set).
+ * When getting a billing setup, this and payments_account_info will be
+ * populated.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account = 11;
+ */
+ private $payments_account = null;
+ /**
+ * The Payments account information associated with this billing setup.
+ * When setting up billing, this is used to signup with a new Payments account
+ * (and then payments_account should not be set).
+ * When getting a billing setup, this and payments_account will be
+ * populated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup.PaymentsAccountInfo payments_account_info = 12;
+ */
+ private $payments_account_info = null;
+ protected $start_time;
+ protected $end_time;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the billing setup.
+ * BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the billing setup.
+ * @type int $status
+ * The status of the billing setup.
+ * @type \Google\Protobuf\StringValue $payments_account
+ * The resource name of the Payments account associated with this billing
+ * setup. Payments resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * When setting up billing, this is used to signup with an existing Payments
+ * account (and then payments_account_info should not be set).
+ * When getting a billing setup, this and payments_account_info will be
+ * populated.
+ * @type \Google\Ads\GoogleAds\V2\Resources\BillingSetup\PaymentsAccountInfo $payments_account_info
+ * The Payments account information associated with this billing setup.
+ * When setting up billing, this is used to signup with a new Payments account
+ * (and then payments_account should not be set).
+ * When getting a billing setup, this and payments_account will be
+ * populated.
+ * @type \Google\Protobuf\StringValue $start_date_time
+ * The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a
+ * future time is allowed.
+ * @type int $start_time_type
+ * The start time as a type. Only NOW is allowed.
+ * @type \Google\Protobuf\StringValue $end_date_time
+ * The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+ * @type int $end_time_type
+ * The end time as a type. The only possible value is FOREVER.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\BillingSetup::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the billing setup.
+ * BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the billing setup.
+ * BillingSetup resource names have the form:
+ * `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The status of the billing setup.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the billing setup.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BillingSetupStatusEnum_BillingSetupStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the Payments account associated with this billing
+ * setup. Payments resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * When setting up billing, this is used to signup with an existing Payments
+ * account (and then payments_account_info should not be set).
+ * When getting a billing setup, this and payments_account_info will be
+ * populated.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsAccount()
+ {
+ return $this->payments_account;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsAccount()
+
+ * The resource name of the Payments account associated with this billing
+ * setup. Payments resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * When setting up billing, this is used to signup with an existing Payments
+ * account (and then payments_account_info should not be set).
+ * When getting a billing setup, this and payments_account_info will be
+ * populated.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account = 11;
+ * @return string|null
+ */
+ public function getPaymentsAccountUnwrapped()
+ {
+ $wrapper = $this->getPaymentsAccount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the Payments account associated with this billing
+ * setup. Payments resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * When setting up billing, this is used to signup with an existing Payments
+ * account (and then payments_account_info should not be set).
+ * When getting a billing setup, this and payments_account_info will be
+ * populated.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsAccount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the Payments account associated with this billing
+ * setup. Payments resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * When setting up billing, this is used to signup with an existing Payments
+ * account (and then payments_account_info should not be set).
+ * When getting a billing setup, this and payments_account_info will be
+ * populated.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsAccountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsAccount($wrappedVar);
+ }
+
+ /**
+ * The Payments account information associated with this billing setup.
+ * When setting up billing, this is used to signup with a new Payments account
+ * (and then payments_account should not be set).
+ * When getting a billing setup, this and payments_account will be
+ * populated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup.PaymentsAccountInfo payments_account_info = 12;
+ * @return \Google\Ads\GoogleAds\V2\Resources\BillingSetup\PaymentsAccountInfo
+ */
+ public function getPaymentsAccountInfo()
+ {
+ return $this->payments_account_info;
+ }
+
+ /**
+ * The Payments account information associated with this billing setup.
+ * When setting up billing, this is used to signup with a new Payments account
+ * (and then payments_account should not be set).
+ * When getting a billing setup, this and payments_account will be
+ * populated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup.PaymentsAccountInfo payments_account_info = 12;
+ * @param \Google\Ads\GoogleAds\V2\Resources\BillingSetup\PaymentsAccountInfo $var
+ * @return $this
+ */
+ public function setPaymentsAccountInfo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\BillingSetup_PaymentsAccountInfo::class);
+ $this->payments_account_info = $var;
+
+ return $this;
+ }
+
+ /**
+ * The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a
+ * future time is allowed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDateTime()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Returns the unboxed value from getStartDateTime()
+
+ * The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a
+ * future time is allowed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 9;
+ * @return string|null
+ */
+ public function getStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a
+ * future time is allowed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a
+ * future time is allowed.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDateTime($wrappedVar);
+ }
+
+ /**
+ * The start time as a type. Only NOW is allowed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType start_time_type = 10;
+ * @return int
+ */
+ public function getStartTimeType()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * The start time as a type. Only NOW is allowed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType start_time_type = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setStartTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDateTime()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * Returns the unboxed value from getEndDateTime()
+
+ * The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 13;
+ * @return string|null
+ */
+ public function getEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The end time as a type. The only possible value is FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType end_time_type = 14;
+ * @return int
+ */
+ public function getEndTimeType()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * The end time as a type. The only possible value is FOREVER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TimeTypeEnum.TimeType end_time_type = 14;
+ * @param int $var
+ * @return $this
+ */
+ public function setEndTimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TimeTypeEnum_TimeType::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getStartTime()
+ {
+ return $this->whichOneof("start_time");
+ }
+
+ /**
+ * @return string
+ */
+ public function getEndTime()
+ {
+ return $this->whichOneof("end_time");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup/PaymentsAccountInfo.php b/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup/PaymentsAccountInfo.php
new file mode 100644
index 000000000..5e54f9ae2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup/PaymentsAccountInfo.php
@@ -0,0 +1,399 @@
+google.ads.googleads.v2.resources.BillingSetup.PaymentsAccountInfo
+ */
+final class PaymentsAccountInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A 16 digit id used to identify the Payments account associated with the
+ * billing setup.
+ * This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 1;
+ */
+ private $payments_account_id = null;
+ /**
+ * The name of the Payments account associated with the billing setup.
+ * This enables the user to specify a meaningful name for a Payments account
+ * to aid in reconciling monthly invoices.
+ * This name will be printed in the monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_name = 2;
+ */
+ private $payments_account_name = null;
+ /**
+ * A 12 digit id used to identify the Payments profile associated with the
+ * billing setup.
+ * This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 3;
+ */
+ private $payments_profile_id = null;
+ /**
+ * The name of the Payments profile associated with the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_name = 4;
+ */
+ private $payments_profile_name = null;
+ /**
+ * A secondary payments profile id present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 5;
+ */
+ private $secondary_payments_profile_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $payments_account_id
+ * A 16 digit id used to identify the Payments account associated with the
+ * billing setup.
+ * This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ * @type \Google\Protobuf\StringValue $payments_account_name
+ * The name of the Payments account associated with the billing setup.
+ * This enables the user to specify a meaningful name for a Payments account
+ * to aid in reconciling monthly invoices.
+ * This name will be printed in the monthly invoices.
+ * @type \Google\Protobuf\StringValue $payments_profile_id
+ * A 12 digit id used to identify the Payments profile associated with the
+ * billing setup.
+ * This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ * @type \Google\Protobuf\StringValue $payments_profile_name
+ * The name of the Payments profile associated with the billing setup.
+ * @type \Google\Protobuf\StringValue $secondary_payments_profile_id
+ * A secondary payments profile id present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\BillingSetup::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A 16 digit id used to identify the Payments account associated with the
+ * billing setup.
+ * This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsAccountId()
+ {
+ return $this->payments_account_id;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsAccountId()
+
+ * A 16 digit id used to identify the Payments account associated with the
+ * billing setup.
+ * This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 1;
+ * @return string|null
+ */
+ public function getPaymentsAccountIdUnwrapped()
+ {
+ $wrapper = $this->getPaymentsAccountId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A 16 digit id used to identify the Payments account associated with the
+ * billing setup.
+ * This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsAccountId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_account_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A 16 digit id used to identify the Payments account associated with the
+ * billing setup.
+ * This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsAccountIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsAccountId($wrappedVar);
+ }
+
+ /**
+ * The name of the Payments account associated with the billing setup.
+ * This enables the user to specify a meaningful name for a Payments account
+ * to aid in reconciling monthly invoices.
+ * This name will be printed in the monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_name = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsAccountName()
+ {
+ return $this->payments_account_name;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsAccountName()
+
+ * The name of the Payments account associated with the billing setup.
+ * This enables the user to specify a meaningful name for a Payments account
+ * to aid in reconciling monthly invoices.
+ * This name will be printed in the monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_name = 2;
+ * @return string|null
+ */
+ public function getPaymentsAccountNameUnwrapped()
+ {
+ $wrapper = $this->getPaymentsAccountName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the Payments account associated with the billing setup.
+ * This enables the user to specify a meaningful name for a Payments account
+ * to aid in reconciling monthly invoices.
+ * This name will be printed in the monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_name = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsAccountName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_account_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the Payments account associated with the billing setup.
+ * This enables the user to specify a meaningful name for a Payments account
+ * to aid in reconciling monthly invoices.
+ * This name will be printed in the monthly invoices.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_name = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsAccountNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsAccountName($wrappedVar);
+ }
+
+ /**
+ * A 12 digit id used to identify the Payments profile associated with the
+ * billing setup.
+ * This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsProfileId()
+ {
+ return $this->payments_profile_id;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsProfileId()
+
+ * A 12 digit id used to identify the Payments profile associated with the
+ * billing setup.
+ * This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 3;
+ * @return string|null
+ */
+ public function getPaymentsProfileIdUnwrapped()
+ {
+ $wrapper = $this->getPaymentsProfileId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A 12 digit id used to identify the Payments profile associated with the
+ * billing setup.
+ * This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsProfileId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_profile_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A 12 digit id used to identify the Payments profile associated with the
+ * billing setup.
+ * This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsProfileIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsProfileId($wrappedVar);
+ }
+
+ /**
+ * The name of the Payments profile associated with the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsProfileName()
+ {
+ return $this->payments_profile_name;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsProfileName()
+
+ * The name of the Payments profile associated with the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_name = 4;
+ * @return string|null
+ */
+ public function getPaymentsProfileNameUnwrapped()
+ {
+ $wrapper = $this->getPaymentsProfileName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the Payments profile associated with the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsProfileName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_profile_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the Payments profile associated with the billing setup.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsProfileNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsProfileName($wrappedVar);
+ }
+
+ /**
+ * A secondary payments profile id present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSecondaryPaymentsProfileId()
+ {
+ return $this->secondary_payments_profile_id;
+ }
+
+ /**
+ * Returns the unboxed value from getSecondaryPaymentsProfileId()
+
+ * A secondary payments profile id present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 5;
+ * @return string|null
+ */
+ public function getSecondaryPaymentsProfileIdUnwrapped()
+ {
+ $wrapper = $this->getSecondaryPaymentsProfileId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A secondary payments profile id present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSecondaryPaymentsProfileId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->secondary_payments_profile_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A secondary payments profile id present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSecondaryPaymentsProfileIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSecondaryPaymentsProfileId($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PaymentsAccountInfo::class, \Google\Ads\GoogleAds\V2\Resources\BillingSetup_PaymentsAccountInfo::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup_PaymentsAccountInfo.php b/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup_PaymentsAccountInfo.php
new file mode 100644
index 000000000..9f20adf86
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/BillingSetup_PaymentsAccountInfo.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.CallReportingSetting
+ */
+final class CallReportingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Enable reporting of phone call events by redirecting them via Google
+ * System.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_reporting_enabled = 1;
+ */
+ private $call_reporting_enabled = null;
+ /**
+ * Whether to enable call conversion reporting.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_reporting_enabled = 2;
+ */
+ private $call_conversion_reporting_enabled = null;
+ /**
+ * Customer-level call conversion action to attribute a call conversion to.
+ * If not set a default conversion action is used. Only in effect when
+ * call_conversion_reporting_enabled is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 9;
+ */
+ private $call_conversion_action = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BoolValue $call_reporting_enabled
+ * Enable reporting of phone call events by redirecting them via Google
+ * System.
+ * @type \Google\Protobuf\BoolValue $call_conversion_reporting_enabled
+ * Whether to enable call conversion reporting.
+ * @type \Google\Protobuf\StringValue $call_conversion_action
+ * Customer-level call conversion action to attribute a call conversion to.
+ * If not set a default conversion action is used. Only in effect when
+ * call_conversion_reporting_enabled is set to true.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Customer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Enable reporting of phone call events by redirecting them via Google
+ * System.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_reporting_enabled = 1;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getCallReportingEnabled()
+ {
+ return $this->call_reporting_enabled;
+ }
+
+ /**
+ * Returns the unboxed value from getCallReportingEnabled()
+
+ * Enable reporting of phone call events by redirecting them via Google
+ * System.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_reporting_enabled = 1;
+ * @return bool|null
+ */
+ public function getCallReportingEnabledUnwrapped()
+ {
+ $wrapper = $this->getCallReportingEnabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Enable reporting of phone call events by redirecting them via Google
+ * System.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_reporting_enabled = 1;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setCallReportingEnabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->call_reporting_enabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Enable reporting of phone call events by redirecting them via Google
+ * System.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_reporting_enabled = 1;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setCallReportingEnabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setCallReportingEnabled($wrappedVar);
+ }
+
+ /**
+ * Whether to enable call conversion reporting.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_reporting_enabled = 2;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getCallConversionReportingEnabled()
+ {
+ return $this->call_conversion_reporting_enabled;
+ }
+
+ /**
+ * Returns the unboxed value from getCallConversionReportingEnabled()
+
+ * Whether to enable call conversion reporting.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_reporting_enabled = 2;
+ * @return bool|null
+ */
+ public function getCallConversionReportingEnabledUnwrapped()
+ {
+ $wrapper = $this->getCallConversionReportingEnabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether to enable call conversion reporting.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_reporting_enabled = 2;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setCallConversionReportingEnabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->call_conversion_reporting_enabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether to enable call conversion reporting.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue call_conversion_reporting_enabled = 2;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setCallConversionReportingEnabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setCallConversionReportingEnabled($wrappedVar);
+ }
+
+ /**
+ * Customer-level call conversion action to attribute a call conversion to.
+ * If not set a default conversion action is used. Only in effect when
+ * call_conversion_reporting_enabled is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallConversionAction()
+ {
+ return $this->call_conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getCallConversionAction()
+
+ * Customer-level call conversion action to attribute a call conversion to.
+ * If not set a default conversion action is used. Only in effect when
+ * call_conversion_reporting_enabled is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 9;
+ * @return string|null
+ */
+ public function getCallConversionActionUnwrapped()
+ {
+ $wrapper = $this->getCallConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Customer-level call conversion action to attribute a call conversion to.
+ * If not set a default conversion action is used. Only in effect when
+ * call_conversion_reporting_enabled is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->call_conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Customer-level call conversion action to attribute a call conversion to.
+ * If not set a default conversion action is used. Only in effect when
+ * call_conversion_reporting_enabled is set to true.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_conversion_action = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallConversionAction($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign.php
new file mode 100644
index 000000000..a0998e616
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign.php
@@ -0,0 +1,1920 @@
+google.ads.googleads.v2.resources.Campaign
+ */
+final class Campaign extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the campaign.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The status of the campaign.
+ * When a new campaign is added, the status defaults to ENABLED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignStatusEnum.CampaignStatus status = 5;
+ */
+ private $status = 0;
+ /**
+ * The ad serving status of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
+ */
+ private $serving_status = 0;
+ /**
+ * The ad serving optimization status of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8;
+ */
+ private $ad_serving_optimization_status = 0;
+ /**
+ * The primary serving target for ads within the campaign.
+ * The targeting options can be refined in `network_settings`.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * Can be set only when creating campaigns.
+ * After the campaign is created, the field can not be changed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9;
+ */
+ private $advertising_channel_type = 0;
+ /**
+ * Optional refinement to `advertising_channel_type`.
+ * Must be a valid sub-type of the parent channel type.
+ * Can be set only when creating campaigns.
+ * After campaign is created, the field can not be changed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10;
+ */
+ private $advertising_channel_sub_type = 0;
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 11;
+ */
+ private $tracking_url_template = null;
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 12;
+ */
+ private $url_custom_parameters;
+ /**
+ * Settings for Real-Time Bidding, a feature only available for campaigns
+ * targeting the Ad Exchange network.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.RealTimeBiddingSetting real_time_bidding_setting = 39;
+ */
+ private $real_time_bidding_setting = null;
+ /**
+ * The network settings for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.NetworkSettings network_settings = 14;
+ */
+ private $network_settings = null;
+ /**
+ * The hotel setting for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.HotelSettingInfo hotel_setting = 32;
+ */
+ private $hotel_setting = null;
+ /**
+ * The setting for controlling Dynamic Search Ads (DSA).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.DynamicSearchAdsSetting dynamic_search_ads_setting = 33;
+ */
+ private $dynamic_search_ads_setting = null;
+ /**
+ * The setting for controlling Shopping campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.ShoppingSetting shopping_setting = 36;
+ */
+ private $shopping_setting = null;
+ /**
+ * Setting for targeting related features.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetingSetting targeting_setting = 43;
+ */
+ private $targeting_setting = null;
+ /**
+ * The setting for ads geotargeting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.GeoTargetTypeSetting geo_target_type_setting = 47;
+ */
+ private $geo_target_type_setting = null;
+ /**
+ * The setting related to App Campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.AppCampaignSetting app_campaign_setting = 51;
+ */
+ private $app_campaign_setting = null;
+ /**
+ * The resource names of labels attached to this campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue labels = 53;
+ */
+ private $labels;
+ /**
+ * The type of campaign: normal, draft, or experiment.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17;
+ */
+ private $experiment_type = 0;
+ /**
+ * The resource name of the base campaign of a draft or experiment campaign.
+ * For base campaigns, this is equal to `resource_name`.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 28;
+ */
+ private $base_campaign = null;
+ /**
+ * The budget of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 6;
+ */
+ private $campaign_budget = null;
+ /**
+ * The type of bidding strategy.
+ * A bidding strategy can be created by setting either the bidding scheme to
+ * create a standard bidding strategy or the `bidding_strategy` field to
+ * create a portfolio bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22;
+ */
+ private $bidding_strategy_type = 0;
+ /**
+ * The date when campaign started.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 19;
+ */
+ private $start_date = null;
+ /**
+ * The date when campaign ended.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 20;
+ */
+ private $end_date = null;
+ /**
+ * Suffix used to append query parameters to landing pages that are served
+ * with parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 38;
+ */
+ private $final_url_suffix = null;
+ /**
+ * A list that limits how often each user will see this campaign's ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.FrequencyCapEntry frequency_caps = 40;
+ */
+ private $frequency_caps;
+ /**
+ * 3-Tier Brand Safety setting for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42;
+ */
+ private $video_brand_safety_suitability = 0;
+ /**
+ * Describes how unbranded pharma ads will be displayed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.VanityPharma vanity_pharma = 44;
+ */
+ private $vanity_pharma = null;
+ /**
+ * Selective optimization setting for this campaign, which includes a set of
+ * conversion actions to optimize this campaign towards.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.SelectiveOptimization selective_optimization = 45;
+ */
+ private $selective_optimization = null;
+ /**
+ * Campaign level settings for tracking information.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.TrackingSetting tracking_setting = 46;
+ */
+ private $tracking_setting = null;
+ /**
+ * Payment mode for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PaymentModeEnum.PaymentMode payment_mode = 52;
+ */
+ private $payment_mode = 0;
+ protected $campaign_bidding_strategy;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the campaign.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the campaign.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ * @type int $status
+ * The status of the campaign.
+ * When a new campaign is added, the status defaults to ENABLED.
+ * @type int $serving_status
+ * The ad serving status of the campaign.
+ * @type int $ad_serving_optimization_status
+ * The ad serving optimization status of the campaign.
+ * @type int $advertising_channel_type
+ * The primary serving target for ads within the campaign.
+ * The targeting options can be refined in `network_settings`.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * Can be set only when creating campaigns.
+ * After the campaign is created, the field can not be changed.
+ * @type int $advertising_channel_sub_type
+ * Optional refinement to `advertising_channel_type`.
+ * Must be a valid sub-type of the parent channel type.
+ * Can be set only when creating campaigns.
+ * After campaign is created, the field can not be changed.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * The URL template for constructing a tracking URL.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ * @type \Google\Ads\GoogleAds\V2\Common\RealTimeBiddingSetting $real_time_bidding_setting
+ * Settings for Real-Time Bidding, a feature only available for campaigns
+ * targeting the Ad Exchange network.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings $network_settings
+ * The network settings for the campaign.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\HotelSettingInfo $hotel_setting
+ * The hotel setting for the campaign.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\DynamicSearchAdsSetting $dynamic_search_ads_setting
+ * The setting for controlling Dynamic Search Ads (DSA).
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\ShoppingSetting $shopping_setting
+ * The setting for controlling Shopping campaigns.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetingSetting $targeting_setting
+ * Setting for targeting related features.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\GeoTargetTypeSetting $geo_target_type_setting
+ * The setting for ads geotargeting.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\AppCampaignSetting $app_campaign_setting
+ * The setting related to App Campaign.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $labels
+ * The resource names of labels attached to this campaign.
+ * @type int $experiment_type
+ * The type of campaign: normal, draft, or experiment.
+ * @type \Google\Protobuf\StringValue $base_campaign
+ * The resource name of the base campaign of a draft or experiment campaign.
+ * For base campaigns, this is equal to `resource_name`.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $campaign_budget
+ * The budget of the campaign.
+ * @type int $bidding_strategy_type
+ * The type of bidding strategy.
+ * A bidding strategy can be created by setting either the bidding scheme to
+ * create a standard bidding strategy or the `bidding_strategy` field to
+ * create a portfolio bidding strategy.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $start_date
+ * The date when campaign started.
+ * This field must not be used in WHERE clauses.
+ * @type \Google\Protobuf\StringValue $end_date
+ * The date when campaign ended.
+ * This field must not be used in WHERE clauses.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * Suffix used to append query parameters to landing pages that are served
+ * with parallel tracking.
+ * @type \Google\Ads\GoogleAds\V2\Common\FrequencyCapEntry[]|\Google\Protobuf\Internal\RepeatedField $frequency_caps
+ * A list that limits how often each user will see this campaign's ads.
+ * @type int $video_brand_safety_suitability
+ * 3-Tier Brand Safety setting for the campaign.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\VanityPharma $vanity_pharma
+ * Describes how unbranded pharma ads will be displayed.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\SelectiveOptimization $selective_optimization
+ * Selective optimization setting for this campaign, which includes a set of
+ * conversion actions to optimize this campaign towards.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign\TrackingSetting $tracking_setting
+ * Campaign level settings for tracking information.
+ * @type int $payment_mode
+ * Payment mode for the campaign.
+ * @type \Google\Protobuf\StringValue $bidding_strategy
+ * Portfolio bidding strategy used by campaign.
+ * @type \Google\Ads\GoogleAds\V2\Common\Commission $commission
+ * Commission is an automatic bidding strategy in which the advertiser pays
+ * a certain portion of the conversion value.
+ * @type \Google\Ads\GoogleAds\V2\Common\ManualCpc $manual_cpc
+ * Standard Manual CPC bidding strategy.
+ * Manual click-based bidding where user pays per click.
+ * @type \Google\Ads\GoogleAds\V2\Common\ManualCpm $manual_cpm
+ * Standard Manual CPM bidding strategy.
+ * Manual impression-based bidding where user pays per thousand
+ * impressions.
+ * @type \Google\Ads\GoogleAds\V2\Common\ManualCpv $manual_cpv
+ * A bidding strategy that pays a configurable amount per video view.
+ * @type \Google\Ads\GoogleAds\V2\Common\MaximizeConversions $maximize_conversions
+ * Standard Maximize Conversions bidding strategy that automatically
+ * maximizes number of conversions given a daily budget.
+ * @type \Google\Ads\GoogleAds\V2\Common\MaximizeConversionValue $maximize_conversion_value
+ * Standard Maximize Conversion Value bidding strategy that automatically
+ * sets bids to maximize revenue while spending your budget.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetCpa $target_cpa
+ * Standard Target CPA bidding strategy that automatically sets bids to
+ * help get as many conversions as possible at the target
+ * cost-per-acquisition (CPA) you set.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare $target_impression_share
+ * Target Impression Share bidding strategy. An automated bidding strategy
+ * that sets bids to achieve a desired percentage of impressions.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetRoas $target_roas
+ * Standard Target ROAS bidding strategy that automatically maximizes
+ * revenue while averaging a specific target return on ad spend (ROAS).
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetSpend $target_spend
+ * Standard Target Spend bidding strategy that automatically sets your bids
+ * to help get as many clicks as possible within your budget.
+ * @type \Google\Ads\GoogleAds\V2\Common\PercentCpc $percent_cpc
+ * Standard Percent Cpc bidding strategy where bids are a fraction of the
+ * advertised price for some good or service.
+ * @type \Google\Ads\GoogleAds\V2\Common\TargetCpm $target_cpm
+ * A bidding strategy that automatically optimizes cost per thousand
+ * impressions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the campaign.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the campaign.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the campaign.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the campaign.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The status of the campaign.
+ * When a new campaign is added, the status defaults to ENABLED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignStatusEnum.CampaignStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the campaign.
+ * When a new campaign is added, the status defaults to ENABLED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignStatusEnum.CampaignStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignStatusEnum_CampaignStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad serving status of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
+ * @return int
+ */
+ public function getServingStatus()
+ {
+ return $this->serving_status;
+ }
+
+ /**
+ * The ad serving status of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
+ * @param int $var
+ * @return $this
+ */
+ public function setServingStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignServingStatusEnum_CampaignServingStatus::class);
+ $this->serving_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad serving optimization status of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8;
+ * @return int
+ */
+ public function getAdServingOptimizationStatus()
+ {
+ return $this->ad_serving_optimization_status;
+ }
+
+ /**
+ * The ad serving optimization status of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdServingOptimizationStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdServingOptimizationStatusEnum_AdServingOptimizationStatus::class);
+ $this->ad_serving_optimization_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The primary serving target for ads within the campaign.
+ * The targeting options can be refined in `network_settings`.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * Can be set only when creating campaigns.
+ * After the campaign is created, the field can not be changed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9;
+ * @return int
+ */
+ public function getAdvertisingChannelType()
+ {
+ return $this->advertising_channel_type;
+ }
+
+ /**
+ * The primary serving target for ads within the campaign.
+ * The targeting options can be refined in `network_settings`.
+ * This field is required and should not be empty when creating new
+ * campaigns.
+ * Can be set only when creating campaigns.
+ * After the campaign is created, the field can not be changed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdvertisingChannelType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelTypeEnum_AdvertisingChannelType::class);
+ $this->advertising_channel_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional refinement to `advertising_channel_type`.
+ * Must be a valid sub-type of the parent channel type.
+ * Can be set only when creating campaigns.
+ * After campaign is created, the field can not be changed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10;
+ * @return int
+ */
+ public function getAdvertisingChannelSubType()
+ {
+ return $this->advertising_channel_sub_type;
+ }
+
+ /**
+ * Optional refinement to `advertising_channel_type`.
+ * Must be a valid sub-type of the parent channel type.
+ * Can be set only when creating campaigns.
+ * After campaign is created, the field can not be changed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdvertisingChannelSubType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AdvertisingChannelSubTypeEnum_AdvertisingChannelSubType::class);
+ $this->advertising_channel_sub_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 11;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL template for constructing a tracking URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 12;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 12;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Settings for Real-Time Bidding, a feature only available for campaigns
+ * targeting the Ad Exchange network.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.RealTimeBiddingSetting real_time_bidding_setting = 39;
+ * @return \Google\Ads\GoogleAds\V2\Common\RealTimeBiddingSetting
+ */
+ public function getRealTimeBiddingSetting()
+ {
+ return $this->real_time_bidding_setting;
+ }
+
+ /**
+ * Settings for Real-Time Bidding, a feature only available for campaigns
+ * targeting the Ad Exchange network.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.RealTimeBiddingSetting real_time_bidding_setting = 39;
+ * @param \Google\Ads\GoogleAds\V2\Common\RealTimeBiddingSetting $var
+ * @return $this
+ */
+ public function setRealTimeBiddingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\RealTimeBiddingSetting::class);
+ $this->real_time_bidding_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The network settings for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.NetworkSettings network_settings = 14;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings
+ */
+ public function getNetworkSettings()
+ {
+ return $this->network_settings;
+ }
+
+ /**
+ * The network settings for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.NetworkSettings network_settings = 14;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\NetworkSettings $var
+ * @return $this
+ */
+ public function setNetworkSettings($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_NetworkSettings::class);
+ $this->network_settings = $var;
+
+ return $this;
+ }
+
+ /**
+ * The hotel setting for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.HotelSettingInfo hotel_setting = 32;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\HotelSettingInfo
+ */
+ public function getHotelSetting()
+ {
+ return $this->hotel_setting;
+ }
+
+ /**
+ * The hotel setting for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.HotelSettingInfo hotel_setting = 32;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\HotelSettingInfo $var
+ * @return $this
+ */
+ public function setHotelSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_HotelSettingInfo::class);
+ $this->hotel_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The setting for controlling Dynamic Search Ads (DSA).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.DynamicSearchAdsSetting dynamic_search_ads_setting = 33;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\DynamicSearchAdsSetting
+ */
+ public function getDynamicSearchAdsSetting()
+ {
+ return $this->dynamic_search_ads_setting;
+ }
+
+ /**
+ * The setting for controlling Dynamic Search Ads (DSA).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.DynamicSearchAdsSetting dynamic_search_ads_setting = 33;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\DynamicSearchAdsSetting $var
+ * @return $this
+ */
+ public function setDynamicSearchAdsSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_DynamicSearchAdsSetting::class);
+ $this->dynamic_search_ads_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The setting for controlling Shopping campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.ShoppingSetting shopping_setting = 36;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\ShoppingSetting
+ */
+ public function getShoppingSetting()
+ {
+ return $this->shopping_setting;
+ }
+
+ /**
+ * The setting for controlling Shopping campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.ShoppingSetting shopping_setting = 36;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\ShoppingSetting $var
+ * @return $this
+ */
+ public function setShoppingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_ShoppingSetting::class);
+ $this->shopping_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Setting for targeting related features.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetingSetting targeting_setting = 43;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetingSetting
+ */
+ public function getTargetingSetting()
+ {
+ return $this->targeting_setting;
+ }
+
+ /**
+ * Setting for targeting related features.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetingSetting targeting_setting = 43;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetingSetting $var
+ * @return $this
+ */
+ public function setTargetingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetingSetting::class);
+ $this->targeting_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The setting for ads geotargeting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.GeoTargetTypeSetting geo_target_type_setting = 47;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\GeoTargetTypeSetting
+ */
+ public function getGeoTargetTypeSetting()
+ {
+ return $this->geo_target_type_setting;
+ }
+
+ /**
+ * The setting for ads geotargeting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.GeoTargetTypeSetting geo_target_type_setting = 47;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\GeoTargetTypeSetting $var
+ * @return $this
+ */
+ public function setGeoTargetTypeSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_GeoTargetTypeSetting::class);
+ $this->geo_target_type_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The setting related to App Campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.AppCampaignSetting app_campaign_setting = 51;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\AppCampaignSetting
+ */
+ public function getAppCampaignSetting()
+ {
+ return $this->app_campaign_setting;
+ }
+
+ /**
+ * The setting related to App Campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.AppCampaignSetting app_campaign_setting = 51;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\AppCampaignSetting $var
+ * @return $this
+ */
+ public function setAppCampaignSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_AppCampaignSetting::class);
+ $this->app_campaign_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource names of labels attached to this campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue labels = 53;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLabels()
+ {
+ return $this->labels;
+ }
+
+ /**
+ * The resource names of labels attached to this campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue labels = 53;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLabels($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->labels = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The type of campaign: normal, draft, or experiment.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17;
+ * @return int
+ */
+ public function getExperimentType()
+ {
+ return $this->experiment_type;
+ }
+
+ /**
+ * The type of campaign: normal, draft, or experiment.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17;
+ * @param int $var
+ * @return $this
+ */
+ public function setExperimentType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignExperimentTypeEnum_CampaignExperimentType::class);
+ $this->experiment_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the base campaign of a draft or experiment campaign.
+ * For base campaigns, this is equal to `resource_name`.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 28;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBaseCampaign()
+ {
+ return $this->base_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getBaseCampaign()
+
+ * The resource name of the base campaign of a draft or experiment campaign.
+ * For base campaigns, this is equal to `resource_name`.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 28;
+ * @return string|null
+ */
+ public function getBaseCampaignUnwrapped()
+ {
+ $wrapper = $this->getBaseCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the base campaign of a draft or experiment campaign.
+ * For base campaigns, this is equal to `resource_name`.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 28;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBaseCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->base_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the base campaign of a draft or experiment campaign.
+ * For base campaigns, this is equal to `resource_name`.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 28;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBaseCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBaseCampaign($wrappedVar);
+ }
+
+ /**
+ * The budget of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaignBudget()
+ {
+ return $this->campaign_budget;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignBudget()
+
+ * The budget of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 6;
+ * @return string|null
+ */
+ public function getCampaignBudgetUnwrapped()
+ {
+ $wrapper = $this->getCampaignBudget();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The budget of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaignBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The budget of the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignBudgetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaignBudget($wrappedVar);
+ }
+
+ /**
+ * The type of bidding strategy.
+ * A bidding strategy can be created by setting either the bidding scheme to
+ * create a standard bidding strategy or the `bidding_strategy` field to
+ * create a portfolio bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22;
+ * @return int
+ */
+ public function getBiddingStrategyType()
+ {
+ return $this->bidding_strategy_type;
+ }
+
+ /**
+ * The type of bidding strategy.
+ * A bidding strategy can be created by setting either the bidding scheme to
+ * create a standard bidding strategy or the `bidding_strategy` field to
+ * create a portfolio bidding strategy.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22;
+ * @param int $var
+ * @return $this
+ */
+ public function setBiddingStrategyType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BiddingStrategyTypeEnum_BiddingStrategyType::class);
+ $this->bidding_strategy_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The date when campaign started.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 19;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * The date when campaign started.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 19;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date when campaign started.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 19;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date when campaign started.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 19;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * The date when campaign ended.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 20;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * The date when campaign ended.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 20;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date when campaign ended.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 20;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date when campaign ended.
+ * This field must not be used in WHERE clauses.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 20;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+ /**
+ * Suffix used to append query parameters to landing pages that are served
+ * with parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 38;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * Suffix used to append query parameters to landing pages that are served
+ * with parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 38;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Suffix used to append query parameters to landing pages that are served
+ * with parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 38;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Suffix used to append query parameters to landing pages that are served
+ * with parallel tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 38;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+ /**
+ * A list that limits how often each user will see this campaign's ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.FrequencyCapEntry frequency_caps = 40;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFrequencyCaps()
+ {
+ return $this->frequency_caps;
+ }
+
+ /**
+ * A list that limits how often each user will see this campaign's ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.FrequencyCapEntry frequency_caps = 40;
+ * @param \Google\Ads\GoogleAds\V2\Common\FrequencyCapEntry[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFrequencyCaps($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\FrequencyCapEntry::class);
+ $this->frequency_caps = $arr;
+
+ return $this;
+ }
+
+ /**
+ * 3-Tier Brand Safety setting for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42;
+ * @return int
+ */
+ public function getVideoBrandSafetySuitability()
+ {
+ return $this->video_brand_safety_suitability;
+ }
+
+ /**
+ * 3-Tier Brand Safety setting for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42;
+ * @param int $var
+ * @return $this
+ */
+ public function setVideoBrandSafetySuitability($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BrandSafetySuitabilityEnum_BrandSafetySuitability::class);
+ $this->video_brand_safety_suitability = $var;
+
+ return $this;
+ }
+
+ /**
+ * Describes how unbranded pharma ads will be displayed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.VanityPharma vanity_pharma = 44;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\VanityPharma
+ */
+ public function getVanityPharma()
+ {
+ return $this->vanity_pharma;
+ }
+
+ /**
+ * Describes how unbranded pharma ads will be displayed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.VanityPharma vanity_pharma = 44;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\VanityPharma $var
+ * @return $this
+ */
+ public function setVanityPharma($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_VanityPharma::class);
+ $this->vanity_pharma = $var;
+
+ return $this;
+ }
+
+ /**
+ * Selective optimization setting for this campaign, which includes a set of
+ * conversion actions to optimize this campaign towards.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.SelectiveOptimization selective_optimization = 45;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\SelectiveOptimization
+ */
+ public function getSelectiveOptimization()
+ {
+ return $this->selective_optimization;
+ }
+
+ /**
+ * Selective optimization setting for this campaign, which includes a set of
+ * conversion actions to optimize this campaign towards.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.SelectiveOptimization selective_optimization = 45;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\SelectiveOptimization $var
+ * @return $this
+ */
+ public function setSelectiveOptimization($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_SelectiveOptimization::class);
+ $this->selective_optimization = $var;
+
+ return $this;
+ }
+
+ /**
+ * Campaign level settings for tracking information.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.TrackingSetting tracking_setting = 46;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign\TrackingSetting
+ */
+ public function getTrackingSetting()
+ {
+ return $this->tracking_setting;
+ }
+
+ /**
+ * Campaign level settings for tracking information.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign.TrackingSetting tracking_setting = 46;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign\TrackingSetting $var
+ * @return $this
+ */
+ public function setTrackingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign_TrackingSetting::class);
+ $this->tracking_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Payment mode for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PaymentModeEnum.PaymentMode payment_mode = 52;
+ * @return int
+ */
+ public function getPaymentMode()
+ {
+ return $this->payment_mode;
+ }
+
+ /**
+ * Payment mode for the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PaymentModeEnum.PaymentMode payment_mode = 52;
+ * @param int $var
+ * @return $this
+ */
+ public function setPaymentMode($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PaymentModeEnum_PaymentMode::class);
+ $this->payment_mode = $var;
+
+ return $this;
+ }
+
+ /**
+ * Portfolio bidding strategy used by campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue bidding_strategy = 23;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBiddingStrategy()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * Returns the unboxed value from getBiddingStrategy()
+
+ * Portfolio bidding strategy used by campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue bidding_strategy = 23;
+ * @return string|null
+ */
+ public function getBiddingStrategyUnwrapped()
+ {
+ $wrapper = $this->getBiddingStrategy();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Portfolio bidding strategy used by campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue bidding_strategy = 23;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBiddingStrategy($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Portfolio bidding strategy used by campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue bidding_strategy = 23;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBiddingStrategyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBiddingStrategy($wrappedVar);
+ }
+
+ /**
+ * Commission is an automatic bidding strategy in which the advertiser pays
+ * a certain portion of the conversion value.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Commission commission = 49;
+ * @return \Google\Ads\GoogleAds\V2\Common\Commission
+ */
+ public function getCommission()
+ {
+ return $this->readOneof(49);
+ }
+
+ /**
+ * Commission is an automatic bidding strategy in which the advertiser pays
+ * a certain portion of the conversion value.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Commission commission = 49;
+ * @param \Google\Ads\GoogleAds\V2\Common\Commission $var
+ * @return $this
+ */
+ public function setCommission($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Commission::class);
+ $this->writeOneof(49, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Manual CPC bidding strategy.
+ * Manual click-based bidding where user pays per click.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ManualCpc manual_cpc = 24;
+ * @return \Google\Ads\GoogleAds\V2\Common\ManualCpc
+ */
+ public function getManualCpc()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * Standard Manual CPC bidding strategy.
+ * Manual click-based bidding where user pays per click.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ManualCpc manual_cpc = 24;
+ * @param \Google\Ads\GoogleAds\V2\Common\ManualCpc $var
+ * @return $this
+ */
+ public function setManualCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ManualCpc::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Manual CPM bidding strategy.
+ * Manual impression-based bidding where user pays per thousand
+ * impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ManualCpm manual_cpm = 25;
+ * @return \Google\Ads\GoogleAds\V2\Common\ManualCpm
+ */
+ public function getManualCpm()
+ {
+ return $this->readOneof(25);
+ }
+
+ /**
+ * Standard Manual CPM bidding strategy.
+ * Manual impression-based bidding where user pays per thousand
+ * impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ManualCpm manual_cpm = 25;
+ * @param \Google\Ads\GoogleAds\V2\Common\ManualCpm $var
+ * @return $this
+ */
+ public function setManualCpm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ManualCpm::class);
+ $this->writeOneof(25, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that pays a configurable amount per video view.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ManualCpv manual_cpv = 37;
+ * @return \Google\Ads\GoogleAds\V2\Common\ManualCpv
+ */
+ public function getManualCpv()
+ {
+ return $this->readOneof(37);
+ }
+
+ /**
+ * A bidding strategy that pays a configurable amount per video view.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ManualCpv manual_cpv = 37;
+ * @param \Google\Ads\GoogleAds\V2\Common\ManualCpv $var
+ * @return $this
+ */
+ public function setManualCpv($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ManualCpv::class);
+ $this->writeOneof(37, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Maximize Conversions bidding strategy that automatically
+ * maximizes number of conversions given a daily budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MaximizeConversions maximize_conversions = 30;
+ * @return \Google\Ads\GoogleAds\V2\Common\MaximizeConversions
+ */
+ public function getMaximizeConversions()
+ {
+ return $this->readOneof(30);
+ }
+
+ /**
+ * Standard Maximize Conversions bidding strategy that automatically
+ * maximizes number of conversions given a daily budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MaximizeConversions maximize_conversions = 30;
+ * @param \Google\Ads\GoogleAds\V2\Common\MaximizeConversions $var
+ * @return $this
+ */
+ public function setMaximizeConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MaximizeConversions::class);
+ $this->writeOneof(30, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Maximize Conversion Value bidding strategy that automatically
+ * sets bids to maximize revenue while spending your budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MaximizeConversionValue maximize_conversion_value = 31;
+ * @return \Google\Ads\GoogleAds\V2\Common\MaximizeConversionValue
+ */
+ public function getMaximizeConversionValue()
+ {
+ return $this->readOneof(31);
+ }
+
+ /**
+ * Standard Maximize Conversion Value bidding strategy that automatically
+ * sets bids to maximize revenue while spending your budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MaximizeConversionValue maximize_conversion_value = 31;
+ * @param \Google\Ads\GoogleAds\V2\Common\MaximizeConversionValue $var
+ * @return $this
+ */
+ public function setMaximizeConversionValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MaximizeConversionValue::class);
+ $this->writeOneof(31, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Target CPA bidding strategy that automatically sets bids to
+ * help get as many conversions as possible at the target
+ * cost-per-acquisition (CPA) you set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpa target_cpa = 26;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetCpa
+ */
+ public function getTargetCpa()
+ {
+ return $this->readOneof(26);
+ }
+
+ /**
+ * Standard Target CPA bidding strategy that automatically sets bids to
+ * help get as many conversions as possible at the target
+ * cost-per-acquisition (CPA) you set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpa target_cpa = 26;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetCpa $var
+ * @return $this
+ */
+ public function setTargetCpa($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetCpa::class);
+ $this->writeOneof(26, $var);
+
+ return $this;
+ }
+
+ /**
+ * Target Impression Share bidding strategy. An automated bidding strategy
+ * that sets bids to achieve a desired percentage of impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetImpressionShare target_impression_share = 48;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare
+ */
+ public function getTargetImpressionShare()
+ {
+ return $this->readOneof(48);
+ }
+
+ /**
+ * Target Impression Share bidding strategy. An automated bidding strategy
+ * that sets bids to achieve a desired percentage of impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetImpressionShare target_impression_share = 48;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare $var
+ * @return $this
+ */
+ public function setTargetImpressionShare($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetImpressionShare::class);
+ $this->writeOneof(48, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Target ROAS bidding strategy that automatically maximizes
+ * revenue while averaging a specific target return on ad spend (ROAS).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetRoas target_roas = 29;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetRoas
+ */
+ public function getTargetRoas()
+ {
+ return $this->readOneof(29);
+ }
+
+ /**
+ * Standard Target ROAS bidding strategy that automatically maximizes
+ * revenue while averaging a specific target return on ad spend (ROAS).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetRoas target_roas = 29;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetRoas $var
+ * @return $this
+ */
+ public function setTargetRoas($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetRoas::class);
+ $this->writeOneof(29, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Target Spend bidding strategy that automatically sets your bids
+ * to help get as many clicks as possible within your budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetSpend target_spend = 27;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetSpend
+ */
+ public function getTargetSpend()
+ {
+ return $this->readOneof(27);
+ }
+
+ /**
+ * Standard Target Spend bidding strategy that automatically sets your bids
+ * to help get as many clicks as possible within your budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetSpend target_spend = 27;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetSpend $var
+ * @return $this
+ */
+ public function setTargetSpend($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetSpend::class);
+ $this->writeOneof(27, $var);
+
+ return $this;
+ }
+
+ /**
+ * Standard Percent Cpc bidding strategy where bids are a fraction of the
+ * advertised price for some good or service.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PercentCpc percent_cpc = 34;
+ * @return \Google\Ads\GoogleAds\V2\Common\PercentCpc
+ */
+ public function getPercentCpc()
+ {
+ return $this->readOneof(34);
+ }
+
+ /**
+ * Standard Percent Cpc bidding strategy where bids are a fraction of the
+ * advertised price for some good or service.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PercentCpc percent_cpc = 34;
+ * @param \Google\Ads\GoogleAds\V2\Common\PercentCpc $var
+ * @return $this
+ */
+ public function setPercentCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PercentCpc::class);
+ $this->writeOneof(34, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy that automatically optimizes cost per thousand
+ * impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpm target_cpm = 41;
+ * @return \Google\Ads\GoogleAds\V2\Common\TargetCpm
+ */
+ public function getTargetCpm()
+ {
+ return $this->readOneof(41);
+ }
+
+ /**
+ * A bidding strategy that automatically optimizes cost per thousand
+ * impressions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TargetCpm target_cpm = 41;
+ * @param \Google\Ads\GoogleAds\V2\Common\TargetCpm $var
+ * @return $this
+ */
+ public function setTargetCpm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TargetCpm::class);
+ $this->writeOneof(41, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCampaignBiddingStrategy()
+ {
+ return $this->whichOneof("campaign_bidding_strategy");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/AppCampaignSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/AppCampaignSetting.php
new file mode 100644
index 000000000..7e5383715
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/AppCampaignSetting.php
@@ -0,0 +1,171 @@
+google.ads.googleads.v2.resources.Campaign.AppCampaignSetting
+ */
+final class AppCampaignSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Represents the goal which the bidding strategy of this app campaign
+ * should optimize towards.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1;
+ */
+ private $bidding_strategy_goal_type = 0;
+ /**
+ * A string that uniquely identifies a mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ */
+ private $app_id = null;
+ /**
+ * The application store that distributes this specific app.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3;
+ */
+ private $app_store = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $bidding_strategy_goal_type
+ * Represents the goal which the bidding strategy of this app campaign
+ * should optimize towards.
+ * @type \Google\Protobuf\StringValue $app_id
+ * A string that uniquely identifies a mobile application.
+ * @type int $app_store
+ * The application store that distributes this specific app.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Represents the goal which the bidding strategy of this app campaign
+ * should optimize towards.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1;
+ * @return int
+ */
+ public function getBiddingStrategyGoalType()
+ {
+ return $this->bidding_strategy_goal_type;
+ }
+
+ /**
+ * Represents the goal which the bidding strategy of this app campaign
+ * should optimize towards.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setBiddingStrategyGoalType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType::class);
+ $this->bidding_strategy_goal_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * A string that uniquely identifies a mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAppId()
+ {
+ return $this->app_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAppId()
+
+ * A string that uniquely identifies a mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @return string|null
+ */
+ public function getAppIdUnwrapped()
+ {
+ $wrapper = $this->getAppId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A string that uniquely identifies a mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAppId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->app_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A string that uniquely identifies a mobile application.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAppIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAppId($wrappedVar);
+ }
+
+ /**
+ * The application store that distributes this specific app.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3;
+ * @return int
+ */
+ public function getAppStore()
+ {
+ return $this->app_store;
+ }
+
+ /**
+ * The application store that distributes this specific app.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setAppStore($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AppCampaignAppStoreEnum_AppCampaignAppStore::class);
+ $this->app_store = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(AppCampaignSetting::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_AppCampaignSetting::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/DynamicSearchAdsSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/DynamicSearchAdsSetting.php
new file mode 100644
index 000000000..50291071f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/DynamicSearchAdsSetting.php
@@ -0,0 +1,265 @@
+google.ads.googleads.v2.resources.Campaign.DynamicSearchAdsSetting
+ */
+final class DynamicSearchAdsSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Internet domain name that this setting represents, e.g., "google.com"
+ * or "www.google.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain_name = 1;
+ */
+ private $domain_name = null;
+ /**
+ * The language code specifying the language of the domain, e.g., "en".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 2;
+ */
+ private $language_code = null;
+ /**
+ * Whether the campaign uses advertiser supplied URLs exclusively.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue use_supplied_urls_only = 3;
+ */
+ private $use_supplied_urls_only = null;
+ /**
+ * The list of page feeds associated with the campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue feeds = 5;
+ */
+ private $feeds;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $domain_name
+ * The Internet domain name that this setting represents, e.g., "google.com"
+ * or "www.google.com".
+ * @type \Google\Protobuf\StringValue $language_code
+ * The language code specifying the language of the domain, e.g., "en".
+ * @type \Google\Protobuf\BoolValue $use_supplied_urls_only
+ * Whether the campaign uses advertiser supplied URLs exclusively.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $feeds
+ * The list of page feeds associated with the campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Internet domain name that this setting represents, e.g., "google.com"
+ * or "www.google.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain_name = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDomainName()
+ {
+ return $this->domain_name;
+ }
+
+ /**
+ * Returns the unboxed value from getDomainName()
+
+ * The Internet domain name that this setting represents, e.g., "google.com"
+ * or "www.google.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain_name = 1;
+ * @return string|null
+ */
+ public function getDomainNameUnwrapped()
+ {
+ $wrapper = $this->getDomainName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Internet domain name that this setting represents, e.g., "google.com"
+ * or "www.google.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain_name = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDomainName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->domain_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Internet domain name that this setting represents, e.g., "google.com"
+ * or "www.google.com".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain_name = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDomainNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDomainName($wrappedVar);
+ }
+
+ /**
+ * The language code specifying the language of the domain, e.g., "en".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * The language code specifying the language of the domain, e.g., "en".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 2;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language code specifying the language of the domain, e.g., "en".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language code specifying the language of the domain, e.g., "en".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+ /**
+ * Whether the campaign uses advertiser supplied URLs exclusively.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue use_supplied_urls_only = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getUseSuppliedUrlsOnly()
+ {
+ return $this->use_supplied_urls_only;
+ }
+
+ /**
+ * Returns the unboxed value from getUseSuppliedUrlsOnly()
+
+ * Whether the campaign uses advertiser supplied URLs exclusively.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue use_supplied_urls_only = 3;
+ * @return bool|null
+ */
+ public function getUseSuppliedUrlsOnlyUnwrapped()
+ {
+ $wrapper = $this->getUseSuppliedUrlsOnly();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the campaign uses advertiser supplied URLs exclusively.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue use_supplied_urls_only = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setUseSuppliedUrlsOnly($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->use_supplied_urls_only = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the campaign uses advertiser supplied URLs exclusively.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue use_supplied_urls_only = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setUseSuppliedUrlsOnlyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setUseSuppliedUrlsOnly($wrappedVar);
+ }
+
+ /**
+ * The list of page feeds associated with the campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue feeds = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFeeds()
+ {
+ return $this->feeds;
+ }
+
+ /**
+ * The list of page feeds associated with the campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue feeds = 5;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFeeds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->feeds = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DynamicSearchAdsSetting::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_DynamicSearchAdsSetting::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/GeoTargetTypeSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/GeoTargetTypeSetting.php
new file mode 100644
index 000000000..fdff7438a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/GeoTargetTypeSetting.php
@@ -0,0 +1,104 @@
+google.ads.googleads.v2.resources.Campaign.GeoTargetTypeSetting
+ */
+final class GeoTargetTypeSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The setting used for positive geotargeting in this particular campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
+ */
+ private $positive_geo_target_type = 0;
+ /**
+ * The setting used for negative geotargeting in this particular campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
+ */
+ private $negative_geo_target_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $positive_geo_target_type
+ * The setting used for positive geotargeting in this particular campaign.
+ * @type int $negative_geo_target_type
+ * The setting used for negative geotargeting in this particular campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The setting used for positive geotargeting in this particular campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
+ * @return int
+ */
+ public function getPositiveGeoTargetType()
+ {
+ return $this->positive_geo_target_type;
+ }
+
+ /**
+ * The setting used for positive geotargeting in this particular campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setPositiveGeoTargetType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PositiveGeoTargetTypeEnum_PositiveGeoTargetType::class);
+ $this->positive_geo_target_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The setting used for negative geotargeting in this particular campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
+ * @return int
+ */
+ public function getNegativeGeoTargetType()
+ {
+ return $this->negative_geo_target_type;
+ }
+
+ /**
+ * The setting used for negative geotargeting in this particular campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setNegativeGeoTargetType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\NegativeGeoTargetTypeEnum_NegativeGeoTargetType::class);
+ $this->negative_geo_target_type = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(GeoTargetTypeSetting::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_GeoTargetTypeSetting::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/HotelSettingInfo.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/HotelSettingInfo.php
new file mode 100644
index 000000000..62c432338
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/HotelSettingInfo.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.resources.Campaign.HotelSettingInfo
+ */
+final class HotelSettingInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The linked Hotel Center account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 1;
+ */
+ private $hotel_center_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $hotel_center_id
+ * The linked Hotel Center account.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The linked Hotel Center account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getHotelCenterId()
+ {
+ return $this->hotel_center_id;
+ }
+
+ /**
+ * Returns the unboxed value from getHotelCenterId()
+
+ * The linked Hotel Center account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 1;
+ * @return int|string|null
+ */
+ public function getHotelCenterIdUnwrapped()
+ {
+ $wrapper = $this->getHotelCenterId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The linked Hotel Center account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setHotelCenterId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->hotel_center_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The linked Hotel Center account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value hotel_center_id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setHotelCenterIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setHotelCenterId($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(HotelSettingInfo::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_HotelSettingInfo::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/NetworkSettings.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/NetworkSettings.php
new file mode 100644
index 000000000..6d8a7955f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/NetworkSettings.php
@@ -0,0 +1,306 @@
+google.ads.googleads.v2.resources.Campaign.NetworkSettings
+ */
+final class NetworkSettings extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Whether ads will be served with google.com search results.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_google_search = 1;
+ */
+ private $target_google_search = null;
+ /**
+ * Whether ads will be served on partner sites in the Google Search Network
+ * (requires `target_google_search` to also be `true`).
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_search_network = 2;
+ */
+ private $target_search_network = null;
+ /**
+ * Whether ads will be served on specified placements in the Google Display
+ * Network. Placements are specified using the Placement criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_content_network = 3;
+ */
+ private $target_content_network = null;
+ /**
+ * Whether ads will be served on the Google Partner Network.
+ * This is available only to some select Google partner accounts.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_partner_search_network = 4;
+ */
+ private $target_partner_search_network = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BoolValue $target_google_search
+ * Whether ads will be served with google.com search results.
+ * @type \Google\Protobuf\BoolValue $target_search_network
+ * Whether ads will be served on partner sites in the Google Search Network
+ * (requires `target_google_search` to also be `true`).
+ * @type \Google\Protobuf\BoolValue $target_content_network
+ * Whether ads will be served on specified placements in the Google Display
+ * Network. Placements are specified using the Placement criterion.
+ * @type \Google\Protobuf\BoolValue $target_partner_search_network
+ * Whether ads will be served on the Google Partner Network.
+ * This is available only to some select Google partner accounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Whether ads will be served with google.com search results.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_google_search = 1;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTargetGoogleSearch()
+ {
+ return $this->target_google_search;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetGoogleSearch()
+
+ * Whether ads will be served with google.com search results.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_google_search = 1;
+ * @return bool|null
+ */
+ public function getTargetGoogleSearchUnwrapped()
+ {
+ $wrapper = $this->getTargetGoogleSearch();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether ads will be served with google.com search results.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_google_search = 1;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTargetGoogleSearch($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->target_google_search = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether ads will be served with google.com search results.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_google_search = 1;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTargetGoogleSearchUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTargetGoogleSearch($wrappedVar);
+ }
+
+ /**
+ * Whether ads will be served on partner sites in the Google Search Network
+ * (requires `target_google_search` to also be `true`).
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_search_network = 2;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTargetSearchNetwork()
+ {
+ return $this->target_search_network;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetSearchNetwork()
+
+ * Whether ads will be served on partner sites in the Google Search Network
+ * (requires `target_google_search` to also be `true`).
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_search_network = 2;
+ * @return bool|null
+ */
+ public function getTargetSearchNetworkUnwrapped()
+ {
+ $wrapper = $this->getTargetSearchNetwork();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether ads will be served on partner sites in the Google Search Network
+ * (requires `target_google_search` to also be `true`).
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_search_network = 2;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTargetSearchNetwork($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->target_search_network = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether ads will be served on partner sites in the Google Search Network
+ * (requires `target_google_search` to also be `true`).
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_search_network = 2;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTargetSearchNetworkUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTargetSearchNetwork($wrappedVar);
+ }
+
+ /**
+ * Whether ads will be served on specified placements in the Google Display
+ * Network. Placements are specified using the Placement criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_content_network = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTargetContentNetwork()
+ {
+ return $this->target_content_network;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetContentNetwork()
+
+ * Whether ads will be served on specified placements in the Google Display
+ * Network. Placements are specified using the Placement criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_content_network = 3;
+ * @return bool|null
+ */
+ public function getTargetContentNetworkUnwrapped()
+ {
+ $wrapper = $this->getTargetContentNetwork();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether ads will be served on specified placements in the Google Display
+ * Network. Placements are specified using the Placement criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_content_network = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTargetContentNetwork($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->target_content_network = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether ads will be served on specified placements in the Google Display
+ * Network. Placements are specified using the Placement criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_content_network = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTargetContentNetworkUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTargetContentNetwork($wrappedVar);
+ }
+
+ /**
+ * Whether ads will be served on the Google Partner Network.
+ * This is available only to some select Google partner accounts.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_partner_search_network = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTargetPartnerSearchNetwork()
+ {
+ return $this->target_partner_search_network;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetPartnerSearchNetwork()
+
+ * Whether ads will be served on the Google Partner Network.
+ * This is available only to some select Google partner accounts.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_partner_search_network = 4;
+ * @return bool|null
+ */
+ public function getTargetPartnerSearchNetworkUnwrapped()
+ {
+ $wrapper = $this->getTargetPartnerSearchNetwork();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether ads will be served on the Google Partner Network.
+ * This is available only to some select Google partner accounts.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_partner_search_network = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTargetPartnerSearchNetwork($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->target_partner_search_network = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether ads will be served on the Google Partner Network.
+ * This is available only to some select Google partner accounts.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue target_partner_search_network = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTargetPartnerSearchNetworkUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTargetPartnerSearchNetwork($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(NetworkSettings::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_NetworkSettings::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/SelectiveOptimization.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/SelectiveOptimization.php
new file mode 100644
index 000000000..2413790a0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/SelectiveOptimization.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.resources.Campaign.SelectiveOptimization
+ */
+final class SelectiveOptimization extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The selected set of conversion actions for optimizing this campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue conversion_actions = 1;
+ */
+ private $conversion_actions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $conversion_actions
+ * The selected set of conversion actions for optimizing this campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The selected set of conversion actions for optimizing this campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue conversion_actions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConversionActions()
+ {
+ return $this->conversion_actions;
+ }
+
+ /**
+ * The selected set of conversion actions for optimizing this campaign.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue conversion_actions = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConversionActions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->conversion_actions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(SelectiveOptimization::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_SelectiveOptimization::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/ShoppingSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/ShoppingSetting.php
new file mode 100644
index 000000000..b74a128c3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/ShoppingSetting.php
@@ -0,0 +1,350 @@
+google.ads.googleads.v2.resources.Campaign.ShoppingSetting
+ */
+final class ShoppingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the Merchant Center account.
+ * This field is required for create operations. This field is immutable for
+ * Shopping campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value merchant_id = 1;
+ */
+ private $merchant_id = null;
+ /**
+ * Sales country of products to include in the campaign.
+ * This field is required for Shopping campaigns. This field is immutable.
+ * This field is optional for non-Shopping campaigns, but it must be equal
+ * to 'ZZ' if set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue sales_country = 2;
+ */
+ private $sales_country = null;
+ /**
+ * Priority of the campaign. Campaigns with numerically higher priorities
+ * take precedence over those with lower priorities.
+ * This field is required for Shopping campaigns, with values between 0 and
+ * 2, inclusive.
+ * This field is optional for Smart Shopping campaigns, but must be equal to
+ * 3 if set.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value campaign_priority = 3;
+ */
+ private $campaign_priority = null;
+ /**
+ * Whether to include local products.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enable_local = 4;
+ */
+ private $enable_local = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $merchant_id
+ * ID of the Merchant Center account.
+ * This field is required for create operations. This field is immutable for
+ * Shopping campaigns.
+ * @type \Google\Protobuf\StringValue $sales_country
+ * Sales country of products to include in the campaign.
+ * This field is required for Shopping campaigns. This field is immutable.
+ * This field is optional for non-Shopping campaigns, but it must be equal
+ * to 'ZZ' if set.
+ * @type \Google\Protobuf\Int32Value $campaign_priority
+ * Priority of the campaign. Campaigns with numerically higher priorities
+ * take precedence over those with lower priorities.
+ * This field is required for Shopping campaigns, with values between 0 and
+ * 2, inclusive.
+ * This field is optional for Smart Shopping campaigns, but must be equal to
+ * 3 if set.
+ * @type \Google\Protobuf\BoolValue $enable_local
+ * Whether to include local products.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the Merchant Center account.
+ * This field is required for create operations. This field is immutable for
+ * Shopping campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value merchant_id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMerchantId()
+ {
+ return $this->merchant_id;
+ }
+
+ /**
+ * Returns the unboxed value from getMerchantId()
+
+ * ID of the Merchant Center account.
+ * This field is required for create operations. This field is immutable for
+ * Shopping campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value merchant_id = 1;
+ * @return int|string|null
+ */
+ public function getMerchantIdUnwrapped()
+ {
+ $wrapper = $this->getMerchantId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * ID of the Merchant Center account.
+ * This field is required for create operations. This field is immutable for
+ * Shopping campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value merchant_id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMerchantId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->merchant_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * ID of the Merchant Center account.
+ * This field is required for create operations. This field is immutable for
+ * Shopping campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value merchant_id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMerchantIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMerchantId($wrappedVar);
+ }
+
+ /**
+ * Sales country of products to include in the campaign.
+ * This field is required for Shopping campaigns. This field is immutable.
+ * This field is optional for non-Shopping campaigns, but it must be equal
+ * to 'ZZ' if set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue sales_country = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSalesCountry()
+ {
+ return $this->sales_country;
+ }
+
+ /**
+ * Returns the unboxed value from getSalesCountry()
+
+ * Sales country of products to include in the campaign.
+ * This field is required for Shopping campaigns. This field is immutable.
+ * This field is optional for non-Shopping campaigns, but it must be equal
+ * to 'ZZ' if set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue sales_country = 2;
+ * @return string|null
+ */
+ public function getSalesCountryUnwrapped()
+ {
+ $wrapper = $this->getSalesCountry();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Sales country of products to include in the campaign.
+ * This field is required for Shopping campaigns. This field is immutable.
+ * This field is optional for non-Shopping campaigns, but it must be equal
+ * to 'ZZ' if set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue sales_country = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSalesCountry($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->sales_country = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Sales country of products to include in the campaign.
+ * This field is required for Shopping campaigns. This field is immutable.
+ * This field is optional for non-Shopping campaigns, but it must be equal
+ * to 'ZZ' if set.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue sales_country = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSalesCountryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSalesCountry($wrappedVar);
+ }
+
+ /**
+ * Priority of the campaign. Campaigns with numerically higher priorities
+ * take precedence over those with lower priorities.
+ * This field is required for Shopping campaigns, with values between 0 and
+ * 2, inclusive.
+ * This field is optional for Smart Shopping campaigns, but must be equal to
+ * 3 if set.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value campaign_priority = 3;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getCampaignPriority()
+ {
+ return $this->campaign_priority;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignPriority()
+
+ * Priority of the campaign. Campaigns with numerically higher priorities
+ * take precedence over those with lower priorities.
+ * This field is required for Shopping campaigns, with values between 0 and
+ * 2, inclusive.
+ * This field is optional for Smart Shopping campaigns, but must be equal to
+ * 3 if set.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value campaign_priority = 3;
+ * @return int|null
+ */
+ public function getCampaignPriorityUnwrapped()
+ {
+ $wrapper = $this->getCampaignPriority();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Priority of the campaign. Campaigns with numerically higher priorities
+ * take precedence over those with lower priorities.
+ * This field is required for Shopping campaigns, with values between 0 and
+ * 2, inclusive.
+ * This field is optional for Smart Shopping campaigns, but must be equal to
+ * 3 if set.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value campaign_priority = 3;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setCampaignPriority($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->campaign_priority = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * Priority of the campaign. Campaigns with numerically higher priorities
+ * take precedence over those with lower priorities.
+ * This field is required for Shopping campaigns, with values between 0 and
+ * 2, inclusive.
+ * This field is optional for Smart Shopping campaigns, but must be equal to
+ * 3 if set.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value campaign_priority = 3;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setCampaignPriorityUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setCampaignPriority($wrappedVar);
+ }
+
+ /**
+ * Whether to include local products.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enable_local = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getEnableLocal()
+ {
+ return $this->enable_local;
+ }
+
+ /**
+ * Returns the unboxed value from getEnableLocal()
+
+ * Whether to include local products.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enable_local = 4;
+ * @return bool|null
+ */
+ public function getEnableLocalUnwrapped()
+ {
+ $wrapper = $this->getEnableLocal();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether to include local products.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enable_local = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setEnableLocal($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->enable_local = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether to include local products.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue enable_local = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setEnableLocalUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setEnableLocal($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ShoppingSetting::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_ShoppingSetting::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/TrackingSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/TrackingSetting.php
new file mode 100644
index 000000000..5c1ac6d3d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/TrackingSetting.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.resources.Campaign.TrackingSetting
+ */
+final class TrackingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The url used for dynamic tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url = 1;
+ */
+ private $tracking_url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $tracking_url
+ * The url used for dynamic tracking.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The url used for dynamic tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrl()
+ {
+ return $this->tracking_url;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrl()
+
+ * The url used for dynamic tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url = 1;
+ * @return string|null
+ */
+ public function getTrackingUrlUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The url used for dynamic tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The url used for dynamic tracking.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrl($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TrackingSetting::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_TrackingSetting::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign/VanityPharma.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/VanityPharma.php
new file mode 100644
index 000000000..ed049f2e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign/VanityPharma.php
@@ -0,0 +1,108 @@
+google.ads.googleads.v2.resources.Campaign.VanityPharma
+ */
+final class VanityPharma extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The display mode for vanity pharma URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1;
+ */
+ private $vanity_pharma_display_url_mode = 0;
+ /**
+ * The text that will be displayed in display URL of the text ad when
+ * website description is the selected display mode for vanity pharma URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
+ */
+ private $vanity_pharma_text = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $vanity_pharma_display_url_mode
+ * The display mode for vanity pharma URLs.
+ * @type int $vanity_pharma_text
+ * The text that will be displayed in display URL of the text ad when
+ * website description is the selected display mode for vanity pharma URLs.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Campaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The display mode for vanity pharma URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1;
+ * @return int
+ */
+ public function getVanityPharmaDisplayUrlMode()
+ {
+ return $this->vanity_pharma_display_url_mode;
+ }
+
+ /**
+ * The display mode for vanity pharma URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setVanityPharmaDisplayUrlMode($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\VanityPharmaDisplayUrlModeEnum_VanityPharmaDisplayUrlMode::class);
+ $this->vanity_pharma_display_url_mode = $var;
+
+ return $this;
+ }
+
+ /**
+ * The text that will be displayed in display URL of the text ad when
+ * website description is the selected display mode for vanity pharma URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
+ * @return int
+ */
+ public function getVanityPharmaText()
+ {
+ return $this->vanity_pharma_text;
+ }
+
+ /**
+ * The text that will be displayed in display URL of the text ad when
+ * website description is the selected display mode for vanity pharma URLs.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setVanityPharmaText($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\VanityPharmaTextEnum_VanityPharmaText::class);
+ $this->vanity_pharma_text = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(VanityPharma::class, \Google\Ads\GoogleAds\V2\Resources\Campaign_VanityPharma::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php
new file mode 100644
index 000000000..9a6703c60
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignAudienceView.php
@@ -0,0 +1,79 @@
+google.ads.googleads.v2.resources.CampaignAudienceView
+ */
+final class CampaignAudienceView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign audience view.
+ * Campaign audience view resource names have the form:
+ * `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign audience view.
+ * Campaign audience view resource names have the form:
+ * `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignAudienceView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign audience view.
+ * Campaign audience view resource names have the form:
+ * `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign audience view.
+ * Campaign audience view resource names have the form:
+ * `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php
new file mode 100644
index 000000000..eba7423ca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignBidModifier.php
@@ -0,0 +1,307 @@
+google.ads.googleads.v2.resources.CampaignBidModifier
+ */
+final class CampaignBidModifier extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign bid modifier.
+ * Campaign bid modifier resource names have the form:
+ * `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The campaign to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ */
+ private $campaign = null;
+ /**
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ */
+ private $criterion_id = null;
+ /**
+ * The modifier for the bid when the criterion matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ */
+ private $bid_modifier = null;
+ protected $criterion;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign bid modifier.
+ * Campaign bid modifier resource names have the form:
+ * `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign to which this criterion belongs.
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ * @type \Google\Protobuf\DoubleValue $bid_modifier
+ * The modifier for the bid when the criterion matches.
+ * @type \Google\Ads\GoogleAds\V2\Common\InteractionTypeInfo $interaction_type
+ * Criterion for interaction type. Only supported for search campaigns.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign bid modifier.
+ * Campaign bid modifier resource names have the form:
+ * `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign bid modifier.
+ * Campaign bid modifier resource names have the form:
+ * `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign to which this criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the criterion to bid modify.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The modifier for the bid when the criterion matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getBidModifier()
+ {
+ return $this->bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getBidModifier()
+
+ * The modifier for the bid when the criterion matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @return float|null
+ */
+ public function getBidModifierUnwrapped()
+ {
+ $wrapper = $this->getBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The modifier for the bid when the criterion matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The modifier for the bid when the criterion matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue bid_modifier = 4;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setBidModifier($wrappedVar);
+ }
+
+ /**
+ * Criterion for interaction type. Only supported for search campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.InteractionTypeInfo interaction_type = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\InteractionTypeInfo
+ */
+ public function getInteractionType()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Criterion for interaction type. Only supported for search campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.InteractionTypeInfo interaction_type = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\InteractionTypeInfo $var
+ * @return $this
+ */
+ public function setInteractionType($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\InteractionTypeInfo::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCriterion()
+ {
+ return $this->whichOneof("criterion");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php
new file mode 100644
index 000000000..90bd569cb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignBudget.php
@@ -0,0 +1,1191 @@
+google.ads.googleads.v2.resources.CampaignBudget
+ */
+final class CampaignBudget extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign budget.
+ * Campaign budget resource names have the form:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the campaign budget.
+ * A campaign budget is created using the CampaignBudgetService create
+ * operation and is assigned a budget ID. A budget ID can be shared across
+ * different campaigns; the system will then allocate the campaign budget
+ * among different campaigns to get optimum results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the campaign budget.
+ * When creating a campaign budget through CampaignBudgetService, every
+ * explicitly shared campaign budget must have a non-null, non-empty name.
+ * Campaign budgets that are not explicitly shared derive their name from the
+ * attached campaign's name.
+ * The length of this string must be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit. Monthly spend is capped at 30.4 times this amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 5;
+ */
+ private $amount_micros = null;
+ /**
+ * The lifetime amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_amount_micros = 10;
+ */
+ private $total_amount_micros = null;
+ /**
+ * The status of this campaign budget. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetStatusEnum.BudgetStatus status = 6;
+ */
+ private $status = 0;
+ /**
+ * The delivery method that determines the rate at which the campaign budget
+ * is spent.
+ * Defaults to STANDARD if unspecified in a create operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7;
+ */
+ private $delivery_method = 0;
+ /**
+ * Specifies whether the budget is explicitly shared. Defaults to true if
+ * unspecified in a create operation.
+ * If true, the budget was created with the purpose of sharing
+ * across one or more campaigns.
+ * If false, the budget was created with the intention of only being used
+ * with a single campaign. The budget's name and status will stay in sync
+ * with the campaign's name and status. Attempting to share the budget with a
+ * second campaign will result in an error.
+ * A non-shared budget can become an explicitly shared. The same operation
+ * must also assign the budget a name.
+ * A shared campaign budget can never become non-shared.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue explicitly_shared = 8;
+ */
+ private $explicitly_shared = null;
+ /**
+ * The number of campaigns actively using the budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 9;
+ */
+ private $reference_count = null;
+ /**
+ * Indicates whether there is a recommended budget for this campaign budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_recommended_budget = 11;
+ */
+ private $has_recommended_budget = null;
+ /**
+ * The recommended budget amount. If no recommendation is available, this will
+ * be set to the budget amount.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 12;
+ */
+ private $recommended_budget_amount_micros = null;
+ /**
+ * Period over which to spend the budget. Defaults to DAILY if not specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetPeriodEnum.BudgetPeriod period = 13;
+ */
+ private $period = 0;
+ /**
+ * The estimated change in weekly clicks if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14;
+ */
+ private $recommended_budget_estimated_change_weekly_clicks = null;
+ /**
+ * The estimated change in weekly cost in micros if the recommended budget is
+ * applied. One million is equivalent to one currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15;
+ */
+ private $recommended_budget_estimated_change_weekly_cost_micros = null;
+ /**
+ * The estimated change in weekly interactions if the recommended budget is
+ * applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16;
+ */
+ private $recommended_budget_estimated_change_weekly_interactions = null;
+ /**
+ * The estimated change in weekly views if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17;
+ */
+ private $recommended_budget_estimated_change_weekly_views = null;
+ /**
+ * The type of the campaign budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetTypeEnum.BudgetType type = 18;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign budget.
+ * Campaign budget resource names have the form:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the campaign budget.
+ * A campaign budget is created using the CampaignBudgetService create
+ * operation and is assigned a budget ID. A budget ID can be shared across
+ * different campaigns; the system will then allocate the campaign budget
+ * among different campaigns to get optimum results.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the campaign budget.
+ * When creating a campaign budget through CampaignBudgetService, every
+ * explicitly shared campaign budget must have a non-null, non-empty name.
+ * Campaign budgets that are not explicitly shared derive their name from the
+ * attached campaign's name.
+ * The length of this string must be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ * @type \Google\Protobuf\Int64Value $amount_micros
+ * The amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit. Monthly spend is capped at 30.4 times this amount.
+ * @type \Google\Protobuf\Int64Value $total_amount_micros
+ * The lifetime amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * @type int $status
+ * The status of this campaign budget. This field is read-only.
+ * @type int $delivery_method
+ * The delivery method that determines the rate at which the campaign budget
+ * is spent.
+ * Defaults to STANDARD if unspecified in a create operation.
+ * @type \Google\Protobuf\BoolValue $explicitly_shared
+ * Specifies whether the budget is explicitly shared. Defaults to true if
+ * unspecified in a create operation.
+ * If true, the budget was created with the purpose of sharing
+ * across one or more campaigns.
+ * If false, the budget was created with the intention of only being used
+ * with a single campaign. The budget's name and status will stay in sync
+ * with the campaign's name and status. Attempting to share the budget with a
+ * second campaign will result in an error.
+ * A non-shared budget can become an explicitly shared. The same operation
+ * must also assign the budget a name.
+ * A shared campaign budget can never become non-shared.
+ * @type \Google\Protobuf\Int64Value $reference_count
+ * The number of campaigns actively using the budget.
+ * This field is read-only.
+ * @type \Google\Protobuf\BoolValue $has_recommended_budget
+ * Indicates whether there is a recommended budget for this campaign budget.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $recommended_budget_amount_micros
+ * The recommended budget amount. If no recommendation is available, this will
+ * be set to the budget amount.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * This field is read-only.
+ * @type int $period
+ * Period over which to spend the budget. Defaults to DAILY if not specified.
+ * @type \Google\Protobuf\Int64Value $recommended_budget_estimated_change_weekly_clicks
+ * The estimated change in weekly clicks if the recommended budget is applied.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $recommended_budget_estimated_change_weekly_cost_micros
+ * The estimated change in weekly cost in micros if the recommended budget is
+ * applied. One million is equivalent to one currency unit.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $recommended_budget_estimated_change_weekly_interactions
+ * The estimated change in weekly interactions if the recommended budget is
+ * applied.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $recommended_budget_estimated_change_weekly_views
+ * The estimated change in weekly views if the recommended budget is applied.
+ * This field is read-only.
+ * @type int $type
+ * The type of the campaign budget.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignBudget::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign budget.
+ * Campaign budget resource names have the form:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign budget.
+ * Campaign budget resource names have the form:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the campaign budget.
+ * A campaign budget is created using the CampaignBudgetService create
+ * operation and is assigned a budget ID. A budget ID can be shared across
+ * different campaigns; the system will then allocate the campaign budget
+ * among different campaigns to get optimum results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the campaign budget.
+ * A campaign budget is created using the CampaignBudgetService create
+ * operation and is assigned a budget ID. A budget ID can be shared across
+ * different campaigns; the system will then allocate the campaign budget
+ * among different campaigns to get optimum results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the campaign budget.
+ * A campaign budget is created using the CampaignBudgetService create
+ * operation and is assigned a budget ID. A budget ID can be shared across
+ * different campaigns; the system will then allocate the campaign budget
+ * among different campaigns to get optimum results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the campaign budget.
+ * A campaign budget is created using the CampaignBudgetService create
+ * operation and is assigned a budget ID. A budget ID can be shared across
+ * different campaigns; the system will then allocate the campaign budget
+ * among different campaigns to get optimum results.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the campaign budget.
+ * When creating a campaign budget through CampaignBudgetService, every
+ * explicitly shared campaign budget must have a non-null, non-empty name.
+ * Campaign budgets that are not explicitly shared derive their name from the
+ * attached campaign's name.
+ * The length of this string must be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the campaign budget.
+ * When creating a campaign budget through CampaignBudgetService, every
+ * explicitly shared campaign budget must have a non-null, non-empty name.
+ * Campaign budgets that are not explicitly shared derive their name from the
+ * attached campaign's name.
+ * The length of this string must be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the campaign budget.
+ * When creating a campaign budget through CampaignBudgetService, every
+ * explicitly shared campaign budget must have a non-null, non-empty name.
+ * Campaign budgets that are not explicitly shared derive their name from the
+ * attached campaign's name.
+ * The length of this string must be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the campaign budget.
+ * When creating a campaign budget through CampaignBudgetService, every
+ * explicitly shared campaign budget must have a non-null, non-empty name.
+ * Campaign budgets that are not explicitly shared derive their name from the
+ * attached campaign's name.
+ * The length of this string must be between 1 and 255, inclusive,
+ * in UTF-8 bytes, (trimmed).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit. Monthly spend is capped at 30.4 times this amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAmountMicros()
+ {
+ return $this->amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getAmountMicros()
+
+ * The amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit. Monthly spend is capped at 30.4 times this amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 5;
+ * @return int|string|null
+ */
+ public function getAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit. Monthly spend is capped at 30.4 times this amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit. Monthly spend is capped at 30.4 times this amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value amount_micros = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAmountMicros($wrappedVar);
+ }
+
+ /**
+ * The lifetime amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_amount_micros = 10;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTotalAmountMicros()
+ {
+ return $this->total_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTotalAmountMicros()
+
+ * The lifetime amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_amount_micros = 10;
+ * @return int|string|null
+ */
+ public function getTotalAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getTotalAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The lifetime amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_amount_micros = 10;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTotalAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->total_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The lifetime amount of the budget, in the local currency for the account.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value total_amount_micros = 10;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTotalAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTotalAmountMicros($wrappedVar);
+ }
+
+ /**
+ * The status of this campaign budget. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetStatusEnum.BudgetStatus status = 6;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of this campaign budget. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetStatusEnum.BudgetStatus status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BudgetStatusEnum_BudgetStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The delivery method that determines the rate at which the campaign budget
+ * is spent.
+ * Defaults to STANDARD if unspecified in a create operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7;
+ * @return int
+ */
+ public function getDeliveryMethod()
+ {
+ return $this->delivery_method;
+ }
+
+ /**
+ * The delivery method that determines the rate at which the campaign budget
+ * is spent.
+ * Defaults to STANDARD if unspecified in a create operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setDeliveryMethod($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BudgetDeliveryMethodEnum_BudgetDeliveryMethod::class);
+ $this->delivery_method = $var;
+
+ return $this;
+ }
+
+ /**
+ * Specifies whether the budget is explicitly shared. Defaults to true if
+ * unspecified in a create operation.
+ * If true, the budget was created with the purpose of sharing
+ * across one or more campaigns.
+ * If false, the budget was created with the intention of only being used
+ * with a single campaign. The budget's name and status will stay in sync
+ * with the campaign's name and status. Attempting to share the budget with a
+ * second campaign will result in an error.
+ * A non-shared budget can become an explicitly shared. The same operation
+ * must also assign the budget a name.
+ * A shared campaign budget can never become non-shared.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue explicitly_shared = 8;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getExplicitlyShared()
+ {
+ return $this->explicitly_shared;
+ }
+
+ /**
+ * Returns the unboxed value from getExplicitlyShared()
+
+ * Specifies whether the budget is explicitly shared. Defaults to true if
+ * unspecified in a create operation.
+ * If true, the budget was created with the purpose of sharing
+ * across one or more campaigns.
+ * If false, the budget was created with the intention of only being used
+ * with a single campaign. The budget's name and status will stay in sync
+ * with the campaign's name and status. Attempting to share the budget with a
+ * second campaign will result in an error.
+ * A non-shared budget can become an explicitly shared. The same operation
+ * must also assign the budget a name.
+ * A shared campaign budget can never become non-shared.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue explicitly_shared = 8;
+ * @return bool|null
+ */
+ public function getExplicitlySharedUnwrapped()
+ {
+ $wrapper = $this->getExplicitlyShared();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Specifies whether the budget is explicitly shared. Defaults to true if
+ * unspecified in a create operation.
+ * If true, the budget was created with the purpose of sharing
+ * across one or more campaigns.
+ * If false, the budget was created with the intention of only being used
+ * with a single campaign. The budget's name and status will stay in sync
+ * with the campaign's name and status. Attempting to share the budget with a
+ * second campaign will result in an error.
+ * A non-shared budget can become an explicitly shared. The same operation
+ * must also assign the budget a name.
+ * A shared campaign budget can never become non-shared.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue explicitly_shared = 8;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setExplicitlyShared($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->explicitly_shared = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Specifies whether the budget is explicitly shared. Defaults to true if
+ * unspecified in a create operation.
+ * If true, the budget was created with the purpose of sharing
+ * across one or more campaigns.
+ * If false, the budget was created with the intention of only being used
+ * with a single campaign. The budget's name and status will stay in sync
+ * with the campaign's name and status. Attempting to share the budget with a
+ * second campaign will result in an error.
+ * A non-shared budget can become an explicitly shared. The same operation
+ * must also assign the budget a name.
+ * A shared campaign budget can never become non-shared.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue explicitly_shared = 8;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setExplicitlySharedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setExplicitlyShared($wrappedVar);
+ }
+
+ /**
+ * The number of campaigns actively using the budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 9;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getReferenceCount()
+ {
+ return $this->reference_count;
+ }
+
+ /**
+ * Returns the unboxed value from getReferenceCount()
+
+ * The number of campaigns actively using the budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 9;
+ * @return int|string|null
+ */
+ public function getReferenceCountUnwrapped()
+ {
+ $wrapper = $this->getReferenceCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of campaigns actively using the budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 9;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setReferenceCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->reference_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of campaigns actively using the budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 9;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setReferenceCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setReferenceCount($wrappedVar);
+ }
+
+ /**
+ * Indicates whether there is a recommended budget for this campaign budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_recommended_budget = 11;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getHasRecommendedBudget()
+ {
+ return $this->has_recommended_budget;
+ }
+
+ /**
+ * Returns the unboxed value from getHasRecommendedBudget()
+
+ * Indicates whether there is a recommended budget for this campaign budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_recommended_budget = 11;
+ * @return bool|null
+ */
+ public function getHasRecommendedBudgetUnwrapped()
+ {
+ $wrapper = $this->getHasRecommendedBudget();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates whether there is a recommended budget for this campaign budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_recommended_budget = 11;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setHasRecommendedBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->has_recommended_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates whether there is a recommended budget for this campaign budget.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_recommended_budget = 11;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setHasRecommendedBudgetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setHasRecommendedBudget($wrappedVar);
+ }
+
+ /**
+ * The recommended budget amount. If no recommendation is available, this will
+ * be set to the budget amount.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 12;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetAmountMicros()
+ {
+ return $this->recommended_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetAmountMicros()
+
+ * The recommended budget amount. If no recommendation is available, this will
+ * be set to the budget amount.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 12;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended budget amount. If no recommendation is available, this will
+ * be set to the budget amount.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 12;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended budget amount. If no recommendation is available, this will
+ * be set to the budget amount.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 12;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetAmountMicros($wrappedVar);
+ }
+
+ /**
+ * Period over which to spend the budget. Defaults to DAILY if not specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetPeriodEnum.BudgetPeriod period = 13;
+ * @return int
+ */
+ public function getPeriod()
+ {
+ return $this->period;
+ }
+
+ /**
+ * Period over which to spend the budget. Defaults to DAILY if not specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetPeriodEnum.BudgetPeriod period = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setPeriod($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BudgetPeriodEnum_BudgetPeriod::class);
+ $this->period = $var;
+
+ return $this;
+ }
+
+ /**
+ * The estimated change in weekly clicks if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyClicks()
+ {
+ return $this->recommended_budget_estimated_change_weekly_clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetEstimatedChangeWeeklyClicks()
+
+ * The estimated change in weekly clicks if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyClicksUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetEstimatedChangeWeeklyClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated change in weekly clicks if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_estimated_change_weekly_clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimated change in weekly clicks if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetEstimatedChangeWeeklyClicks($wrappedVar);
+ }
+
+ /**
+ * The estimated change in weekly cost in micros if the recommended budget is
+ * applied. One million is equivalent to one currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyCostMicros()
+ {
+ return $this->recommended_budget_estimated_change_weekly_cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetEstimatedChangeWeeklyCostMicros()
+
+ * The estimated change in weekly cost in micros if the recommended budget is
+ * applied. One million is equivalent to one currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetEstimatedChangeWeeklyCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated change in weekly cost in micros if the recommended budget is
+ * applied. One million is equivalent to one currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_estimated_change_weekly_cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimated change in weekly cost in micros if the recommended budget is
+ * applied. One million is equivalent to one currency unit.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetEstimatedChangeWeeklyCostMicros($wrappedVar);
+ }
+
+ /**
+ * The estimated change in weekly interactions if the recommended budget is
+ * applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyInteractions()
+ {
+ return $this->recommended_budget_estimated_change_weekly_interactions;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetEstimatedChangeWeeklyInteractions()
+
+ * The estimated change in weekly interactions if the recommended budget is
+ * applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyInteractionsUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetEstimatedChangeWeeklyInteractions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated change in weekly interactions if the recommended budget is
+ * applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyInteractions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_estimated_change_weekly_interactions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimated change in weekly interactions if the recommended budget is
+ * applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyInteractionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetEstimatedChangeWeeklyInteractions($wrappedVar);
+ }
+
+ /**
+ * The estimated change in weekly views if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyViews()
+ {
+ return $this->recommended_budget_estimated_change_weekly_views;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetEstimatedChangeWeeklyViews()
+
+ * The estimated change in weekly views if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetEstimatedChangeWeeklyViewsUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetEstimatedChangeWeeklyViews();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The estimated change in weekly views if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyViews($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_estimated_change_weekly_views = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The estimated change in weekly views if the recommended budget is applied.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetEstimatedChangeWeeklyViewsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetEstimatedChangeWeeklyViews($wrappedVar);
+ }
+
+ /**
+ * The type of the campaign budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetTypeEnum.BudgetType type = 18;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the campaign budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.BudgetTypeEnum.BudgetType type = 18;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\BudgetTypeEnum_BudgetType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php
new file mode 100644
index 000000000..a42b35258
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterion.php
@@ -0,0 +1,1150 @@
+google.ads.googleads.v2.resources.CampaignCriterion
+ */
+final class CampaignCriterion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign criterion.
+ * Campaign criterion resource names have the form:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The campaign to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ */
+ private $campaign = null;
+ /**
+ * The ID of the criterion.
+ * This field is ignored during mutate.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 5;
+ */
+ private $criterion_id = null;
+ /**
+ * The modifier for the bids when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.FloatValue bid_modifier = 14;
+ */
+ private $bid_modifier = null;
+ /**
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 7;
+ */
+ private $negative = null;
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 6;
+ */
+ private $type = 0;
+ /**
+ * The status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35;
+ */
+ private $status = 0;
+ protected $criterion;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign criterion.
+ * Campaign criterion resource names have the form:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign to which the criterion belongs.
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * The ID of the criterion.
+ * This field is ignored during mutate.
+ * @type \Google\Protobuf\FloatValue $bid_modifier
+ * The modifier for the bids when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * Use 0 to opt out of a Device type.
+ * @type \Google\Protobuf\BoolValue $negative
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ * @type int $type
+ * The type of the criterion.
+ * @type int $status
+ * The status of the criterion.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $keyword
+ * Keyword.
+ * @type \Google\Ads\GoogleAds\V2\Common\PlacementInfo $placement
+ * Placement.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $mobile_app_category
+ * Mobile app category.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $mobile_application
+ * Mobile application.
+ * @type \Google\Ads\GoogleAds\V2\Common\LocationInfo $location
+ * Location.
+ * @type \Google\Ads\GoogleAds\V2\Common\DeviceInfo $device
+ * Device.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo $ad_schedule
+ * Ad Schedule.
+ * @type \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo $age_range
+ * Age range.
+ * @type \Google\Ads\GoogleAds\V2\Common\GenderInfo $gender
+ * Gender.
+ * @type \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo $income_range
+ * Income range.
+ * @type \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo $parental_status
+ * Parental status.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserListInfo $user_list
+ * User List.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $youtube_video
+ * YouTube Video.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $youtube_channel
+ * YouTube Channel.
+ * @type \Google\Ads\GoogleAds\V2\Common\ProximityInfo $proximity
+ * Proximity.
+ * @type \Google\Ads\GoogleAds\V2\Common\TopicInfo $topic
+ * Topic.
+ * @type \Google\Ads\GoogleAds\V2\Common\ListingScopeInfo $listing_scope
+ * Listing scope.
+ * @type \Google\Ads\GoogleAds\V2\Common\LanguageInfo $language
+ * Language.
+ * @type \Google\Ads\GoogleAds\V2\Common\IpBlockInfo $ip_block
+ * IpBlock.
+ * @type \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo $content_label
+ * ContentLabel.
+ * @type \Google\Ads\GoogleAds\V2\Common\CarrierInfo $carrier
+ * Carrier.
+ * @type \Google\Ads\GoogleAds\V2\Common\UserInterestInfo $user_interest
+ * User Interest.
+ * @type \Google\Ads\GoogleAds\V2\Common\WebpageInfo $webpage
+ * Webpage.
+ * @type \Google\Ads\GoogleAds\V2\Common\OperatingSystemVersionInfo $operating_system_version
+ * Operating system version.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileDeviceInfo $mobile_device
+ * Mobile Device.
+ * @type \Google\Ads\GoogleAds\V2\Common\LocationGroupInfo $location_group
+ * Location Group
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignCriterion::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign criterion.
+ * Campaign criterion resource names have the form:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign criterion.
+ * Campaign criterion resource names have the form:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign to which the criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The ID of the criterion.
+ * This field is ignored during mutate.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * The ID of the criterion.
+ * This field is ignored during mutate.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 5;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the criterion.
+ * This field is ignored during mutate.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the criterion.
+ * This field is ignored during mutate.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The modifier for the bids when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.FloatValue bid_modifier = 14;
+ * @return \Google\Protobuf\FloatValue
+ */
+ public function getBidModifier()
+ {
+ return $this->bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getBidModifier()
+
+ * The modifier for the bids when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.FloatValue bid_modifier = 14;
+ * @return float|null
+ */
+ public function getBidModifierUnwrapped()
+ {
+ $wrapper = $this->getBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The modifier for the bids when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.FloatValue bid_modifier = 14;
+ * @param \Google\Protobuf\FloatValue $var
+ * @return $this
+ */
+ public function setBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FloatValue::class);
+ $this->bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\FloatValue object.
+
+ * The modifier for the bids when the criterion matches. The modifier must be
+ * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ * Use 0 to opt out of a Device type.
+ *
+ * Generated from protobuf field .google.protobuf.FloatValue bid_modifier = 14;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\FloatValue(['value' => $var]);
+ return $this->setBidModifier($wrappedVar);
+ }
+
+ /**
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 7;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getNegative()
+ {
+ return $this->negative;
+ }
+
+ /**
+ * Returns the unboxed value from getNegative()
+
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 7;
+ * @return bool|null
+ */
+ public function getNegativeUnwrapped()
+ {
+ $wrapper = $this->getNegative();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 7;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setNegative($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->negative = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether to target (`false`) or exclude (`true`) the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue negative = 7;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setNegativeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setNegative($wrappedVar);
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 6;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum_CriterionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignCriterionStatusEnum_CampaignCriterionStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getKeyword()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\PlacementInfo
+ */
+ public function getPlacement()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\PlacementInfo $var
+ * @return $this
+ */
+ public function setPlacement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PlacementInfo::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile app category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 10;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo
+ */
+ public function getMobileAppCategory()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Mobile app category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $var
+ * @return $this
+ */
+ public function setMobileAppCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 11;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo
+ */
+ public function getMobileApplication()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * Mobile application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 11;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $var
+ * @return $this
+ */
+ public function setMobileApplication($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * Location.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LocationInfo location = 12;
+ * @return \Google\Ads\GoogleAds\V2\Common\LocationInfo
+ */
+ public function getLocation()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * Location.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LocationInfo location = 12;
+ * @param \Google\Ads\GoogleAds\V2\Common\LocationInfo $var
+ * @return $this
+ */
+ public function setLocation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LocationInfo::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * Device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DeviceInfo device = 13;
+ * @return \Google\Ads\GoogleAds\V2\Common\DeviceInfo
+ */
+ public function getDevice()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * Device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DeviceInfo device = 13;
+ * @param \Google\Ads\GoogleAds\V2\Common\DeviceInfo $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DeviceInfo::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * Ad Schedule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdScheduleInfo ad_schedule = 15;
+ * @return \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo
+ */
+ public function getAdSchedule()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * Ad Schedule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdScheduleInfo ad_schedule = 15;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo $var
+ * @return $this
+ */
+ public function setAdSchedule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * Age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AgeRangeInfo age_range = 16;
+ * @return \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo
+ */
+ public function getAgeRange()
+ {
+ return $this->readOneof(16);
+ }
+
+ /**
+ * Age range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AgeRangeInfo age_range = 16;
+ * @param \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo $var
+ * @return $this
+ */
+ public function setAgeRange($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AgeRangeInfo::class);
+ $this->writeOneof(16, $var);
+
+ return $this;
+ }
+
+ /**
+ * Gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GenderInfo gender = 17;
+ * @return \Google\Ads\GoogleAds\V2\Common\GenderInfo
+ */
+ public function getGender()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * Gender.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.GenderInfo gender = 17;
+ * @param \Google\Ads\GoogleAds\V2\Common\GenderInfo $var
+ * @return $this
+ */
+ public function setGender($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\GenderInfo::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * Income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.IncomeRangeInfo income_range = 18;
+ * @return \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo
+ */
+ public function getIncomeRange()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * Income range.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.IncomeRangeInfo income_range = 18;
+ * @param \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo $var
+ * @return $this
+ */
+ public function setIncomeRange($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\IncomeRangeInfo::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * Parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ParentalStatusInfo parental_status = 19;
+ * @return \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo
+ */
+ public function getParentalStatus()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * Parental status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ParentalStatusInfo parental_status = 19;
+ * @param \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo $var
+ * @return $this
+ */
+ public function setParentalStatus($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ParentalStatusInfo::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * User List.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListInfo user_list = 22;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserListInfo
+ */
+ public function getUserList()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * User List.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserListInfo user_list = 22;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserListInfo $var
+ * @return $this
+ */
+ public function setUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserListInfo::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 20;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo
+ */
+ public function getYoutubeVideo()
+ {
+ return $this->readOneof(20);
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 20;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $var
+ * @return $this
+ */
+ public function setYoutubeVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo::class);
+ $this->writeOneof(20, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 21;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo
+ */
+ public function getYoutubeChannel()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 21;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $var
+ * @return $this
+ */
+ public function setYoutubeChannel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * Proximity.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProximityInfo proximity = 23;
+ * @return \Google\Ads\GoogleAds\V2\Common\ProximityInfo
+ */
+ public function getProximity()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * Proximity.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ProximityInfo proximity = 23;
+ * @param \Google\Ads\GoogleAds\V2\Common\ProximityInfo $var
+ * @return $this
+ */
+ public function setProximity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ProximityInfo::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * Topic.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TopicInfo topic = 24;
+ * @return \Google\Ads\GoogleAds\V2\Common\TopicInfo
+ */
+ public function getTopic()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * Topic.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TopicInfo topic = 24;
+ * @param \Google\Ads\GoogleAds\V2\Common\TopicInfo $var
+ * @return $this
+ */
+ public function setTopic($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TopicInfo::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * Listing scope.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingScopeInfo listing_scope = 25;
+ * @return \Google\Ads\GoogleAds\V2\Common\ListingScopeInfo
+ */
+ public function getListingScope()
+ {
+ return $this->readOneof(25);
+ }
+
+ /**
+ * Listing scope.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ListingScopeInfo listing_scope = 25;
+ * @param \Google\Ads\GoogleAds\V2\Common\ListingScopeInfo $var
+ * @return $this
+ */
+ public function setListingScope($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ListingScopeInfo::class);
+ $this->writeOneof(25, $var);
+
+ return $this;
+ }
+
+ /**
+ * Language.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LanguageInfo language = 26;
+ * @return \Google\Ads\GoogleAds\V2\Common\LanguageInfo
+ */
+ public function getLanguage()
+ {
+ return $this->readOneof(26);
+ }
+
+ /**
+ * Language.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LanguageInfo language = 26;
+ * @param \Google\Ads\GoogleAds\V2\Common\LanguageInfo $var
+ * @return $this
+ */
+ public function setLanguage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LanguageInfo::class);
+ $this->writeOneof(26, $var);
+
+ return $this;
+ }
+
+ /**
+ * IpBlock.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.IpBlockInfo ip_block = 27;
+ * @return \Google\Ads\GoogleAds\V2\Common\IpBlockInfo
+ */
+ public function getIpBlock()
+ {
+ return $this->readOneof(27);
+ }
+
+ /**
+ * IpBlock.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.IpBlockInfo ip_block = 27;
+ * @param \Google\Ads\GoogleAds\V2\Common\IpBlockInfo $var
+ * @return $this
+ */
+ public function setIpBlock($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\IpBlockInfo::class);
+ $this->writeOneof(27, $var);
+
+ return $this;
+ }
+
+ /**
+ * ContentLabel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ContentLabelInfo content_label = 28;
+ * @return \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo
+ */
+ public function getContentLabel()
+ {
+ return $this->readOneof(28);
+ }
+
+ /**
+ * ContentLabel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ContentLabelInfo content_label = 28;
+ * @param \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo $var
+ * @return $this
+ */
+ public function setContentLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo::class);
+ $this->writeOneof(28, $var);
+
+ return $this;
+ }
+
+ /**
+ * Carrier.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CarrierInfo carrier = 29;
+ * @return \Google\Ads\GoogleAds\V2\Common\CarrierInfo
+ */
+ public function getCarrier()
+ {
+ return $this->readOneof(29);
+ }
+
+ /**
+ * Carrier.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CarrierInfo carrier = 29;
+ * @param \Google\Ads\GoogleAds\V2\Common\CarrierInfo $var
+ * @return $this
+ */
+ public function setCarrier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CarrierInfo::class);
+ $this->writeOneof(29, $var);
+
+ return $this;
+ }
+
+ /**
+ * User Interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserInterestInfo user_interest = 30;
+ * @return \Google\Ads\GoogleAds\V2\Common\UserInterestInfo
+ */
+ public function getUserInterest()
+ {
+ return $this->readOneof(30);
+ }
+
+ /**
+ * User Interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.UserInterestInfo user_interest = 30;
+ * @param \Google\Ads\GoogleAds\V2\Common\UserInterestInfo $var
+ * @return $this
+ */
+ public function setUserInterest($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\UserInterestInfo::class);
+ $this->writeOneof(30, $var);
+
+ return $this;
+ }
+
+ /**
+ * Webpage.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.WebpageInfo webpage = 31;
+ * @return \Google\Ads\GoogleAds\V2\Common\WebpageInfo
+ */
+ public function getWebpage()
+ {
+ return $this->readOneof(31);
+ }
+
+ /**
+ * Webpage.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.WebpageInfo webpage = 31;
+ * @param \Google\Ads\GoogleAds\V2\Common\WebpageInfo $var
+ * @return $this
+ */
+ public function setWebpage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\WebpageInfo::class);
+ $this->writeOneof(31, $var);
+
+ return $this;
+ }
+
+ /**
+ * Operating system version.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.OperatingSystemVersionInfo operating_system_version = 32;
+ * @return \Google\Ads\GoogleAds\V2\Common\OperatingSystemVersionInfo
+ */
+ public function getOperatingSystemVersion()
+ {
+ return $this->readOneof(32);
+ }
+
+ /**
+ * Operating system version.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.OperatingSystemVersionInfo operating_system_version = 32;
+ * @param \Google\Ads\GoogleAds\V2\Common\OperatingSystemVersionInfo $var
+ * @return $this
+ */
+ public function setOperatingSystemVersion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\OperatingSystemVersionInfo::class);
+ $this->writeOneof(32, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile Device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileDeviceInfo mobile_device = 33;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileDeviceInfo
+ */
+ public function getMobileDevice()
+ {
+ return $this->readOneof(33);
+ }
+
+ /**
+ * Mobile Device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileDeviceInfo mobile_device = 33;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileDeviceInfo $var
+ * @return $this
+ */
+ public function setMobileDevice($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileDeviceInfo::class);
+ $this->writeOneof(33, $var);
+
+ return $this;
+ }
+
+ /**
+ * Location Group
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LocationGroupInfo location_group = 34;
+ * @return \Google\Ads\GoogleAds\V2\Common\LocationGroupInfo
+ */
+ public function getLocationGroup()
+ {
+ return $this->readOneof(34);
+ }
+
+ /**
+ * Location Group
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LocationGroupInfo location_group = 34;
+ * @param \Google\Ads\GoogleAds\V2\Common\LocationGroupInfo $var
+ * @return $this
+ */
+ public function setLocationGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LocationGroupInfo::class);
+ $this->writeOneof(34, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCriterion()
+ {
+ return $this->whichOneof("criterion");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php
new file mode 100644
index 000000000..449d14579
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignCriterionSimulation.php
@@ -0,0 +1,437 @@
+google.ads.googleads.v2.resources.CampaignCriterionSimulation
+ */
+final class CampaignCriterionSimulation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign criterion simulation.
+ * Campaign criterion simulation resource names have the form:
+ * `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Campaign ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_id = 2;
+ */
+ private $campaign_id = null;
+ /**
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ */
+ private $criterion_id = null;
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4;
+ */
+ private $type = 0;
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5;
+ */
+ private $modification_method = 0;
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ */
+ private $start_date = null;
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ */
+ private $end_date = null;
+ protected $point_list;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign criterion simulation.
+ * Campaign criterion simulation resource names have the form:
+ * `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ * @type \Google\Protobuf\Int64Value $campaign_id
+ * Campaign ID of the simulation.
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * Criterion ID of the simulation.
+ * @type int $type
+ * The field that the simulation modifies.
+ * @type int $modification_method
+ * How the simulation modifies the field.
+ * @type \Google\Protobuf\StringValue $start_date
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ * @type \Google\Protobuf\StringValue $end_date
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ * @type \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPointList $bid_modifier_point_list
+ * Simulation points if the simulation type is BID_MODIFIER.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignCriterionSimulation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign criterion simulation.
+ * Campaign criterion simulation resource names have the form:
+ * `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign criterion simulation.
+ * Campaign criterion simulation resource names have the form:
+ * `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Campaign ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCampaignId()
+ {
+ return $this->campaign_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignId()
+
+ * Campaign ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_id = 2;
+ * @return int|string|null
+ */
+ public function getCampaignIdUnwrapped()
+ {
+ $wrapper = $this->getCampaignId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Campaign ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCampaignId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->campaign_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Campaign ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value campaign_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCampaignIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCampaignId($wrappedVar);
+ }
+
+ /**
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Criterion ID of the simulation.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The field that the simulation modifies.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SimulationTypeEnum_SimulationType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5;
+ * @return int
+ */
+ public function getModificationMethod()
+ {
+ return $this->modification_method;
+ }
+
+ /**
+ * How the simulation modifies the field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setModificationMethod($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SimulationModificationMethodEnum_SimulationModificationMethod::class);
+ $this->modification_method = $var;
+
+ return $this;
+ }
+
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * First day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Last day on which the simulation is based, in YYYY-MM-DD format.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+ /**
+ * Simulation points if the simulation type is BID_MODIFIER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.BidModifierSimulationPointList bid_modifier_point_list = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPointList
+ */
+ public function getBidModifierPointList()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Simulation points if the simulation type is BID_MODIFIER.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.BidModifierSimulationPointList bid_modifier_point_list = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPointList $var
+ * @return $this
+ */
+ public function setBidModifierPointList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\BidModifierSimulationPointList::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPointList()
+ {
+ return $this->whichOneof("point_list");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php
new file mode 100644
index 000000000..b2fad05e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignDraft.php
@@ -0,0 +1,545 @@
+google.ads.googleads.v2.resources.CampaignDraft
+ */
+final class CampaignDraft extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign draft.
+ * Campaign draft resource names have the form:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the draft.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value draft_id = 2;
+ */
+ private $draft_id = null;
+ /**
+ * The base campaign to which the draft belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 3;
+ */
+ private $base_campaign = null;
+ /**
+ * The name of the campaign draft.
+ * This field is required and should not be empty when creating new
+ * campaign drafts.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * Resource name of the Campaign that results from overlaying the draft
+ * changes onto the base campaign.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue draft_campaign = 5;
+ */
+ private $draft_campaign = null;
+ /**
+ * The status of the campaign draft. This field is read-only.
+ * When a new campaign draft is added, the status defaults to PROPOSED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6;
+ */
+ private $status = 0;
+ /**
+ * Whether there is an experiment based on this draft currently serving.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_experiment_running = 7;
+ */
+ private $has_experiment_running = null;
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of draft promotion. This is only set if the draft promotion
+ * is in progress or finished.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 8;
+ */
+ private $long_running_operation = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign draft.
+ * Campaign draft resource names have the form:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ * @type \Google\Protobuf\Int64Value $draft_id
+ * The ID of the draft.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $base_campaign
+ * The base campaign to which the draft belongs.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the campaign draft.
+ * This field is required and should not be empty when creating new
+ * campaign drafts.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ * @type \Google\Protobuf\StringValue $draft_campaign
+ * Resource name of the Campaign that results from overlaying the draft
+ * changes onto the base campaign.
+ * This field is read-only.
+ * @type int $status
+ * The status of the campaign draft. This field is read-only.
+ * When a new campaign draft is added, the status defaults to PROPOSED.
+ * @type \Google\Protobuf\BoolValue $has_experiment_running
+ * Whether there is an experiment based on this draft currently serving.
+ * @type \Google\Protobuf\StringValue $long_running_operation
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of draft promotion. This is only set if the draft promotion
+ * is in progress or finished.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignDraft::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign draft.
+ * Campaign draft resource names have the form:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign draft.
+ * Campaign draft resource names have the form:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the draft.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value draft_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getDraftId()
+ {
+ return $this->draft_id;
+ }
+
+ /**
+ * Returns the unboxed value from getDraftId()
+
+ * The ID of the draft.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value draft_id = 2;
+ * @return int|string|null
+ */
+ public function getDraftIdUnwrapped()
+ {
+ $wrapper = $this->getDraftId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the draft.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value draft_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setDraftId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->draft_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the draft.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value draft_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setDraftIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setDraftId($wrappedVar);
+ }
+
+ /**
+ * The base campaign to which the draft belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBaseCampaign()
+ {
+ return $this->base_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getBaseCampaign()
+
+ * The base campaign to which the draft belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 3;
+ * @return string|null
+ */
+ public function getBaseCampaignUnwrapped()
+ {
+ $wrapper = $this->getBaseCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The base campaign to which the draft belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBaseCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->base_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The base campaign to which the draft belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue base_campaign = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBaseCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBaseCampaign($wrappedVar);
+ }
+
+ /**
+ * The name of the campaign draft.
+ * This field is required and should not be empty when creating new
+ * campaign drafts.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the campaign draft.
+ * This field is required and should not be empty when creating new
+ * campaign drafts.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the campaign draft.
+ * This field is required and should not be empty when creating new
+ * campaign drafts.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the campaign draft.
+ * This field is required and should not be empty when creating new
+ * campaign drafts.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Resource name of the Campaign that results from overlaying the draft
+ * changes onto the base campaign.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue draft_campaign = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDraftCampaign()
+ {
+ return $this->draft_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getDraftCampaign()
+
+ * Resource name of the Campaign that results from overlaying the draft
+ * changes onto the base campaign.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue draft_campaign = 5;
+ * @return string|null
+ */
+ public function getDraftCampaignUnwrapped()
+ {
+ $wrapper = $this->getDraftCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the Campaign that results from overlaying the draft
+ * changes onto the base campaign.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue draft_campaign = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDraftCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->draft_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the Campaign that results from overlaying the draft
+ * changes onto the base campaign.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue draft_campaign = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDraftCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDraftCampaign($wrappedVar);
+ }
+
+ /**
+ * The status of the campaign draft. This field is read-only.
+ * When a new campaign draft is added, the status defaults to PROPOSED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the campaign draft. This field is read-only.
+ * When a new campaign draft is added, the status defaults to PROPOSED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignDraftStatusEnum_CampaignDraftStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Whether there is an experiment based on this draft currently serving.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_experiment_running = 7;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getHasExperimentRunning()
+ {
+ return $this->has_experiment_running;
+ }
+
+ /**
+ * Returns the unboxed value from getHasExperimentRunning()
+
+ * Whether there is an experiment based on this draft currently serving.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_experiment_running = 7;
+ * @return bool|null
+ */
+ public function getHasExperimentRunningUnwrapped()
+ {
+ $wrapper = $this->getHasExperimentRunning();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether there is an experiment based on this draft currently serving.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_experiment_running = 7;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setHasExperimentRunning($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->has_experiment_running = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether there is an experiment based on this draft currently serving.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_experiment_running = 7;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setHasExperimentRunningUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setHasExperimentRunning($wrappedVar);
+ }
+
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of draft promotion. This is only set if the draft promotion
+ * is in progress or finished.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLongRunningOperation()
+ {
+ return $this->long_running_operation;
+ }
+
+ /**
+ * Returns the unboxed value from getLongRunningOperation()
+
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of draft promotion. This is only set if the draft promotion
+ * is in progress or finished.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 8;
+ * @return string|null
+ */
+ public function getLongRunningOperationUnwrapped()
+ {
+ $wrapper = $this->getLongRunningOperation();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of draft promotion. This is only set if the draft promotion
+ * is in progress or finished.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLongRunningOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->long_running_operation = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of draft promotion. This is only set if the draft promotion
+ * is in progress or finished.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLongRunningOperationUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLongRunningOperation($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php
new file mode 100644
index 000000000..2f7074e98
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignExperiment.php
@@ -0,0 +1,825 @@
+google.ads.googleads.v2.resources.CampaignExperiment
+ */
+final class CampaignExperiment extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign experiment.
+ * Campaign experiment resource names have the form:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the campaign experiment.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The campaign draft with staged changes to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_draft = 3;
+ */
+ private $campaign_draft = null;
+ /**
+ * The name of the campaign experiment.
+ * This field is required when creating new campaign experiments
+ * and must not conflict with the name of another non-removed
+ * campaign experiment or campaign.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The description of the experiment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ */
+ private $description = null;
+ /**
+ * Share of traffic directed to experiment as a percent (must be between 1 and
+ * 99 inclusive. Base campaign receives the remainder of the traffic
+ * (100 - traffic_split_percent). Required for create.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value traffic_split_percent = 6;
+ */
+ private $traffic_split_percent = null;
+ /**
+ * Determines the behavior of the traffic split.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7;
+ */
+ private $traffic_split_type = 0;
+ /**
+ * The experiment campaign, as opposed to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue experiment_campaign = 8;
+ */
+ private $experiment_campaign = null;
+ /**
+ * The status of the campaign experiment. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9;
+ */
+ private $status = 0;
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of experiment create or promote. The most recent long
+ * running operation is returned.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 10;
+ */
+ private $long_running_operation = null;
+ /**
+ * Date when the campaign experiment starts. By default, the experiment starts
+ * now or on the campaign's start date, whichever is later. If this field is
+ * set, then the experiment starts at the beginning of the specified date in
+ * the customer's time zone. Cannot be changed once the experiment starts.
+ * Format: YYYY-MM-DD
+ * Example: 2019-03-14
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 11;
+ */
+ private $start_date = null;
+ /**
+ * Date when the campaign experiment ends. By default, the experiment ends on
+ * the campaign's end date. If this field is set, then the experiment ends at
+ * the end of the specified date in the customer's time zone.
+ * Format: YYYY-MM-DD
+ * Example: 2019-04-18
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 12;
+ */
+ private $end_date = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign experiment.
+ * Campaign experiment resource names have the form:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the campaign experiment.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $campaign_draft
+ * The campaign draft with staged changes to the base campaign.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the campaign experiment.
+ * This field is required when creating new campaign experiments
+ * and must not conflict with the name of another non-removed
+ * campaign experiment or campaign.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ * @type \Google\Protobuf\StringValue $description
+ * The description of the experiment.
+ * @type \Google\Protobuf\Int64Value $traffic_split_percent
+ * Share of traffic directed to experiment as a percent (must be between 1 and
+ * 99 inclusive. Base campaign receives the remainder of the traffic
+ * (100 - traffic_split_percent). Required for create.
+ * @type int $traffic_split_type
+ * Determines the behavior of the traffic split.
+ * @type \Google\Protobuf\StringValue $experiment_campaign
+ * The experiment campaign, as opposed to the base campaign.
+ * @type int $status
+ * The status of the campaign experiment. This field is read-only.
+ * @type \Google\Protobuf\StringValue $long_running_operation
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of experiment create or promote. The most recent long
+ * running operation is returned.
+ * @type \Google\Protobuf\StringValue $start_date
+ * Date when the campaign experiment starts. By default, the experiment starts
+ * now or on the campaign's start date, whichever is later. If this field is
+ * set, then the experiment starts at the beginning of the specified date in
+ * the customer's time zone. Cannot be changed once the experiment starts.
+ * Format: YYYY-MM-DD
+ * Example: 2019-03-14
+ * @type \Google\Protobuf\StringValue $end_date
+ * Date when the campaign experiment ends. By default, the experiment ends on
+ * the campaign's end date. If this field is set, then the experiment ends at
+ * the end of the specified date in the customer's time zone.
+ * Format: YYYY-MM-DD
+ * Example: 2019-04-18
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignExperiment::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign experiment.
+ * Campaign experiment resource names have the form:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign experiment.
+ * Campaign experiment resource names have the form:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the campaign experiment.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the campaign experiment.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the campaign experiment.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the campaign experiment.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The campaign draft with staged changes to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_draft = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaignDraft()
+ {
+ return $this->campaign_draft;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignDraft()
+
+ * The campaign draft with staged changes to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_draft = 3;
+ * @return string|null
+ */
+ public function getCampaignDraftUnwrapped()
+ {
+ $wrapper = $this->getCampaignDraft();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign draft with staged changes to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_draft = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaignDraft($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign_draft = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign draft with staged changes to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_draft = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignDraftUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaignDraft($wrappedVar);
+ }
+
+ /**
+ * The name of the campaign experiment.
+ * This field is required when creating new campaign experiments
+ * and must not conflict with the name of another non-removed
+ * campaign experiment or campaign.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the campaign experiment.
+ * This field is required when creating new campaign experiments
+ * and must not conflict with the name of another non-removed
+ * campaign experiment or campaign.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the campaign experiment.
+ * This field is required when creating new campaign experiments
+ * and must not conflict with the name of another non-removed
+ * campaign experiment or campaign.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the campaign experiment.
+ * This field is required when creating new campaign experiments
+ * and must not conflict with the name of another non-removed
+ * campaign experiment or campaign.
+ * It must not contain any null (code point 0x0), NL line feed
+ * (code point 0xA) or carriage return (code point 0xD) characters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The description of the experiment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * The description of the experiment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The description of the experiment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The description of the experiment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * Share of traffic directed to experiment as a percent (must be between 1 and
+ * 99 inclusive. Base campaign receives the remainder of the traffic
+ * (100 - traffic_split_percent). Required for create.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value traffic_split_percent = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTrafficSplitPercent()
+ {
+ return $this->traffic_split_percent;
+ }
+
+ /**
+ * Returns the unboxed value from getTrafficSplitPercent()
+
+ * Share of traffic directed to experiment as a percent (must be between 1 and
+ * 99 inclusive. Base campaign receives the remainder of the traffic
+ * (100 - traffic_split_percent). Required for create.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value traffic_split_percent = 6;
+ * @return int|string|null
+ */
+ public function getTrafficSplitPercentUnwrapped()
+ {
+ $wrapper = $this->getTrafficSplitPercent();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Share of traffic directed to experiment as a percent (must be between 1 and
+ * 99 inclusive. Base campaign receives the remainder of the traffic
+ * (100 - traffic_split_percent). Required for create.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value traffic_split_percent = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTrafficSplitPercent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->traffic_split_percent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Share of traffic directed to experiment as a percent (must be between 1 and
+ * 99 inclusive. Base campaign receives the remainder of the traffic
+ * (100 - traffic_split_percent). Required for create.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value traffic_split_percent = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTrafficSplitPercentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTrafficSplitPercent($wrappedVar);
+ }
+
+ /**
+ * Determines the behavior of the traffic split.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7;
+ * @return int
+ */
+ public function getTrafficSplitType()
+ {
+ return $this->traffic_split_type;
+ }
+
+ /**
+ * Determines the behavior of the traffic split.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setTrafficSplitType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType::class);
+ $this->traffic_split_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The experiment campaign, as opposed to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue experiment_campaign = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExperimentCampaign()
+ {
+ return $this->experiment_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getExperimentCampaign()
+
+ * The experiment campaign, as opposed to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue experiment_campaign = 8;
+ * @return string|null
+ */
+ public function getExperimentCampaignUnwrapped()
+ {
+ $wrapper = $this->getExperimentCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The experiment campaign, as opposed to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue experiment_campaign = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExperimentCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->experiment_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The experiment campaign, as opposed to the base campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue experiment_campaign = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExperimentCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExperimentCampaign($wrappedVar);
+ }
+
+ /**
+ * The status of the campaign experiment. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the campaign experiment. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignExperimentStatusEnum_CampaignExperimentStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of experiment create or promote. The most recent long
+ * running operation is returned.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLongRunningOperation()
+ {
+ return $this->long_running_operation;
+ }
+
+ /**
+ * Returns the unboxed value from getLongRunningOperation()
+
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of experiment create or promote. The most recent long
+ * running operation is returned.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 10;
+ * @return string|null
+ */
+ public function getLongRunningOperationUnwrapped()
+ {
+ $wrapper = $this->getLongRunningOperation();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of experiment create or promote. The most recent long
+ * running operation is returned.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLongRunningOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->long_running_operation = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the long-running operation that can be used to poll
+ * for completion of experiment create or promote. The most recent long
+ * running operation is returned.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLongRunningOperationUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLongRunningOperation($wrappedVar);
+ }
+
+ /**
+ * Date when the campaign experiment starts. By default, the experiment starts
+ * now or on the campaign's start date, whichever is later. If this field is
+ * set, then the experiment starts at the beginning of the specified date in
+ * the customer's time zone. Cannot be changed once the experiment starts.
+ * Format: YYYY-MM-DD
+ * Example: 2019-03-14
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDate()
+
+ * Date when the campaign experiment starts. By default, the experiment starts
+ * now or on the campaign's start date, whichever is later. If this field is
+ * set, then the experiment starts at the beginning of the specified date in
+ * the customer's time zone. Cannot be changed once the experiment starts.
+ * Format: YYYY-MM-DD
+ * Example: 2019-03-14
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 11;
+ * @return string|null
+ */
+ public function getStartDateUnwrapped()
+ {
+ $wrapper = $this->getStartDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Date when the campaign experiment starts. By default, the experiment starts
+ * now or on the campaign's start date, whichever is later. If this field is
+ * set, then the experiment starts at the beginning of the specified date in
+ * the customer's time zone. Cannot be changed once the experiment starts.
+ * Format: YYYY-MM-DD
+ * Example: 2019-03-14
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Date when the campaign experiment starts. By default, the experiment starts
+ * now or on the campaign's start date, whichever is later. If this field is
+ * set, then the experiment starts at the beginning of the specified date in
+ * the customer's time zone. Cannot be changed once the experiment starts.
+ * Format: YYYY-MM-DD
+ * Example: 2019-03-14
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDate($wrappedVar);
+ }
+
+ /**
+ * Date when the campaign experiment ends. By default, the experiment ends on
+ * the campaign's end date. If this field is set, then the experiment ends at
+ * the end of the specified date in the customer's time zone.
+ * Format: YYYY-MM-DD
+ * Example: 2019-04-18
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDate()
+
+ * Date when the campaign experiment ends. By default, the experiment ends on
+ * the campaign's end date. If this field is set, then the experiment ends at
+ * the end of the specified date in the customer's time zone.
+ * Format: YYYY-MM-DD
+ * Example: 2019-04-18
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 12;
+ * @return string|null
+ */
+ public function getEndDateUnwrapped()
+ {
+ $wrapper = $this->getEndDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Date when the campaign experiment ends. By default, the experiment ends on
+ * the campaign's end date. If this field is set, then the experiment ends at
+ * the end of the specified date in the customer's time zone.
+ * Format: YYYY-MM-DD
+ * Example: 2019-04-18
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Date when the campaign experiment ends. By default, the experiment ends on
+ * the campaign's end date. If this field is set, then the experiment ends at
+ * the end of the specified date in the customer's time zone.
+ * Format: YYYY-MM-DD
+ * Example: 2019-04-18
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDate($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php
new file mode 100644
index 000000000..fac3a0c0f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignExtensionSetting.php
@@ -0,0 +1,266 @@
+google.ads.googleads.v2.resources.CampaignExtensionSetting
+ */
+final class CampaignExtensionSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign extension setting.
+ * CampaignExtensionSetting resource names have the form:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The extension type of the customer extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ */
+ private $extension_type = 0;
+ /**
+ * The resource name of the campaign. The linked extension feed items will
+ * serve under this campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ */
+ private $campaign = null;
+ /**
+ * The resource names of the extension feed items to serve under the campaign.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 4;
+ */
+ private $extension_feed_items;
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+ */
+ private $device = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign extension setting.
+ * CampaignExtensionSetting resource names have the form:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ * @type int $extension_type
+ * The extension type of the customer extension setting.
+ * @type \Google\Protobuf\StringValue $campaign
+ * The resource name of the campaign. The linked extension feed items will
+ * serve under this campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $extension_feed_items
+ * The resource names of the extension feed items to serve under the campaign.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ * @type int $device
+ * The device for which the extensions will serve. Optional.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign extension setting.
+ * CampaignExtensionSetting resource names have the form:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign extension setting.
+ * CampaignExtensionSetting resource names have the form:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The extension type of the customer extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ * @return int
+ */
+ public function getExtensionType()
+ {
+ return $this->extension_type;
+ }
+
+ /**
+ * The extension type of the customer extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setExtensionType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionTypeEnum_ExtensionType::class);
+ $this->extension_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the campaign. The linked extension feed items will
+ * serve under this campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The resource name of the campaign. The linked extension feed items will
+ * serve under this campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the campaign. The linked extension feed items will
+ * serve under this campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the campaign. The linked extension feed items will
+ * serve under this campaign.
+ * Campaign resource names have the form:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The resource names of the extension feed items to serve under the campaign.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getExtensionFeedItems()
+ {
+ return $this->extension_feed_items;
+ }
+
+ /**
+ * The resource names of the extension feed items to serve under the campaign.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 4;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setExtensionFeedItems($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->extension_feed_items = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->device;
+ }
+
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionSettingDeviceEnum_ExtensionSettingDevice::class);
+ $this->device = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php
new file mode 100644
index 000000000..f16d2114a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignFeed.php
@@ -0,0 +1,319 @@
+google.ads.googleads.v2.resources.CampaignFeed
+ */
+final class CampaignFeed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign feed.
+ * Campaign feed resource names have the form:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The feed to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ */
+ private $feed = null;
+ /**
+ * The campaign to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ */
+ private $campaign = null;
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * campaign. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+ */
+ private $placeholder_types;
+ /**
+ * Matching function associated with the CampaignFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 5;
+ */
+ private $matching_function = null;
+ /**
+ * Status of the campaign feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign feed.
+ * Campaign feed resource names have the form:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}
+ * @type \Google\Protobuf\StringValue $feed
+ * The feed to which the CampaignFeed belongs.
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign to which the CampaignFeed belongs.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $placeholder_types
+ * Indicates which placeholder types the feed may populate under the connected
+ * campaign. Required.
+ * @type \Google\Ads\GoogleAds\V2\Common\MatchingFunction $matching_function
+ * Matching function associated with the CampaignFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ * @type int $status
+ * Status of the campaign feed.
+ * This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignFeed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign feed.
+ * Campaign feed resource names have the form:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign feed.
+ * Campaign feed resource names have the form:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * The feed to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The feed to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The feed to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * The campaign to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign to which the CampaignFeed belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * campaign. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPlaceholderTypes()
+ {
+ return $this->placeholder_types;
+ }
+
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * campaign. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPlaceholderTypes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum\PlaceholderType::class);
+ $this->placeholder_types = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Matching function associated with the CampaignFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\MatchingFunction
+ */
+ public function getMatchingFunction()
+ {
+ return $this->matching_function;
+ }
+
+ /**
+ * Matching function associated with the CampaignFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\MatchingFunction $var
+ * @return $this
+ */
+ public function setMatchingFunction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MatchingFunction::class);
+ $this->matching_function = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of the campaign feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the campaign feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedLinkStatusEnum_FeedLinkStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php
new file mode 100644
index 000000000..d095e31cc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignLabel.php
@@ -0,0 +1,201 @@
+google.ads.googleads.v2.resources.CampaignLabel
+ */
+final class CampaignLabel extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Name of the resource.
+ * Campaign label resource names have the form:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The campaign to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ */
+ private $campaign = null;
+ /**
+ * The label assigned to the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ */
+ private $label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Name of the resource.
+ * Campaign label resource names have the form:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign to which the label is attached.
+ * @type \Google\Protobuf\StringValue $label
+ * The label assigned to the campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignLabel::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Name of the resource.
+ * Campaign label resource names have the form:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Name of the resource.
+ * Campaign label resource names have the form:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign to which the label is attached.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The label assigned to the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * Returns the unboxed value from getLabel()
+
+ * The label assigned to the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return string|null
+ */
+ public function getLabelUnwrapped()
+ {
+ $wrapper = $this->getLabel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The label assigned to the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The label assigned to the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLabelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLabel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php b/src/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php
new file mode 100644
index 000000000..7c567ae73
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CampaignSharedSet.php
@@ -0,0 +1,266 @@
+google.ads.googleads.v2.resources.CampaignSharedSet
+ */
+final class CampaignSharedSet extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign shared set.
+ * Campaign shared set resource names have the form:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The campaign to which the campaign shared set belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ */
+ private $campaign = null;
+ /**
+ * The shared set associated with the campaign. This may be a negative keyword
+ * shared set of another customer. This customer should be a manager of the
+ * other customer, otherwise the campaign shared set will exist but have no
+ * serving effect. Only negative keyword shared sets can be associated with
+ * Shopping campaigns. Only negative placement shared sets can be associated
+ * with Display mobile app campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 4;
+ */
+ private $shared_set = null;
+ /**
+ * The status of this campaign shared set. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign shared set.
+ * Campaign shared set resource names have the form:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign to which the campaign shared set belongs.
+ * @type \Google\Protobuf\StringValue $shared_set
+ * The shared set associated with the campaign. This may be a negative keyword
+ * shared set of another customer. This customer should be a manager of the
+ * other customer, otherwise the campaign shared set will exist but have no
+ * serving effect. Only negative keyword shared sets can be associated with
+ * Shopping campaigns. Only negative placement shared sets can be associated
+ * with Display mobile app campaigns.
+ * @type int $status
+ * The status of this campaign shared set. Read only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign shared set.
+ * Campaign shared set resource names have the form:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign shared set.
+ * Campaign shared set resource names have the form:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign to which the campaign shared set belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign to which the campaign shared set belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign to which the campaign shared set belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign to which the campaign shared set belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The shared set associated with the campaign. This may be a negative keyword
+ * shared set of another customer. This customer should be a manager of the
+ * other customer, otherwise the campaign shared set will exist but have no
+ * serving effect. Only negative keyword shared sets can be associated with
+ * Shopping campaigns. Only negative placement shared sets can be associated
+ * with Display mobile app campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSharedSet()
+ {
+ return $this->shared_set;
+ }
+
+ /**
+ * Returns the unboxed value from getSharedSet()
+
+ * The shared set associated with the campaign. This may be a negative keyword
+ * shared set of another customer. This customer should be a manager of the
+ * other customer, otherwise the campaign shared set will exist but have no
+ * serving effect. Only negative keyword shared sets can be associated with
+ * Shopping campaigns. Only negative placement shared sets can be associated
+ * with Display mobile app campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 4;
+ * @return string|null
+ */
+ public function getSharedSetUnwrapped()
+ {
+ $wrapper = $this->getSharedSet();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The shared set associated with the campaign. This may be a negative keyword
+ * shared set of another customer. This customer should be a manager of the
+ * other customer, otherwise the campaign shared set will exist but have no
+ * serving effect. Only negative keyword shared sets can be associated with
+ * Shopping campaigns. Only negative placement shared sets can be associated
+ * with Display mobile app campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSharedSet($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->shared_set = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The shared set associated with the campaign. This may be a negative keyword
+ * shared set of another customer. This customer should be a manager of the
+ * other customer, otherwise the campaign shared set will exist but have no
+ * serving effect. Only negative keyword shared sets can be associated with
+ * Shopping campaigns. Only negative placement shared sets can be associated
+ * with Display mobile app campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSharedSetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSharedSet($wrappedVar);
+ }
+
+ /**
+ * The status of this campaign shared set. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of this campaign shared set. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CampaignSharedSetStatusEnum_CampaignSharedSetStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Campaign_AppCampaignSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/Campaign_AppCampaignSetting.php
new file mode 100644
index 000000000..7eddeb75f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Campaign_AppCampaignSetting.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.CarrierConstant
+ */
+final class CarrierConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the carrier criterion.
+ * Carrier criterion resource names have the form:
+ * `carrierConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the carrier criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The full name of the carrier in English.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The country code of the country where the carrier is located, e.g., "AR",
+ * "FR", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 4;
+ */
+ private $country_code = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the carrier criterion.
+ * Carrier criterion resource names have the form:
+ * `carrierConstants/{criterion_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the carrier criterion.
+ * @type \Google\Protobuf\StringValue $name
+ * The full name of the carrier in English.
+ * @type \Google\Protobuf\StringValue $country_code
+ * The country code of the country where the carrier is located, e.g., "AR",
+ * "FR", etc.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CarrierConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the carrier criterion.
+ * Carrier criterion resource names have the form:
+ * `carrierConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the carrier criterion.
+ * Carrier criterion resource names have the form:
+ * `carrierConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the carrier criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the carrier criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the carrier criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the carrier criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The full name of the carrier in English.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The full name of the carrier in English.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The full name of the carrier in English.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The full name of the carrier in English.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The country code of the country where the carrier is located, e.g., "AR",
+ * "FR", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * The country code of the country where the carrier is located, e.g., "AR",
+ * "FR", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 4;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The country code of the country where the carrier is located, e.g., "AR",
+ * "FR", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The country code of the country where the carrier is located, e.g., "AR",
+ * "FR", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php b/src/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php
new file mode 100644
index 000000000..316551a8f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ChangeStatus.php
@@ -0,0 +1,844 @@
+google.ads.googleads.v2.resources.ChangeStatus
+ */
+final class ChangeStatus extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the change status.
+ * Change status resource names have the form:
+ * `customers/{customer_id}/changeStatus/{change_status_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Time at which the most recent change has occurred on this resource.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_change_date_time = 3;
+ */
+ private $last_change_date_time = null;
+ /**
+ * Represents the type of the changed resource. This dictates what fields
+ * will be set. For example, for AD_GROUP, campaign and ad_group fields will
+ * be set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4;
+ */
+ private $resource_type = 0;
+ /**
+ * The Campaign affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 5;
+ */
+ private $campaign = null;
+ /**
+ * The AdGroup affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 6;
+ */
+ private $ad_group = null;
+ /**
+ * Represents the status of the changed resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8;
+ */
+ private $resource_status = 0;
+ /**
+ * The AdGroupAd affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 9;
+ */
+ private $ad_group_ad = null;
+ /**
+ * The AdGroupCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 10;
+ */
+ private $ad_group_criterion = null;
+ /**
+ * The CampaignCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_criterion = 11;
+ */
+ private $campaign_criterion = null;
+ /**
+ * The Feed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 12;
+ */
+ private $feed = null;
+ /**
+ * The FeedItem affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 13;
+ */
+ private $feed_item = null;
+ /**
+ * The AdGroupFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_feed = 14;
+ */
+ private $ad_group_feed = null;
+ /**
+ * The CampaignFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_feed = 15;
+ */
+ private $campaign_feed = null;
+ /**
+ * The AdGroupBidModifier affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_bid_modifier = 16;
+ */
+ private $ad_group_bid_modifier = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the change status.
+ * Change status resource names have the form:
+ * `customers/{customer_id}/changeStatus/{change_status_id}`
+ * @type \Google\Protobuf\StringValue $last_change_date_time
+ * Time at which the most recent change has occurred on this resource.
+ * @type int $resource_type
+ * Represents the type of the changed resource. This dictates what fields
+ * will be set. For example, for AD_GROUP, campaign and ad_group fields will
+ * be set.
+ * @type \Google\Protobuf\StringValue $campaign
+ * The Campaign affected by this change.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The AdGroup affected by this change.
+ * @type int $resource_status
+ * Represents the status of the changed resource.
+ * @type \Google\Protobuf\StringValue $ad_group_ad
+ * The AdGroupAd affected by this change.
+ * @type \Google\Protobuf\StringValue $ad_group_criterion
+ * The AdGroupCriterion affected by this change.
+ * @type \Google\Protobuf\StringValue $campaign_criterion
+ * The CampaignCriterion affected by this change.
+ * @type \Google\Protobuf\StringValue $feed
+ * The Feed affected by this change.
+ * @type \Google\Protobuf\StringValue $feed_item
+ * The FeedItem affected by this change.
+ * @type \Google\Protobuf\StringValue $ad_group_feed
+ * The AdGroupFeed affected by this change.
+ * @type \Google\Protobuf\StringValue $campaign_feed
+ * The CampaignFeed affected by this change.
+ * @type \Google\Protobuf\StringValue $ad_group_bid_modifier
+ * The AdGroupBidModifier affected by this change.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ChangeStatus::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the change status.
+ * Change status resource names have the form:
+ * `customers/{customer_id}/changeStatus/{change_status_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the change status.
+ * Change status resource names have the form:
+ * `customers/{customer_id}/changeStatus/{change_status_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Time at which the most recent change has occurred on this resource.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_change_date_time = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLastChangeDateTime()
+ {
+ return $this->last_change_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getLastChangeDateTime()
+
+ * Time at which the most recent change has occurred on this resource.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_change_date_time = 3;
+ * @return string|null
+ */
+ public function getLastChangeDateTimeUnwrapped()
+ {
+ $wrapper = $this->getLastChangeDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Time at which the most recent change has occurred on this resource.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_change_date_time = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLastChangeDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->last_change_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Time at which the most recent change has occurred on this resource.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue last_change_date_time = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLastChangeDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLastChangeDateTime($wrappedVar);
+ }
+
+ /**
+ * Represents the type of the changed resource. This dictates what fields
+ * will be set. For example, for AD_GROUP, campaign and ad_group fields will
+ * be set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4;
+ * @return int
+ */
+ public function getResourceType()
+ {
+ return $this->resource_type;
+ }
+
+ /**
+ * Represents the type of the changed resource. This dictates what fields
+ * will be set. For example, for AD_GROUP, campaign and ad_group fields will
+ * be set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setResourceType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ChangeStatusResourceTypeEnum_ChangeStatusResourceType::class);
+ $this->resource_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The Campaign affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The Campaign affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 5;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Campaign affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Campaign affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The AdGroup affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The AdGroup affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 6;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The AdGroup affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The AdGroup affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * Represents the status of the changed resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8;
+ * @return int
+ */
+ public function getResourceStatus()
+ {
+ return $this->resource_status;
+ }
+
+ /**
+ * Represents the status of the changed resource.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setResourceStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ChangeStatusOperationEnum_ChangeStatusOperation::class);
+ $this->resource_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The AdGroupAd affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 9;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupAd()
+ {
+ return $this->ad_group_ad;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupAd()
+
+ * The AdGroupAd affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 9;
+ * @return string|null
+ */
+ public function getAdGroupAdUnwrapped()
+ {
+ $wrapper = $this->getAdGroupAd();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The AdGroupAd affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 9;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The AdGroupAd affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 9;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupAdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupAd($wrappedVar);
+ }
+
+ /**
+ * The AdGroupCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupCriterion()
+ {
+ return $this->ad_group_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupCriterion()
+
+ * The AdGroupCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 10;
+ * @return string|null
+ */
+ public function getAdGroupCriterionUnwrapped()
+ {
+ $wrapper = $this->getAdGroupCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The AdGroupCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The AdGroupCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_criterion = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupCriterion($wrappedVar);
+ }
+
+ /**
+ * The CampaignCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_criterion = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaignCriterion()
+ {
+ return $this->campaign_criterion;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignCriterion()
+
+ * The CampaignCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_criterion = 11;
+ * @return string|null
+ */
+ public function getCampaignCriterionUnwrapped()
+ {
+ $wrapper = $this->getCampaignCriterion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CampaignCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_criterion = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaignCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The CampaignCriterion affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_criterion = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignCriterionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaignCriterion($wrappedVar);
+ }
+
+ /**
+ * The Feed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 12;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * The Feed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 12;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Feed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 12;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Feed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 12;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * The FeedItem affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeedItem()
+ {
+ return $this->feed_item;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedItem()
+
+ * The FeedItem affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 13;
+ * @return string|null
+ */
+ public function getFeedItemUnwrapped()
+ {
+ $wrapper = $this->getFeedItem();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The FeedItem affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed_item = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The FeedItem affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedItemUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeedItem($wrappedVar);
+ }
+
+ /**
+ * The AdGroupFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_feed = 14;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupFeed()
+ {
+ return $this->ad_group_feed;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupFeed()
+
+ * The AdGroupFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_feed = 14;
+ * @return string|null
+ */
+ public function getAdGroupFeedUnwrapped()
+ {
+ $wrapper = $this->getAdGroupFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The AdGroupFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_feed = 14;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The AdGroupFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_feed = 14;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupFeed($wrappedVar);
+ }
+
+ /**
+ * The CampaignFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_feed = 15;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaignFeed()
+ {
+ return $this->campaign_feed;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignFeed()
+
+ * The CampaignFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_feed = 15;
+ * @return string|null
+ */
+ public function getCampaignFeedUnwrapped()
+ {
+ $wrapper = $this->getCampaignFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The CampaignFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_feed = 15;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaignFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign_feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The CampaignFeed affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_feed = 15;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaignFeed($wrappedVar);
+ }
+
+ /**
+ * The AdGroupBidModifier affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_bid_modifier = 16;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupBidModifier()
+ {
+ return $this->ad_group_bid_modifier;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupBidModifier()
+
+ * The AdGroupBidModifier affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_bid_modifier = 16;
+ * @return string|null
+ */
+ public function getAdGroupBidModifierUnwrapped()
+ {
+ $wrapper = $this->getAdGroupBidModifier();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The AdGroupBidModifier affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_bid_modifier = 16;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The AdGroupBidModifier affected by this change.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_bid_modifier = 16;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupBidModifierUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupBidModifier($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ClickView.php b/src/Google/Ads/GoogleAds/V2/Resources/ClickView.php
new file mode 100644
index 000000000..9d73db8b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ClickView.php
@@ -0,0 +1,342 @@
+google.ads.googleads.v2.resources.ClickView
+ */
+final class ClickView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the click view.
+ * Click view resource names have the form:
+ * `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The Google Click ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 2;
+ */
+ private $gclid = null;
+ /**
+ * The location criteria matching the area of interest associated with the
+ * impression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ClickLocation area_of_interest = 3;
+ */
+ private $area_of_interest = null;
+ /**
+ * The location criteria matching the location of presence associated with the
+ * impression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ClickLocation location_of_presence = 4;
+ */
+ private $location_of_presence = null;
+ /**
+ * Page number in search results where the ad was shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value page_number = 5;
+ */
+ private $page_number = null;
+ /**
+ * The associated ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 7;
+ */
+ private $ad_group_ad = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the click view.
+ * Click view resource names have the form:
+ * `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+ * @type \Google\Protobuf\StringValue $gclid
+ * The Google Click ID.
+ * @type \Google\Ads\GoogleAds\V2\Common\ClickLocation $area_of_interest
+ * The location criteria matching the area of interest associated with the
+ * impression.
+ * @type \Google\Ads\GoogleAds\V2\Common\ClickLocation $location_of_presence
+ * The location criteria matching the location of presence associated with the
+ * impression.
+ * @type \Google\Protobuf\Int64Value $page_number
+ * Page number in search results where the ad was shown.
+ * @type \Google\Protobuf\StringValue $ad_group_ad
+ * The associated ad.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ClickView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the click view.
+ * Click view resource names have the form:
+ * `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the click view.
+ * Click view resource names have the form:
+ * `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The Google Click ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGclid()
+ {
+ return $this->gclid;
+ }
+
+ /**
+ * Returns the unboxed value from getGclid()
+
+ * The Google Click ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 2;
+ * @return string|null
+ */
+ public function getGclidUnwrapped()
+ {
+ $wrapper = $this->getGclid();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Google Click ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGclid($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->gclid = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Google Click ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGclidUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGclid($wrappedVar);
+ }
+
+ /**
+ * The location criteria matching the area of interest associated with the
+ * impression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ClickLocation area_of_interest = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\ClickLocation
+ */
+ public function getAreaOfInterest()
+ {
+ return $this->area_of_interest;
+ }
+
+ /**
+ * The location criteria matching the area of interest associated with the
+ * impression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ClickLocation area_of_interest = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\ClickLocation $var
+ * @return $this
+ */
+ public function setAreaOfInterest($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ClickLocation::class);
+ $this->area_of_interest = $var;
+
+ return $this;
+ }
+
+ /**
+ * The location criteria matching the location of presence associated with the
+ * impression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ClickLocation location_of_presence = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\ClickLocation
+ */
+ public function getLocationOfPresence()
+ {
+ return $this->location_of_presence;
+ }
+
+ /**
+ * The location criteria matching the location of presence associated with the
+ * impression.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ClickLocation location_of_presence = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\ClickLocation $var
+ * @return $this
+ */
+ public function setLocationOfPresence($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ClickLocation::class);
+ $this->location_of_presence = $var;
+
+ return $this;
+ }
+
+ /**
+ * Page number in search results where the ad was shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value page_number = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPageNumber()
+ {
+ return $this->page_number;
+ }
+
+ /**
+ * Returns the unboxed value from getPageNumber()
+
+ * Page number in search results where the ad was shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value page_number = 5;
+ * @return int|string|null
+ */
+ public function getPageNumberUnwrapped()
+ {
+ $wrapper = $this->getPageNumber();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Page number in search results where the ad was shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value page_number = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPageNumber($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->page_number = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Page number in search results where the ad was shown.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value page_number = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPageNumberUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPageNumber($wrappedVar);
+ }
+
+ /**
+ * The associated ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroupAd()
+ {
+ return $this->ad_group_ad;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroupAd()
+
+ * The associated ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 7;
+ * @return string|null
+ */
+ public function getAdGroupAdUnwrapped()
+ {
+ $wrapper = $this->getAdGroupAd();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The associated ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroupAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group_ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The associated ad.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group_ad = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupAdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroupAd($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php
new file mode 100644
index 000000000..ea61454fe
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction.php
@@ -0,0 +1,869 @@
+google.ads.googleads.v2.resources.ConversionAction
+ */
+final class ConversionAction extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the conversion action.
+ * Conversion action resource names have the form:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The name of the conversion action.
+ * This field is required and should not be empty when creating new
+ * conversion actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The status of this conversion action for conversion event accrual.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4;
+ */
+ private $status = 0;
+ /**
+ * The type of this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionTypeEnum.ConversionActionType type = 5;
+ */
+ private $type = 0;
+ /**
+ * The category of conversions reported for this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6;
+ */
+ private $category = 0;
+ /**
+ * The resource name of the conversion action owner customer, or null if this
+ * is a system-defined conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue owner_customer = 7;
+ */
+ private $owner_customer = null;
+ /**
+ * Whether this conversion action should be included in the "conversions"
+ * metric.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_in_conversions_metric = 8;
+ */
+ private $include_in_conversions_metric = null;
+ /**
+ * The maximum number of days that may elapse between an interaction
+ * (e.g., a click) and a conversion event.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value click_through_lookback_window_days = 9;
+ */
+ private $click_through_lookback_window_days = null;
+ /**
+ * The maximum number of days which may elapse between an impression and a
+ * conversion without an interaction.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_lookback_window_days = 10;
+ */
+ private $view_through_lookback_window_days = null;
+ /**
+ * Settings related to the value for conversion events associated with this
+ * conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction.ValueSettings value_settings = 11;
+ */
+ private $value_settings = null;
+ /**
+ * How to count conversion events for the conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12;
+ */
+ private $counting_type = 0;
+ /**
+ * Settings related to this conversion action's attribution model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction.AttributionModelSettings attribution_model_settings = 13;
+ */
+ private $attribution_model_settings = null;
+ /**
+ * The snippets used for tracking conversions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TagSnippet tag_snippets = 14;
+ */
+ private $tag_snippets;
+ /**
+ * The phone call duration in seconds after which a conversion should be
+ * reported for this conversion action.
+ * The value must be between 0 and 10000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_call_duration_seconds = 15;
+ */
+ private $phone_call_duration_seconds = null;
+ /**
+ * App ID for an app conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 16;
+ */
+ private $app_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the conversion action.
+ * Conversion action resource names have the form:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the conversion action.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the conversion action.
+ * This field is required and should not be empty when creating new
+ * conversion actions.
+ * @type int $status
+ * The status of this conversion action for conversion event accrual.
+ * @type int $type
+ * The type of this conversion action.
+ * @type int $category
+ * The category of conversions reported for this conversion action.
+ * @type \Google\Protobuf\StringValue $owner_customer
+ * The resource name of the conversion action owner customer, or null if this
+ * is a system-defined conversion action.
+ * @type \Google\Protobuf\BoolValue $include_in_conversions_metric
+ * Whether this conversion action should be included in the "conversions"
+ * metric.
+ * @type \Google\Protobuf\Int64Value $click_through_lookback_window_days
+ * The maximum number of days that may elapse between an interaction
+ * (e.g., a click) and a conversion event.
+ * @type \Google\Protobuf\Int64Value $view_through_lookback_window_days
+ * The maximum number of days which may elapse between an impression and a
+ * conversion without an interaction.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ConversionAction\ValueSettings $value_settings
+ * Settings related to the value for conversion events associated with this
+ * conversion action.
+ * @type int $counting_type
+ * How to count conversion events for the conversion action.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ConversionAction\AttributionModelSettings $attribution_model_settings
+ * Settings related to this conversion action's attribution model.
+ * @type \Google\Ads\GoogleAds\V2\Common\TagSnippet[]|\Google\Protobuf\Internal\RepeatedField $tag_snippets
+ * The snippets used for tracking conversions.
+ * @type \Google\Protobuf\Int64Value $phone_call_duration_seconds
+ * The phone call duration in seconds after which a conversion should be
+ * reported for this conversion action.
+ * The value must be between 0 and 10000, inclusive.
+ * @type \Google\Protobuf\StringValue $app_id
+ * App ID for an app conversion action.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ConversionAction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the conversion action.
+ * Conversion action resource names have the form:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the conversion action.
+ * Conversion action resource names have the form:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the conversion action.
+ * This field is required and should not be empty when creating new
+ * conversion actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the conversion action.
+ * This field is required and should not be empty when creating new
+ * conversion actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the conversion action.
+ * This field is required and should not be empty when creating new
+ * conversion actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the conversion action.
+ * This field is required and should not be empty when creating new
+ * conversion actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The status of this conversion action for conversion event accrual.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of this conversion action for conversion event accrual.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionActionStatusEnum_ConversionActionStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The type of this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionTypeEnum.ConversionActionType type = 5;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionTypeEnum.ConversionActionType type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionActionTypeEnum_ConversionActionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The category of conversions reported for this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6;
+ * @return int
+ */
+ public function getCategory()
+ {
+ return $this->category;
+ }
+
+ /**
+ * The category of conversions reported for this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setCategory($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionActionCategoryEnum_ConversionActionCategory::class);
+ $this->category = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the conversion action owner customer, or null if this
+ * is a system-defined conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue owner_customer = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getOwnerCustomer()
+ {
+ return $this->owner_customer;
+ }
+
+ /**
+ * Returns the unboxed value from getOwnerCustomer()
+
+ * The resource name of the conversion action owner customer, or null if this
+ * is a system-defined conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue owner_customer = 7;
+ * @return string|null
+ */
+ public function getOwnerCustomerUnwrapped()
+ {
+ $wrapper = $this->getOwnerCustomer();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the conversion action owner customer, or null if this
+ * is a system-defined conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue owner_customer = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setOwnerCustomer($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->owner_customer = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the conversion action owner customer, or null if this
+ * is a system-defined conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue owner_customer = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setOwnerCustomerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setOwnerCustomer($wrappedVar);
+ }
+
+ /**
+ * Whether this conversion action should be included in the "conversions"
+ * metric.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_in_conversions_metric = 8;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getIncludeInConversionsMetric()
+ {
+ return $this->include_in_conversions_metric;
+ }
+
+ /**
+ * Returns the unboxed value from getIncludeInConversionsMetric()
+
+ * Whether this conversion action should be included in the "conversions"
+ * metric.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_in_conversions_metric = 8;
+ * @return bool|null
+ */
+ public function getIncludeInConversionsMetricUnwrapped()
+ {
+ $wrapper = $this->getIncludeInConversionsMetric();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether this conversion action should be included in the "conversions"
+ * metric.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_in_conversions_metric = 8;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setIncludeInConversionsMetric($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->include_in_conversions_metric = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether this conversion action should be included in the "conversions"
+ * metric.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue include_in_conversions_metric = 8;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setIncludeInConversionsMetricUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setIncludeInConversionsMetric($wrappedVar);
+ }
+
+ /**
+ * The maximum number of days that may elapse between an interaction
+ * (e.g., a click) and a conversion event.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value click_through_lookback_window_days = 9;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getClickThroughLookbackWindowDays()
+ {
+ return $this->click_through_lookback_window_days;
+ }
+
+ /**
+ * Returns the unboxed value from getClickThroughLookbackWindowDays()
+
+ * The maximum number of days that may elapse between an interaction
+ * (e.g., a click) and a conversion event.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value click_through_lookback_window_days = 9;
+ * @return int|string|null
+ */
+ public function getClickThroughLookbackWindowDaysUnwrapped()
+ {
+ $wrapper = $this->getClickThroughLookbackWindowDays();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The maximum number of days that may elapse between an interaction
+ * (e.g., a click) and a conversion event.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value click_through_lookback_window_days = 9;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setClickThroughLookbackWindowDays($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->click_through_lookback_window_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The maximum number of days that may elapse between an interaction
+ * (e.g., a click) and a conversion event.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value click_through_lookback_window_days = 9;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setClickThroughLookbackWindowDaysUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setClickThroughLookbackWindowDays($wrappedVar);
+ }
+
+ /**
+ * The maximum number of days which may elapse between an impression and a
+ * conversion without an interaction.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_lookback_window_days = 10;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getViewThroughLookbackWindowDays()
+ {
+ return $this->view_through_lookback_window_days;
+ }
+
+ /**
+ * Returns the unboxed value from getViewThroughLookbackWindowDays()
+
+ * The maximum number of days which may elapse between an impression and a
+ * conversion without an interaction.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_lookback_window_days = 10;
+ * @return int|string|null
+ */
+ public function getViewThroughLookbackWindowDaysUnwrapped()
+ {
+ $wrapper = $this->getViewThroughLookbackWindowDays();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The maximum number of days which may elapse between an impression and a
+ * conversion without an interaction.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_lookback_window_days = 10;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setViewThroughLookbackWindowDays($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->view_through_lookback_window_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The maximum number of days which may elapse between an impression and a
+ * conversion without an interaction.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value view_through_lookback_window_days = 10;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setViewThroughLookbackWindowDaysUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setViewThroughLookbackWindowDays($wrappedVar);
+ }
+
+ /**
+ * Settings related to the value for conversion events associated with this
+ * conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction.ValueSettings value_settings = 11;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ConversionAction\ValueSettings
+ */
+ public function getValueSettings()
+ {
+ return $this->value_settings;
+ }
+
+ /**
+ * Settings related to the value for conversion events associated with this
+ * conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction.ValueSettings value_settings = 11;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ConversionAction\ValueSettings $var
+ * @return $this
+ */
+ public function setValueSettings($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ConversionAction_ValueSettings::class);
+ $this->value_settings = $var;
+
+ return $this;
+ }
+
+ /**
+ * How to count conversion events for the conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12;
+ * @return int
+ */
+ public function getCountingType()
+ {
+ return $this->counting_type;
+ }
+
+ /**
+ * How to count conversion events for the conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setCountingType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionActionCountingTypeEnum_ConversionActionCountingType::class);
+ $this->counting_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Settings related to this conversion action's attribution model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction.AttributionModelSettings attribution_model_settings = 13;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ConversionAction\AttributionModelSettings
+ */
+ public function getAttributionModelSettings()
+ {
+ return $this->attribution_model_settings;
+ }
+
+ /**
+ * Settings related to this conversion action's attribution model.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction.AttributionModelSettings attribution_model_settings = 13;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ConversionAction\AttributionModelSettings $var
+ * @return $this
+ */
+ public function setAttributionModelSettings($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ConversionAction_AttributionModelSettings::class);
+ $this->attribution_model_settings = $var;
+
+ return $this;
+ }
+
+ /**
+ * The snippets used for tracking conversions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TagSnippet tag_snippets = 14;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTagSnippets()
+ {
+ return $this->tag_snippets;
+ }
+
+ /**
+ * The snippets used for tracking conversions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TagSnippet tag_snippets = 14;
+ * @param \Google\Ads\GoogleAds\V2\Common\TagSnippet[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTagSnippets($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\TagSnippet::class);
+ $this->tag_snippets = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The phone call duration in seconds after which a conversion should be
+ * reported for this conversion action.
+ * The value must be between 0 and 10000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_call_duration_seconds = 15;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getPhoneCallDurationSeconds()
+ {
+ return $this->phone_call_duration_seconds;
+ }
+
+ /**
+ * Returns the unboxed value from getPhoneCallDurationSeconds()
+
+ * The phone call duration in seconds after which a conversion should be
+ * reported for this conversion action.
+ * The value must be between 0 and 10000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_call_duration_seconds = 15;
+ * @return int|string|null
+ */
+ public function getPhoneCallDurationSecondsUnwrapped()
+ {
+ $wrapper = $this->getPhoneCallDurationSeconds();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The phone call duration in seconds after which a conversion should be
+ * reported for this conversion action.
+ * The value must be between 0 and 10000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_call_duration_seconds = 15;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setPhoneCallDurationSeconds($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->phone_call_duration_seconds = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The phone call duration in seconds after which a conversion should be
+ * reported for this conversion action.
+ * The value must be between 0 and 10000, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value phone_call_duration_seconds = 15;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setPhoneCallDurationSecondsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setPhoneCallDurationSeconds($wrappedVar);
+ }
+
+ /**
+ * App ID for an app conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 16;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAppId()
+ {
+ return $this->app_id;
+ }
+
+ /**
+ * Returns the unboxed value from getAppId()
+
+ * App ID for an app conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 16;
+ * @return string|null
+ */
+ public function getAppIdUnwrapped()
+ {
+ $wrapper = $this->getAppId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * App ID for an app conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 16;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAppId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->app_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * App ID for an app conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue app_id = 16;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAppIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAppId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/AttributionModelSettings.php b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/AttributionModelSettings.php
new file mode 100644
index 000000000..f31b11b1c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/AttributionModelSettings.php
@@ -0,0 +1,108 @@
+google.ads.googleads.v2.resources.ConversionAction.AttributionModelSettings
+ */
+final class AttributionModelSettings extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The attribution model type of this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AttributionModelEnum.AttributionModel attribution_model = 1;
+ */
+ private $attribution_model = 0;
+ /**
+ * The status of the data-driven attribution model for the conversion
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2;
+ */
+ private $data_driven_model_status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $attribution_model
+ * The attribution model type of this conversion action.
+ * @type int $data_driven_model_status
+ * The status of the data-driven attribution model for the conversion
+ * action.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ConversionAction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The attribution model type of this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AttributionModelEnum.AttributionModel attribution_model = 1;
+ * @return int
+ */
+ public function getAttributionModel()
+ {
+ return $this->attribution_model;
+ }
+
+ /**
+ * The attribution model type of this conversion action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AttributionModelEnum.AttributionModel attribution_model = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setAttributionModel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AttributionModelEnum_AttributionModel::class);
+ $this->attribution_model = $var;
+
+ return $this;
+ }
+
+ /**
+ * The status of the data-driven attribution model for the conversion
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2;
+ * @return int
+ */
+ public function getDataDrivenModelStatus()
+ {
+ return $this->data_driven_model_status;
+ }
+
+ /**
+ * The status of the data-driven attribution model for the conversion
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setDataDrivenModelStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DataDrivenModelStatusEnum_DataDrivenModelStatus::class);
+ $this->data_driven_model_status = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(AttributionModelSettings::class, \Google\Ads\GoogleAds\V2\Resources\ConversionAction_AttributionModelSettings::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/ValueSettings.php b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/ValueSettings.php
new file mode 100644
index 000000000..aa6239921
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction/ValueSettings.php
@@ -0,0 +1,262 @@
+google.ads.googleads.v2.resources.ConversionAction.ValueSettings
+ */
+final class ValueSettings extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The value to use when conversion events for this conversion action are
+ * sent with an invalid, disallowed or missing value, or when
+ * this conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue default_value = 1;
+ */
+ private $default_value = null;
+ /**
+ * The currency code to use when conversion events for this conversion
+ * action are sent with an invalid or missing currency code, or when this
+ * conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue default_currency_code = 2;
+ */
+ private $default_currency_code = null;
+ /**
+ * Controls whether the default value and default currency code are used in
+ * place of the value and currency code specified in conversion events for
+ * this conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue always_use_default_value = 3;
+ */
+ private $always_use_default_value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $default_value
+ * The value to use when conversion events for this conversion action are
+ * sent with an invalid, disallowed or missing value, or when
+ * this conversion action is configured to always use the default value.
+ * @type \Google\Protobuf\StringValue $default_currency_code
+ * The currency code to use when conversion events for this conversion
+ * action are sent with an invalid or missing currency code, or when this
+ * conversion action is configured to always use the default value.
+ * @type \Google\Protobuf\BoolValue $always_use_default_value
+ * Controls whether the default value and default currency code are used in
+ * place of the value and currency code specified in conversion events for
+ * this conversion action.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ConversionAction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The value to use when conversion events for this conversion action are
+ * sent with an invalid, disallowed or missing value, or when
+ * this conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue default_value = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getDefaultValue()
+ {
+ return $this->default_value;
+ }
+
+ /**
+ * Returns the unboxed value from getDefaultValue()
+
+ * The value to use when conversion events for this conversion action are
+ * sent with an invalid, disallowed or missing value, or when
+ * this conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue default_value = 1;
+ * @return float|null
+ */
+ public function getDefaultValueUnwrapped()
+ {
+ $wrapper = $this->getDefaultValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value to use when conversion events for this conversion action are
+ * sent with an invalid, disallowed or missing value, or when
+ * this conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue default_value = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setDefaultValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->default_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value to use when conversion events for this conversion action are
+ * sent with an invalid, disallowed or missing value, or when
+ * this conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue default_value = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setDefaultValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setDefaultValue($wrappedVar);
+ }
+
+ /**
+ * The currency code to use when conversion events for this conversion
+ * action are sent with an invalid or missing currency code, or when this
+ * conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue default_currency_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDefaultCurrencyCode()
+ {
+ return $this->default_currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getDefaultCurrencyCode()
+
+ * The currency code to use when conversion events for this conversion
+ * action are sent with an invalid or missing currency code, or when this
+ * conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue default_currency_code = 2;
+ * @return string|null
+ */
+ public function getDefaultCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getDefaultCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The currency code to use when conversion events for this conversion
+ * action are sent with an invalid or missing currency code, or when this
+ * conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue default_currency_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDefaultCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->default_currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The currency code to use when conversion events for this conversion
+ * action are sent with an invalid or missing currency code, or when this
+ * conversion action is configured to always use the default value.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue default_currency_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDefaultCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDefaultCurrencyCode($wrappedVar);
+ }
+
+ /**
+ * Controls whether the default value and default currency code are used in
+ * place of the value and currency code specified in conversion events for
+ * this conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue always_use_default_value = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getAlwaysUseDefaultValue()
+ {
+ return $this->always_use_default_value;
+ }
+
+ /**
+ * Returns the unboxed value from getAlwaysUseDefaultValue()
+
+ * Controls whether the default value and default currency code are used in
+ * place of the value and currency code specified in conversion events for
+ * this conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue always_use_default_value = 3;
+ * @return bool|null
+ */
+ public function getAlwaysUseDefaultValueUnwrapped()
+ {
+ $wrapper = $this->getAlwaysUseDefaultValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Controls whether the default value and default currency code are used in
+ * place of the value and currency code specified in conversion events for
+ * this conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue always_use_default_value = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setAlwaysUseDefaultValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->always_use_default_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Controls whether the default value and default currency code are used in
+ * place of the value and currency code specified in conversion events for
+ * this conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue always_use_default_value = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setAlwaysUseDefaultValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setAlwaysUseDefaultValue($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ValueSettings::class, \Google\Ads\GoogleAds\V2\Resources\ConversionAction_ValueSettings::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction_AttributionModelSettings.php b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction_AttributionModelSettings.php
new file mode 100644
index 000000000..ad88b8c55
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ConversionAction_AttributionModelSettings.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.ConversionTrackingSetting
+ */
+final class ConversionTrackingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The conversion tracking id used for this account. This id is automatically
+ * assigned after any conversion tracking feature is used. If the customer
+ * doesn't use conversion tracking, this is 0. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value conversion_tracking_id = 1;
+ */
+ private $conversion_tracking_id = null;
+ /**
+ * The conversion tracking id of the customer's manager. This is set when the
+ * customer is opted into cross account conversion tracking, and it overrides
+ * conversion_tracking_id. This field can only be managed through the Google
+ * Ads UI. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cross_account_conversion_tracking_id = 2;
+ */
+ private $cross_account_conversion_tracking_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $conversion_tracking_id
+ * The conversion tracking id used for this account. This id is automatically
+ * assigned after any conversion tracking feature is used. If the customer
+ * doesn't use conversion tracking, this is 0. This field is read-only.
+ * @type \Google\Protobuf\Int64Value $cross_account_conversion_tracking_id
+ * The conversion tracking id of the customer's manager. This is set when the
+ * customer is opted into cross account conversion tracking, and it overrides
+ * conversion_tracking_id. This field can only be managed through the Google
+ * Ads UI. This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Customer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The conversion tracking id used for this account. This id is automatically
+ * assigned after any conversion tracking feature is used. If the customer
+ * doesn't use conversion tracking, this is 0. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value conversion_tracking_id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getConversionTrackingId()
+ {
+ return $this->conversion_tracking_id;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionTrackingId()
+
+ * The conversion tracking id used for this account. This id is automatically
+ * assigned after any conversion tracking feature is used. If the customer
+ * doesn't use conversion tracking, this is 0. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value conversion_tracking_id = 1;
+ * @return int|string|null
+ */
+ public function getConversionTrackingIdUnwrapped()
+ {
+ $wrapper = $this->getConversionTrackingId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The conversion tracking id used for this account. This id is automatically
+ * assigned after any conversion tracking feature is used. If the customer
+ * doesn't use conversion tracking, this is 0. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value conversion_tracking_id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setConversionTrackingId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->conversion_tracking_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The conversion tracking id used for this account. This id is automatically
+ * assigned after any conversion tracking feature is used. If the customer
+ * doesn't use conversion tracking, this is 0. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value conversion_tracking_id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setConversionTrackingIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setConversionTrackingId($wrappedVar);
+ }
+
+ /**
+ * The conversion tracking id of the customer's manager. This is set when the
+ * customer is opted into cross account conversion tracking, and it overrides
+ * conversion_tracking_id. This field can only be managed through the Google
+ * Ads UI. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cross_account_conversion_tracking_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCrossAccountConversionTrackingId()
+ {
+ return $this->cross_account_conversion_tracking_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCrossAccountConversionTrackingId()
+
+ * The conversion tracking id of the customer's manager. This is set when the
+ * customer is opted into cross account conversion tracking, and it overrides
+ * conversion_tracking_id. This field can only be managed through the Google
+ * Ads UI. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cross_account_conversion_tracking_id = 2;
+ * @return int|string|null
+ */
+ public function getCrossAccountConversionTrackingIdUnwrapped()
+ {
+ $wrapper = $this->getCrossAccountConversionTrackingId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The conversion tracking id of the customer's manager. This is set when the
+ * customer is opted into cross account conversion tracking, and it overrides
+ * conversion_tracking_id. This field can only be managed through the Google
+ * Ads UI. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cross_account_conversion_tracking_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCrossAccountConversionTrackingId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cross_account_conversion_tracking_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The conversion tracking id of the customer's manager. This is set when the
+ * customer is opted into cross account conversion tracking, and it overrides
+ * conversion_tracking_id. This field can only be managed through the Google
+ * Ads UI. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cross_account_conversion_tracking_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCrossAccountConversionTrackingIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCrossAccountConversionTrackingId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php
new file mode 100644
index 000000000..def02d5ba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomInterest.php
@@ -0,0 +1,394 @@
+google.ads.googleads.v2.resources.CustomInterest
+ */
+final class CustomInterest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the custom interest.
+ * Custom interest resource names have the form:
+ * `customers/{customer_id}/customInterests/{custom_interest_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Id of the custom interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Status of this custom interest. Indicates whether the custom interest is
+ * enabled or removed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3;
+ */
+ private $status = 0;
+ /**
+ * Name of the custom interest. It should be unique across the same custom
+ * affinity audience.
+ * This field is required for create operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT.
+ * By default the type is set to CUSTOM_AFFINITY.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestTypeEnum.CustomInterestType type = 5;
+ */
+ private $type = 0;
+ /**
+ * Description of this custom interest audience.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 6;
+ */
+ private $description = null;
+ /**
+ * List of custom interest members that this custom interest is composed of.
+ * Members can be added during CustomInterest creation. If members are
+ * presented in UPDATE operation, existing members will be overridden.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.CustomInterestMember members = 7;
+ */
+ private $members;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the custom interest.
+ * Custom interest resource names have the form:
+ * `customers/{customer_id}/customInterests/{custom_interest_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * Id of the custom interest.
+ * @type int $status
+ * Status of this custom interest. Indicates whether the custom interest is
+ * enabled or removed.
+ * @type \Google\Protobuf\StringValue $name
+ * Name of the custom interest. It should be unique across the same custom
+ * affinity audience.
+ * This field is required for create operations.
+ * @type int $type
+ * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT.
+ * By default the type is set to CUSTOM_AFFINITY.
+ * @type \Google\Protobuf\StringValue $description
+ * Description of this custom interest audience.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomInterestMember[]|\Google\Protobuf\Internal\RepeatedField $members
+ * List of custom interest members that this custom interest is composed of.
+ * Members can be added during CustomInterest creation. If members are
+ * presented in UPDATE operation, existing members will be overridden.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomInterest::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the custom interest.
+ * Custom interest resource names have the form:
+ * `customers/{customer_id}/customInterests/{custom_interest_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the custom interest.
+ * Custom interest resource names have the form:
+ * `customers/{customer_id}/customInterests/{custom_interest_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Id of the custom interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * Id of the custom interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the custom interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the custom interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Status of this custom interest. Indicates whether the custom interest is
+ * enabled or removed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of this custom interest. Indicates whether the custom interest is
+ * enabled or removed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CustomInterestStatusEnum_CustomInterestStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Name of the custom interest. It should be unique across the same custom
+ * affinity audience.
+ * This field is required for create operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Name of the custom interest. It should be unique across the same custom
+ * affinity audience.
+ * This field is required for create operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of the custom interest. It should be unique across the same custom
+ * affinity audience.
+ * This field is required for create operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of the custom interest. It should be unique across the same custom
+ * affinity audience.
+ * This field is required for create operations.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT.
+ * By default the type is set to CUSTOM_AFFINITY.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestTypeEnum.CustomInterestType type = 5;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT.
+ * By default the type is set to CUSTOM_AFFINITY.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestTypeEnum.CustomInterestType type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CustomInterestTypeEnum_CustomInterestType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Description of this custom interest audience.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * Description of this custom interest audience.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 6;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Description of this custom interest audience.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Description of this custom interest audience.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * List of custom interest members that this custom interest is composed of.
+ * Members can be added during CustomInterest creation. If members are
+ * presented in UPDATE operation, existing members will be overridden.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.CustomInterestMember members = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMembers()
+ {
+ return $this->members;
+ }
+
+ /**
+ * List of custom interest members that this custom interest is composed of.
+ * Members can be added during CustomInterest creation. If members are
+ * presented in UPDATE operation, existing members will be overridden.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.CustomInterestMember members = 7;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomInterestMember[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMembers($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\CustomInterestMember::class);
+ $this->members = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomInterestMember.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomInterestMember.php
new file mode 100644
index 000000000..baac99ede
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomInterestMember.php
@@ -0,0 +1,137 @@
+google.ads.googleads.v2.resources.CustomInterestMember
+ */
+final class CustomInterestMember extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The type of custom interest member, KEYWORD or URL.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1;
+ */
+ private $member_type = 0;
+ /**
+ * Keyword text when member_type is KEYWORD or URL string when
+ * member_type is URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parameter = 2;
+ */
+ private $parameter = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $member_type
+ * The type of custom interest member, KEYWORD or URL.
+ * @type \Google\Protobuf\StringValue $parameter
+ * Keyword text when member_type is KEYWORD or URL string when
+ * member_type is URL.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomInterest::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The type of custom interest member, KEYWORD or URL.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1;
+ * @return int
+ */
+ public function getMemberType()
+ {
+ return $this->member_type;
+ }
+
+ /**
+ * The type of custom interest member, KEYWORD or URL.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setMemberType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CustomInterestMemberTypeEnum_CustomInterestMemberType::class);
+ $this->member_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Keyword text when member_type is KEYWORD or URL string when
+ * member_type is URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parameter = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getParameter()
+ {
+ return $this->parameter;
+ }
+
+ /**
+ * Returns the unboxed value from getParameter()
+
+ * Keyword text when member_type is KEYWORD or URL string when
+ * member_type is URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parameter = 2;
+ * @return string|null
+ */
+ public function getParameterUnwrapped()
+ {
+ $wrapper = $this->getParameter();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Keyword text when member_type is KEYWORD or URL string when
+ * member_type is URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parameter = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setParameter($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->parameter = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Keyword text when member_type is KEYWORD or URL string when
+ * member_type is URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue parameter = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setParameterUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setParameter($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Customer.php b/src/Google/Ads/GoogleAds/V2/Resources/Customer.php
new file mode 100644
index 000000000..09ee9fd3c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Customer.php
@@ -0,0 +1,869 @@
+google.ads.googleads.v2.resources.Customer
+ */
+final class Customer extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer.
+ * Customer resource names have the form:
+ * `customers/{customer_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * Optional, non-unique descriptive name of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue descriptive_name = 4;
+ */
+ private $descriptive_name = null;
+ /**
+ * The currency in which the account operates.
+ * A subset of the currency codes from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ */
+ private $currency_code = null;
+ /**
+ * The local timezone ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue time_zone = 6;
+ */
+ private $time_zone = null;
+ /**
+ * The URL template for constructing a tracking URL out of parameters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 7;
+ */
+ private $tracking_url_template = null;
+ /**
+ * The URL template for appending params to the final URL
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 11;
+ */
+ private $final_url_suffix = null;
+ /**
+ * Whether auto-tagging is enabled for the customer.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue auto_tagging_enabled = 8;
+ */
+ private $auto_tagging_enabled = null;
+ /**
+ * Whether the Customer has a Partners program badge. If the Customer is not
+ * associated with the Partners program, this will be false. For more
+ * information, see https://support.google.com/partners/answer/3125774.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_partners_badge = 9;
+ */
+ private $has_partners_badge = null;
+ /**
+ * Whether the customer is a manager.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue manager = 12;
+ */
+ private $manager = null;
+ /**
+ * Whether the customer is a test account.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue test_account = 13;
+ */
+ private $test_account = null;
+ /**
+ * Call reporting setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CallReportingSetting call_reporting_setting = 10;
+ */
+ private $call_reporting_setting = null;
+ /**
+ * Conversion tracking setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionTrackingSetting conversion_tracking_setting = 14;
+ */
+ private $conversion_tracking_setting = null;
+ /**
+ * Remarketing setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingSetting remarketing_setting = 15;
+ */
+ private $remarketing_setting = null;
+ /**
+ * Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If
+ * the list is empty, the customer is eligible. This field is read-only.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason pay_per_conversion_eligibility_failure_reasons = 16;
+ */
+ private $pay_per_conversion_eligibility_failure_reasons;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer.
+ * Customer resource names have the form:
+ * `customers/{customer_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the customer.
+ * @type \Google\Protobuf\StringValue $descriptive_name
+ * Optional, non-unique descriptive name of the customer.
+ * @type \Google\Protobuf\StringValue $currency_code
+ * The currency in which the account operates.
+ * A subset of the currency codes from the ISO 4217 standard is
+ * supported.
+ * @type \Google\Protobuf\StringValue $time_zone
+ * The local timezone ID of the customer.
+ * @type \Google\Protobuf\StringValue $tracking_url_template
+ * The URL template for constructing a tracking URL out of parameters.
+ * @type \Google\Protobuf\StringValue $final_url_suffix
+ * The URL template for appending params to the final URL
+ * @type \Google\Protobuf\BoolValue $auto_tagging_enabled
+ * Whether auto-tagging is enabled for the customer.
+ * @type \Google\Protobuf\BoolValue $has_partners_badge
+ * Whether the Customer has a Partners program badge. If the Customer is not
+ * associated with the Partners program, this will be false. For more
+ * information, see https://support.google.com/partners/answer/3125774.
+ * @type \Google\Protobuf\BoolValue $manager
+ * Whether the customer is a manager.
+ * @type \Google\Protobuf\BoolValue $test_account
+ * Whether the customer is a test account.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CallReportingSetting $call_reporting_setting
+ * Call reporting setting for a customer.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ConversionTrackingSetting $conversion_tracking_setting
+ * Conversion tracking setting for a customer.
+ * @type \Google\Ads\GoogleAds\V2\Resources\RemarketingSetting $remarketing_setting
+ * Remarketing setting for a customer.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $pay_per_conversion_eligibility_failure_reasons
+ * Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If
+ * the list is empty, the customer is eligible. This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Customer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer.
+ * Customer resource names have the form:
+ * `customers/{customer_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer.
+ * Customer resource names have the form:
+ * `customers/{customer_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Optional, non-unique descriptive name of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue descriptive_name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescriptiveName()
+ {
+ return $this->descriptive_name;
+ }
+
+ /**
+ * Returns the unboxed value from getDescriptiveName()
+
+ * Optional, non-unique descriptive name of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue descriptive_name = 4;
+ * @return string|null
+ */
+ public function getDescriptiveNameUnwrapped()
+ {
+ $wrapper = $this->getDescriptiveName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Optional, non-unique descriptive name of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue descriptive_name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescriptiveName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->descriptive_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Optional, non-unique descriptive name of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue descriptive_name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptiveNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescriptiveName($wrappedVar);
+ }
+
+ /**
+ * The currency in which the account operates.
+ * A subset of the currency codes from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrencyCode()
+
+ * The currency in which the account operates.
+ * A subset of the currency codes from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @return string|null
+ */
+ public function getCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The currency in which the account operates.
+ * A subset of the currency codes from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The currency in which the account operates.
+ * A subset of the currency codes from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCurrencyCode($wrappedVar);
+ }
+
+ /**
+ * The local timezone ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue time_zone = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTimeZone()
+ {
+ return $this->time_zone;
+ }
+
+ /**
+ * Returns the unboxed value from getTimeZone()
+
+ * The local timezone ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue time_zone = 6;
+ * @return string|null
+ */
+ public function getTimeZoneUnwrapped()
+ {
+ $wrapper = $this->getTimeZone();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The local timezone ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue time_zone = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTimeZone($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->time_zone = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The local timezone ID of the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue time_zone = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTimeZoneUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTimeZone($wrappedVar);
+ }
+
+ /**
+ * The URL template for constructing a tracking URL out of parameters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTrackingUrlTemplate()
+ {
+ return $this->tracking_url_template;
+ }
+
+ /**
+ * Returns the unboxed value from getTrackingUrlTemplate()
+
+ * The URL template for constructing a tracking URL out of parameters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 7;
+ * @return string|null
+ */
+ public function getTrackingUrlTemplateUnwrapped()
+ {
+ $wrapper = $this->getTrackingUrlTemplate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL template for constructing a tracking URL out of parameters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->tracking_url_template = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL template for constructing a tracking URL out of parameters.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue tracking_url_template = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTrackingUrlTemplateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTrackingUrlTemplate($wrappedVar);
+ }
+
+ /**
+ * The URL template for appending params to the final URL
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 11;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFinalUrlSuffix()
+ {
+ return $this->final_url_suffix;
+ }
+
+ /**
+ * Returns the unboxed value from getFinalUrlSuffix()
+
+ * The URL template for appending params to the final URL
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 11;
+ * @return string|null
+ */
+ public function getFinalUrlSuffixUnwrapped()
+ {
+ $wrapper = $this->getFinalUrlSuffix();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL template for appending params to the final URL
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 11;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFinalUrlSuffix($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->final_url_suffix = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL template for appending params to the final URL
+ *
+ * Generated from protobuf field .google.protobuf.StringValue final_url_suffix = 11;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFinalUrlSuffixUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFinalUrlSuffix($wrappedVar);
+ }
+
+ /**
+ * Whether auto-tagging is enabled for the customer.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue auto_tagging_enabled = 8;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getAutoTaggingEnabled()
+ {
+ return $this->auto_tagging_enabled;
+ }
+
+ /**
+ * Returns the unboxed value from getAutoTaggingEnabled()
+
+ * Whether auto-tagging is enabled for the customer.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue auto_tagging_enabled = 8;
+ * @return bool|null
+ */
+ public function getAutoTaggingEnabledUnwrapped()
+ {
+ $wrapper = $this->getAutoTaggingEnabled();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether auto-tagging is enabled for the customer.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue auto_tagging_enabled = 8;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setAutoTaggingEnabled($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->auto_tagging_enabled = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether auto-tagging is enabled for the customer.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue auto_tagging_enabled = 8;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setAutoTaggingEnabledUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setAutoTaggingEnabled($wrappedVar);
+ }
+
+ /**
+ * Whether the Customer has a Partners program badge. If the Customer is not
+ * associated with the Partners program, this will be false. For more
+ * information, see https://support.google.com/partners/answer/3125774.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_partners_badge = 9;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getHasPartnersBadge()
+ {
+ return $this->has_partners_badge;
+ }
+
+ /**
+ * Returns the unboxed value from getHasPartnersBadge()
+
+ * Whether the Customer has a Partners program badge. If the Customer is not
+ * associated with the Partners program, this will be false. For more
+ * information, see https://support.google.com/partners/answer/3125774.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_partners_badge = 9;
+ * @return bool|null
+ */
+ public function getHasPartnersBadgeUnwrapped()
+ {
+ $wrapper = $this->getHasPartnersBadge();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the Customer has a Partners program badge. If the Customer is not
+ * associated with the Partners program, this will be false. For more
+ * information, see https://support.google.com/partners/answer/3125774.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_partners_badge = 9;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setHasPartnersBadge($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->has_partners_badge = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the Customer has a Partners program badge. If the Customer is not
+ * associated with the Partners program, this will be false. For more
+ * information, see https://support.google.com/partners/answer/3125774.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_partners_badge = 9;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setHasPartnersBadgeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setHasPartnersBadge($wrappedVar);
+ }
+
+ /**
+ * Whether the customer is a manager.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue manager = 12;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getManager()
+ {
+ return $this->manager;
+ }
+
+ /**
+ * Returns the unboxed value from getManager()
+
+ * Whether the customer is a manager.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue manager = 12;
+ * @return bool|null
+ */
+ public function getManagerUnwrapped()
+ {
+ $wrapper = $this->getManager();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the customer is a manager.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue manager = 12;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setManager($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->manager = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the customer is a manager.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue manager = 12;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setManagerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setManager($wrappedVar);
+ }
+
+ /**
+ * Whether the customer is a test account.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue test_account = 13;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTestAccount()
+ {
+ return $this->test_account;
+ }
+
+ /**
+ * Returns the unboxed value from getTestAccount()
+
+ * Whether the customer is a test account.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue test_account = 13;
+ * @return bool|null
+ */
+ public function getTestAccountUnwrapped()
+ {
+ $wrapper = $this->getTestAccount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the customer is a test account.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue test_account = 13;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTestAccount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->test_account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the customer is a test account.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue test_account = 13;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTestAccountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTestAccount($wrappedVar);
+ }
+
+ /**
+ * Call reporting setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CallReportingSetting call_reporting_setting = 10;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CallReportingSetting
+ */
+ public function getCallReportingSetting()
+ {
+ return $this->call_reporting_setting;
+ }
+
+ /**
+ * Call reporting setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CallReportingSetting call_reporting_setting = 10;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CallReportingSetting $var
+ * @return $this
+ */
+ public function setCallReportingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CallReportingSetting::class);
+ $this->call_reporting_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Conversion tracking setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionTrackingSetting conversion_tracking_setting = 14;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ConversionTrackingSetting
+ */
+ public function getConversionTrackingSetting()
+ {
+ return $this->conversion_tracking_setting;
+ }
+
+ /**
+ * Conversion tracking setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionTrackingSetting conversion_tracking_setting = 14;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ConversionTrackingSetting $var
+ * @return $this
+ */
+ public function setConversionTrackingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ConversionTrackingSetting::class);
+ $this->conversion_tracking_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Remarketing setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingSetting remarketing_setting = 15;
+ * @return \Google\Ads\GoogleAds\V2\Resources\RemarketingSetting
+ */
+ public function getRemarketingSetting()
+ {
+ return $this->remarketing_setting;
+ }
+
+ /**
+ * Remarketing setting for a customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingSetting remarketing_setting = 15;
+ * @param \Google\Ads\GoogleAds\V2\Resources\RemarketingSetting $var
+ * @return $this
+ */
+ public function setRemarketingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\RemarketingSetting::class);
+ $this->remarketing_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If
+ * the list is empty, the customer is eligible. This field is read-only.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason pay_per_conversion_eligibility_failure_reasons = 16;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPayPerConversionEligibilityFailureReasons()
+ {
+ return $this->pay_per_conversion_eligibility_failure_reasons;
+ }
+
+ /**
+ * Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If
+ * the list is empty, the customer is eligible. This field is read-only.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason pay_per_conversion_eligibility_failure_reasons = 16;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPayPerConversionEligibilityFailureReasons($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\CustomerPayPerConversionEligibilityFailureReasonEnum\CustomerPayPerConversionEligibilityFailureReason::class);
+ $this->pay_per_conversion_eligibility_failure_reasons = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php
new file mode 100644
index 000000000..63a9f0cc6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerClient.php
@@ -0,0 +1,290 @@
+google.ads.googleads.v2.resources.CustomerClient
+ */
+final class CustomerClient extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer client.
+ * CustomerClient resource names have the form:
+ * `customers/{customer_id}/customerClients/{client_customer_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The resource name of the client-customer which is linked to
+ * the given customer. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ */
+ private $client_customer = null;
+ /**
+ * Specifies whether this is a
+ * [hidden account](https://support.google.com/google-ads/answer/7519830).
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 4;
+ */
+ private $hidden = null;
+ /**
+ * Distance between given customer and client. For self link, the level value
+ * will be 0. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value level = 5;
+ */
+ private $level = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer client.
+ * CustomerClient resource names have the form:
+ * `customers/{customer_id}/customerClients/{client_customer_id}`
+ * @type \Google\Protobuf\StringValue $client_customer
+ * The resource name of the client-customer which is linked to
+ * the given customer. Read only.
+ * @type \Google\Protobuf\BoolValue $hidden
+ * Specifies whether this is a
+ * [hidden account](https://support.google.com/google-ads/answer/7519830).
+ * Read only.
+ * @type \Google\Protobuf\Int64Value $level
+ * Distance between given customer and client. For self link, the level value
+ * will be 0. Read only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerClient::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer client.
+ * CustomerClient resource names have the form:
+ * `customers/{customer_id}/customerClients/{client_customer_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer client.
+ * CustomerClient resource names have the form:
+ * `customers/{customer_id}/customerClients/{client_customer_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the client-customer which is linked to
+ * the given customer. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getClientCustomer()
+ {
+ return $this->client_customer;
+ }
+
+ /**
+ * Returns the unboxed value from getClientCustomer()
+
+ * The resource name of the client-customer which is linked to
+ * the given customer. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @return string|null
+ */
+ public function getClientCustomerUnwrapped()
+ {
+ $wrapper = $this->getClientCustomer();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the client-customer which is linked to
+ * the given customer. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setClientCustomer($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->client_customer = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the client-customer which is linked to
+ * the given customer. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setClientCustomerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setClientCustomer($wrappedVar);
+ }
+
+ /**
+ * Specifies whether this is a
+ * [hidden account](https://support.google.com/google-ads/answer/7519830).
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getHidden()
+ {
+ return $this->hidden;
+ }
+
+ /**
+ * Returns the unboxed value from getHidden()
+
+ * Specifies whether this is a
+ * [hidden account](https://support.google.com/google-ads/answer/7519830).
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 4;
+ * @return bool|null
+ */
+ public function getHiddenUnwrapped()
+ {
+ $wrapper = $this->getHidden();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Specifies whether this is a
+ * [hidden account](https://support.google.com/google-ads/answer/7519830).
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setHidden($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->hidden = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Specifies whether this is a
+ * [hidden account](https://support.google.com/google-ads/answer/7519830).
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setHiddenUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setHidden($wrappedVar);
+ }
+
+ /**
+ * Distance between given customer and client. For self link, the level value
+ * will be 0. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value level = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getLevel()
+ {
+ return $this->level;
+ }
+
+ /**
+ * Returns the unboxed value from getLevel()
+
+ * Distance between given customer and client. For self link, the level value
+ * will be 0. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value level = 5;
+ * @return int|string|null
+ */
+ public function getLevelUnwrapped()
+ {
+ $wrapper = $this->getLevel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Distance between given customer and client. For self link, the level value
+ * will be 0. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value level = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setLevel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->level = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Distance between given customer and client. For self link, the level value
+ * will be 0. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value level = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setLevelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setLevel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php
new file mode 100644
index 000000000..4a3612260
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerClientLink.php
@@ -0,0 +1,310 @@
+google.ads.googleads.v2.resources.CustomerClientLink
+ */
+final class CustomerClientLink extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Name of the resource.
+ * CustomerClientLink resource names have the form:
+ * `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The client customer linked to this customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ */
+ private $client_customer = null;
+ /**
+ * This is uniquely identifies a customer client link. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ */
+ private $manager_link_id = null;
+ /**
+ * This is the status of the link between client and manager.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+ */
+ private $status = 0;
+ /**
+ * The visibility of the link. Users can choose whether or not to see hidden
+ * links in the AdWords UI.
+ * Default value is false
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 6;
+ */
+ private $hidden = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Name of the resource.
+ * CustomerClientLink resource names have the form:
+ * `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+ * @type \Google\Protobuf\StringValue $client_customer
+ * The client customer linked to this customer.
+ * @type \Google\Protobuf\Int64Value $manager_link_id
+ * This is uniquely identifies a customer client link. Read only.
+ * @type int $status
+ * This is the status of the link between client and manager.
+ * @type \Google\Protobuf\BoolValue $hidden
+ * The visibility of the link. Users can choose whether or not to see hidden
+ * links in the AdWords UI.
+ * Default value is false
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerClientLink::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Name of the resource.
+ * CustomerClientLink resource names have the form:
+ * `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Name of the resource.
+ * CustomerClientLink resource names have the form:
+ * `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The client customer linked to this customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getClientCustomer()
+ {
+ return $this->client_customer;
+ }
+
+ /**
+ * Returns the unboxed value from getClientCustomer()
+
+ * The client customer linked to this customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @return string|null
+ */
+ public function getClientCustomerUnwrapped()
+ {
+ $wrapper = $this->getClientCustomer();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The client customer linked to this customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setClientCustomer($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->client_customer = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The client customer linked to this customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue client_customer = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setClientCustomerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setClientCustomer($wrappedVar);
+ }
+
+ /**
+ * This is uniquely identifies a customer client link. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getManagerLinkId()
+ {
+ return $this->manager_link_id;
+ }
+
+ /**
+ * Returns the unboxed value from getManagerLinkId()
+
+ * This is uniquely identifies a customer client link. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @return int|string|null
+ */
+ public function getManagerLinkIdUnwrapped()
+ {
+ $wrapper = $this->getManagerLinkId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * This is uniquely identifies a customer client link. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setManagerLinkId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->manager_link_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * This is uniquely identifies a customer client link. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setManagerLinkIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setManagerLinkId($wrappedVar);
+ }
+
+ /**
+ * This is the status of the link between client and manager.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * This is the status of the link between client and manager.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ManagerLinkStatusEnum_ManagerLinkStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The visibility of the link. Users can choose whether or not to see hidden
+ * links in the AdWords UI.
+ * Default value is false
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 6;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getHidden()
+ {
+ return $this->hidden;
+ }
+
+ /**
+ * Returns the unboxed value from getHidden()
+
+ * The visibility of the link. Users can choose whether or not to see hidden
+ * links in the AdWords UI.
+ * Default value is false
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 6;
+ * @return bool|null
+ */
+ public function getHiddenUnwrapped()
+ {
+ $wrapper = $this->getHidden();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The visibility of the link. Users can choose whether or not to see hidden
+ * links in the AdWords UI.
+ * Default value is false
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 6;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setHidden($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->hidden = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * The visibility of the link. Users can choose whether or not to see hidden
+ * links in the AdWords UI.
+ * Default value is false
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue hidden = 6;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setHiddenUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setHidden($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php
new file mode 100644
index 000000000..d9e5f09a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerExtensionSetting.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.resources.CustomerExtensionSetting
+ */
+final class CustomerExtensionSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer extension setting.
+ * CustomerExtensionSetting resource names have the form:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The extension type of the customer extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ */
+ private $extension_type = 0;
+ /**
+ * The resource names of the extension feed items to serve under the customer.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 3;
+ */
+ private $extension_feed_items;
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4;
+ */
+ private $device = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer extension setting.
+ * CustomerExtensionSetting resource names have the form:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ * @type int $extension_type
+ * The extension type of the customer extension setting.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $extension_feed_items
+ * The resource names of the extension feed items to serve under the customer.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ * @type int $device
+ * The device for which the extensions will serve. Optional.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer extension setting.
+ * CustomerExtensionSetting resource names have the form:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer extension setting.
+ * CustomerExtensionSetting resource names have the form:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The extension type of the customer extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ * @return int
+ */
+ public function getExtensionType()
+ {
+ return $this->extension_type;
+ }
+
+ /**
+ * The extension type of the customer extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setExtensionType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionTypeEnum_ExtensionType::class);
+ $this->extension_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource names of the extension feed items to serve under the customer.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getExtensionFeedItems()
+ {
+ return $this->extension_feed_items;
+ }
+
+ /**
+ * The resource names of the extension feed items to serve under the customer.
+ * ExtensionFeedItem resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue extension_feed_items = 3;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setExtensionFeedItems($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->extension_feed_items = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->device;
+ }
+
+ /**
+ * The device for which the extensions will serve. Optional.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionSettingDeviceEnum_ExtensionSettingDevice::class);
+ $this->device = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php
new file mode 100644
index 000000000..bece09dcc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerFeed.php
@@ -0,0 +1,256 @@
+google.ads.googleads.v2.resources.CustomerFeed
+ */
+final class CustomerFeed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer feed.
+ * Customer feed resource names have the form:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The feed being linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ */
+ private $feed = null;
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * customer. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3;
+ */
+ private $placeholder_types;
+ /**
+ * Matching function associated with the CustomerFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 4;
+ */
+ private $matching_function = null;
+ /**
+ * Status of the customer feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer feed.
+ * Customer feed resource names have the form:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ * @type \Google\Protobuf\StringValue $feed
+ * The feed being linked to the customer.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $placeholder_types
+ * Indicates which placeholder types the feed may populate under the connected
+ * customer. Required.
+ * @type \Google\Ads\GoogleAds\V2\Common\MatchingFunction $matching_function
+ * Matching function associated with the CustomerFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ * @type int $status
+ * Status of the customer feed.
+ * This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerFeed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer feed.
+ * Customer feed resource names have the form:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer feed.
+ * Customer feed resource names have the form:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed being linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * The feed being linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The feed being linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The feed being linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * customer. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPlaceholderTypes()
+ {
+ return $this->placeholder_types;
+ }
+
+ /**
+ * Indicates which placeholder types the feed may populate under the connected
+ * customer. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPlaceholderTypes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum\PlaceholderType::class);
+ $this->placeholder_types = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Matching function associated with the CustomerFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\MatchingFunction
+ */
+ public function getMatchingFunction()
+ {
+ return $this->matching_function;
+ }
+
+ /**
+ * Matching function associated with the CustomerFeed.
+ * The matching function is used to filter the set of feed items selected.
+ * Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MatchingFunction matching_function = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\MatchingFunction $var
+ * @return $this
+ */
+ public function setMatchingFunction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MatchingFunction::class);
+ $this->matching_function = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of the customer feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the customer feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedLinkStatusEnum_FeedLinkStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php
new file mode 100644
index 000000000..377138d64
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerLabel.php
@@ -0,0 +1,221 @@
+google.ads.googleads.v2.resources.CustomerLabel
+ */
+final class CustomerLabel extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Name of the resource.
+ * Customer label resource names have the form:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The resource name of the customer to which the label is attached.
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue customer = 2;
+ */
+ private $customer = null;
+ /**
+ * The resource name of the label assigned to the customer.
+ * Note: the Customer ID portion of the label resource name is not
+ * validated when creating a new CustomerLabel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ */
+ private $label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Name of the resource.
+ * Customer label resource names have the form:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ * @type \Google\Protobuf\StringValue $customer
+ * The resource name of the customer to which the label is attached.
+ * Read only.
+ * @type \Google\Protobuf\StringValue $label
+ * The resource name of the label assigned to the customer.
+ * Note: the Customer ID portion of the label resource name is not
+ * validated when creating a new CustomerLabel.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerLabel::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Name of the resource.
+ * Customer label resource names have the form:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Name of the resource.
+ * Customer label resource names have the form:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the customer to which the label is attached.
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue customer = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCustomer()
+ {
+ return $this->customer;
+ }
+
+ /**
+ * Returns the unboxed value from getCustomer()
+
+ * The resource name of the customer to which the label is attached.
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue customer = 2;
+ * @return string|null
+ */
+ public function getCustomerUnwrapped()
+ {
+ $wrapper = $this->getCustomer();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the customer to which the label is attached.
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue customer = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCustomer($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->customer = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the customer to which the label is attached.
+ * Read only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue customer = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCustomerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCustomer($wrappedVar);
+ }
+
+ /**
+ * The resource name of the label assigned to the customer.
+ * Note: the Customer ID portion of the label resource name is not
+ * validated when creating a new CustomerLabel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * Returns the unboxed value from getLabel()
+
+ * The resource name of the label assigned to the customer.
+ * Note: the Customer ID portion of the label resource name is not
+ * validated when creating a new CustomerLabel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @return string|null
+ */
+ public function getLabelUnwrapped()
+ {
+ $wrapper = $this->getLabel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the label assigned to the customer.
+ * Note: the Customer ID portion of the label resource name is not
+ * validated when creating a new CustomerLabel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the label assigned to the customer.
+ * Note: the Customer ID portion of the label resource name is not
+ * validated when creating a new CustomerLabel.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue label = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLabelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLabel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php
new file mode 100644
index 000000000..927a84eca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerManagerLink.php
@@ -0,0 +1,235 @@
+google.ads.googleads.v2.resources.CustomerManagerLink
+ */
+final class CustomerManagerLink extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Name of the resource.
+ * CustomerManagerLink resource names have the form:
+ * `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The manager customer linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manager_customer = 3;
+ */
+ private $manager_customer = null;
+ /**
+ * ID of the customer-manager link. This field is read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ */
+ private $manager_link_id = null;
+ /**
+ * Status of the link between the customer and the manager.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Name of the resource.
+ * CustomerManagerLink resource names have the form:
+ * `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+ * @type \Google\Protobuf\StringValue $manager_customer
+ * The manager customer linked to the customer.
+ * @type \Google\Protobuf\Int64Value $manager_link_id
+ * ID of the customer-manager link. This field is read only.
+ * @type int $status
+ * Status of the link between the customer and the manager.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Name of the resource.
+ * CustomerManagerLink resource names have the form:
+ * `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Name of the resource.
+ * CustomerManagerLink resource names have the form:
+ * `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The manager customer linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manager_customer = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getManagerCustomer()
+ {
+ return $this->manager_customer;
+ }
+
+ /**
+ * Returns the unboxed value from getManagerCustomer()
+
+ * The manager customer linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manager_customer = 3;
+ * @return string|null
+ */
+ public function getManagerCustomerUnwrapped()
+ {
+ $wrapper = $this->getManagerCustomer();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The manager customer linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manager_customer = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setManagerCustomer($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->manager_customer = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The manager customer linked to the customer.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manager_customer = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setManagerCustomerUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setManagerCustomer($wrappedVar);
+ }
+
+ /**
+ * ID of the customer-manager link. This field is read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getManagerLinkId()
+ {
+ return $this->manager_link_id;
+ }
+
+ /**
+ * Returns the unboxed value from getManagerLinkId()
+
+ * ID of the customer-manager link. This field is read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @return int|string|null
+ */
+ public function getManagerLinkIdUnwrapped()
+ {
+ $wrapper = $this->getManagerLinkId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * ID of the customer-manager link. This field is read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setManagerLinkId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->manager_link_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * ID of the customer-manager link. This field is read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value manager_link_id = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setManagerLinkIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setManagerLinkId($wrappedVar);
+ }
+
+ /**
+ * Status of the link between the customer and the manager.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the link between the customer and the manager.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ManagerLinkStatusEnum_ManagerLinkStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php b/src/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php
new file mode 100644
index 000000000..0aeeacd2f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/CustomerNegativeCriterion.php
@@ -0,0 +1,349 @@
+google.ads.googleads.v2.resources.CustomerNegativeCriterion
+ */
+final class CustomerNegativeCriterion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer negative criterion.
+ * Customer negative criterion resource names have the form:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 3;
+ */
+ private $type = 0;
+ protected $criterion;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer negative criterion.
+ * Customer negative criterion resource names have the form:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the criterion.
+ * @type int $type
+ * The type of the criterion.
+ * @type \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo $content_label
+ * ContentLabel.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $mobile_application
+ * MobileApplication.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $mobile_app_category
+ * MobileAppCategory.
+ * @type \Google\Ads\GoogleAds\V2\Common\PlacementInfo $placement
+ * Placement.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $youtube_video
+ * YouTube Video.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $youtube_channel
+ * YouTube Channel.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer negative criterion.
+ * Customer negative criterion resource names have the form:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer negative criterion.
+ * Customer negative criterion resource names have the form:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the criterion.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 3;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum_CriterionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * ContentLabel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ContentLabelInfo content_label = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo
+ */
+ public function getContentLabel()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * ContentLabel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.ContentLabelInfo content_label = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo $var
+ * @return $this
+ */
+ public function setContentLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\ContentLabelInfo::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * MobileApplication.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo
+ */
+ public function getMobileApplication()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * MobileApplication.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $var
+ * @return $this
+ */
+ public function setMobileApplication($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * MobileAppCategory.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo
+ */
+ public function getMobileAppCategory()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * MobileAppCategory.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $var
+ * @return $this
+ */
+ public function setMobileAppCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\PlacementInfo
+ */
+ public function getPlacement()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\PlacementInfo $var
+ * @return $this
+ */
+ public function setPlacement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PlacementInfo::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo
+ */
+ public function getYoutubeVideo()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $var
+ * @return $this
+ */
+ public function setYoutubeVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo
+ */
+ public function getYoutubeChannel()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $var
+ * @return $this
+ */
+ public function setYoutubeChannel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCriterion()
+ {
+ return $this->whichOneof("criterion");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php b/src/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php
new file mode 100644
index 000000000..1da481bca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/DetailPlacementView.php
@@ -0,0 +1,385 @@
+google.ads.googleads.v2.resources.DetailPlacementView
+ */
+final class DetailPlacementView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the detail placement view.
+ * Detail placement view resource names have the form:
+ * `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The automatic placement string at detail level, e. g. website URL, mobile
+ * application ID, or a YouTube video ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ */
+ private $placement = null;
+ /**
+ * The display name is URL name for websites, YouTube video name for YouTube
+ * videos, and translated mobile app name for mobile apps.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ */
+ private $display_name = null;
+ /**
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue group_placement_target_url = 4;
+ */
+ private $group_placement_target_url = null;
+ /**
+ * URL of the placement, e.g. website, link to the mobile application in app
+ * store, or a YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 5;
+ */
+ private $target_url = null;
+ /**
+ * Type of the placement, e.g. Website, YouTube Video, and Mobile Application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 6;
+ */
+ private $placement_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the detail placement view.
+ * Detail placement view resource names have the form:
+ * `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+ * @type \Google\Protobuf\StringValue $placement
+ * The automatic placement string at detail level, e. g. website URL, mobile
+ * application ID, or a YouTube video ID.
+ * @type \Google\Protobuf\StringValue $display_name
+ * The display name is URL name for websites, YouTube video name for YouTube
+ * videos, and translated mobile app name for mobile apps.
+ * @type \Google\Protobuf\StringValue $group_placement_target_url
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ * @type \Google\Protobuf\StringValue $target_url
+ * URL of the placement, e.g. website, link to the mobile application in app
+ * store, or a YouTube video URL.
+ * @type int $placement_type
+ * Type of the placement, e.g. Website, YouTube Video, and Mobile Application.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\DetailPlacementView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the detail placement view.
+ * Detail placement view resource names have the form:
+ * `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the detail placement view.
+ * Detail placement view resource names have the form:
+ * `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The automatic placement string at detail level, e. g. website URL, mobile
+ * application ID, or a YouTube video ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPlacement()
+ {
+ return $this->placement;
+ }
+
+ /**
+ * Returns the unboxed value from getPlacement()
+
+ * The automatic placement string at detail level, e. g. website URL, mobile
+ * application ID, or a YouTube video ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @return string|null
+ */
+ public function getPlacementUnwrapped()
+ {
+ $wrapper = $this->getPlacement();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The automatic placement string at detail level, e. g. website URL, mobile
+ * application ID, or a YouTube video ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPlacement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->placement = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The automatic placement string at detail level, e. g. website URL, mobile
+ * application ID, or a YouTube video ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPlacementUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPlacement($wrappedVar);
+ }
+
+ /**
+ * The display name is URL name for websites, YouTube video name for YouTube
+ * videos, and translated mobile app name for mobile apps.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDisplayName()
+ {
+ return $this->display_name;
+ }
+
+ /**
+ * Returns the unboxed value from getDisplayName()
+
+ * The display name is URL name for websites, YouTube video name for YouTube
+ * videos, and translated mobile app name for mobile apps.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @return string|null
+ */
+ public function getDisplayNameUnwrapped()
+ {
+ $wrapper = $this->getDisplayName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The display name is URL name for websites, YouTube video name for YouTube
+ * videos, and translated mobile app name for mobile apps.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDisplayName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->display_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The display name is URL name for websites, YouTube video name for YouTube
+ * videos, and translated mobile app name for mobile apps.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDisplayNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDisplayName($wrappedVar);
+ }
+
+ /**
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue group_placement_target_url = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGroupPlacementTargetUrl()
+ {
+ return $this->group_placement_target_url;
+ }
+
+ /**
+ * Returns the unboxed value from getGroupPlacementTargetUrl()
+
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue group_placement_target_url = 4;
+ * @return string|null
+ */
+ public function getGroupPlacementTargetUrlUnwrapped()
+ {
+ $wrapper = $this->getGroupPlacementTargetUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue group_placement_target_url = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGroupPlacementTargetUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->group_placement_target_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue group_placement_target_url = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGroupPlacementTargetUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGroupPlacementTargetUrl($wrappedVar);
+ }
+
+ /**
+ * URL of the placement, e.g. website, link to the mobile application in app
+ * store, or a YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTargetUrl()
+ {
+ return $this->target_url;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetUrl()
+
+ * URL of the placement, e.g. website, link to the mobile application in app
+ * store, or a YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 5;
+ * @return string|null
+ */
+ public function getTargetUrlUnwrapped()
+ {
+ $wrapper = $this->getTargetUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL of the placement, e.g. website, link to the mobile application in app
+ * store, or a YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTargetUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->target_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL of the placement, e.g. website, link to the mobile application in app
+ * store, or a YouTube video URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTargetUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTargetUrl($wrappedVar);
+ }
+
+ /**
+ * Type of the placement, e.g. Website, YouTube Video, and Mobile Application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 6;
+ * @return int
+ */
+ public function getPlacementType()
+ {
+ return $this->placement_type;
+ }
+
+ /**
+ * Type of the placement, e.g. Website, YouTube Video, and Mobile Application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setPlacementType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PlacementTypeEnum_PlacementType::class);
+ $this->placement_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php b/src/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php
new file mode 100644
index 000000000..5ed6f8483
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/DisplayKeywordView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.DisplayKeywordView
+ */
+final class DisplayKeywordView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the display keyword view.
+ * Display Keyword view resource names have the form:
+ * `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the display keyword view.
+ * Display Keyword view resource names have the form:
+ * `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\DisplayKeywordView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the display keyword view.
+ * Display Keyword view resource names have the form:
+ * `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the display keyword view.
+ * Display Keyword view resource names have the form:
+ * `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/DistanceView.php b/src/Google/Ads/GoogleAds/V2/Resources/DistanceView.php
new file mode 100644
index 000000000..7cbf5b87d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/DistanceView.php
@@ -0,0 +1,176 @@
+google.ads.googleads.v2.resources.DistanceView
+ */
+final class DistanceView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the distance view.
+ * Distance view resource names have the form:
+ * `customers/{customer_id}/distanceViews/1~{distance_bucket}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Grouping of user distance from location extensions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2;
+ */
+ private $distance_bucket = 0;
+ /**
+ * True if the DistanceBucket is using the metric system, false otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue metric_system = 3;
+ */
+ private $metric_system = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the distance view.
+ * Distance view resource names have the form:
+ * `customers/{customer_id}/distanceViews/1~{distance_bucket}`
+ * @type int $distance_bucket
+ * Grouping of user distance from location extensions.
+ * @type \Google\Protobuf\BoolValue $metric_system
+ * True if the DistanceBucket is using the metric system, false otherwise.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\DistanceView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the distance view.
+ * Distance view resource names have the form:
+ * `customers/{customer_id}/distanceViews/1~{distance_bucket}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the distance view.
+ * Distance view resource names have the form:
+ * `customers/{customer_id}/distanceViews/1~{distance_bucket}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Grouping of user distance from location extensions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2;
+ * @return int
+ */
+ public function getDistanceBucket()
+ {
+ return $this->distance_bucket;
+ }
+
+ /**
+ * Grouping of user distance from location extensions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setDistanceBucket($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\DistanceBucketEnum_DistanceBucket::class);
+ $this->distance_bucket = $var;
+
+ return $this;
+ }
+
+ /**
+ * True if the DistanceBucket is using the metric system, false otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue metric_system = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getMetricSystem()
+ {
+ return $this->metric_system;
+ }
+
+ /**
+ * Returns the unboxed value from getMetricSystem()
+
+ * True if the DistanceBucket is using the metric system, false otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue metric_system = 3;
+ * @return bool|null
+ */
+ public function getMetricSystemUnwrapped()
+ {
+ $wrapper = $this->getMetricSystem();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * True if the DistanceBucket is using the metric system, false otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue metric_system = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setMetricSystem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->metric_system = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * True if the DistanceBucket is using the metric system, false otherwise.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue metric_system = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setMetricSystemUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setMetricSystem($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php b/src/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php
new file mode 100644
index 000000000..52f03882b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/DomainCategory.php
@@ -0,0 +1,624 @@
+google.ads.googleads.v2.resources.DomainCategory
+ */
+final class DomainCategory extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the domain category.
+ * Domain category resource names have the form:
+ * `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The campaign this category is recommended for.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ */
+ private $campaign = null;
+ /**
+ * Recommended category for the website domain. e.g. if you have a website
+ * about electronics, the categories could be "cameras", "televisions", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue category = 3;
+ */
+ private $category = null;
+ /**
+ * The language code specifying the language of the website. e.g. "en" for
+ * English. The language can be specified in the DynamicSearchAdsSetting
+ * required for dynamic search ads. This is the language of the pages from
+ * your website that you want Google Ads to find, create ads for,
+ * and match searches with.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ */
+ private $language_code = null;
+ /**
+ * The domain for the website. The domain can be specified in the
+ * DynamicSearchAdsSetting required for dynamic search ads.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain = 5;
+ */
+ private $domain = null;
+ /**
+ * Fraction of pages on your site that this category matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue coverage_fraction = 6;
+ */
+ private $coverage_fraction = null;
+ /**
+ * The position of this category in the set of categories. Lower numbers
+ * indicate a better match for the domain. null indicates not recommended.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value category_rank = 7;
+ */
+ private $category_rank = null;
+ /**
+ * Indicates whether this category has sub-categories.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_children = 8;
+ */
+ private $has_children = null;
+ /**
+ * The recommended cost per click for the category.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 9;
+ */
+ private $recommended_cpc_bid_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the domain category.
+ * Domain category resource names have the form:
+ * `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}`
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign this category is recommended for.
+ * @type \Google\Protobuf\StringValue $category
+ * Recommended category for the website domain. e.g. if you have a website
+ * about electronics, the categories could be "cameras", "televisions", etc.
+ * @type \Google\Protobuf\StringValue $language_code
+ * The language code specifying the language of the website. e.g. "en" for
+ * English. The language can be specified in the DynamicSearchAdsSetting
+ * required for dynamic search ads. This is the language of the pages from
+ * your website that you want Google Ads to find, create ads for,
+ * and match searches with.
+ * @type \Google\Protobuf\StringValue $domain
+ * The domain for the website. The domain can be specified in the
+ * DynamicSearchAdsSetting required for dynamic search ads.
+ * @type \Google\Protobuf\DoubleValue $coverage_fraction
+ * Fraction of pages on your site that this category matches.
+ * @type \Google\Protobuf\Int64Value $category_rank
+ * The position of this category in the set of categories. Lower numbers
+ * indicate a better match for the domain. null indicates not recommended.
+ * @type \Google\Protobuf\BoolValue $has_children
+ * Indicates whether this category has sub-categories.
+ * @type \Google\Protobuf\Int64Value $recommended_cpc_bid_micros
+ * The recommended cost per click for the category.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\DomainCategory::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the domain category.
+ * Domain category resource names have the form:
+ * `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the domain category.
+ * Domain category resource names have the form:
+ * `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign this category is recommended for.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign this category is recommended for.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign this category is recommended for.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign this category is recommended for.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * Recommended category for the website domain. e.g. if you have a website
+ * about electronics, the categories could be "cameras", "televisions", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue category = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCategory()
+ {
+ return $this->category;
+ }
+
+ /**
+ * Returns the unboxed value from getCategory()
+
+ * Recommended category for the website domain. e.g. if you have a website
+ * about electronics, the categories could be "cameras", "televisions", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue category = 3;
+ * @return string|null
+ */
+ public function getCategoryUnwrapped()
+ {
+ $wrapper = $this->getCategory();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Recommended category for the website domain. e.g. if you have a website
+ * about electronics, the categories could be "cameras", "televisions", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue category = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->category = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Recommended category for the website domain. e.g. if you have a website
+ * about electronics, the categories could be "cameras", "televisions", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue category = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCategoryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCategory($wrappedVar);
+ }
+
+ /**
+ * The language code specifying the language of the website. e.g. "en" for
+ * English. The language can be specified in the DynamicSearchAdsSetting
+ * required for dynamic search ads. This is the language of the pages from
+ * your website that you want Google Ads to find, create ads for,
+ * and match searches with.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * The language code specifying the language of the website. e.g. "en" for
+ * English. The language can be specified in the DynamicSearchAdsSetting
+ * required for dynamic search ads. This is the language of the pages from
+ * your website that you want Google Ads to find, create ads for,
+ * and match searches with.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language code specifying the language of the website. e.g. "en" for
+ * English. The language can be specified in the DynamicSearchAdsSetting
+ * required for dynamic search ads. This is the language of the pages from
+ * your website that you want Google Ads to find, create ads for,
+ * and match searches with.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language code specifying the language of the website. e.g. "en" for
+ * English. The language can be specified in the DynamicSearchAdsSetting
+ * required for dynamic search ads. This is the language of the pages from
+ * your website that you want Google Ads to find, create ads for,
+ * and match searches with.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+ /**
+ * The domain for the website. The domain can be specified in the
+ * DynamicSearchAdsSetting required for dynamic search ads.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDomain()
+ {
+ return $this->domain;
+ }
+
+ /**
+ * Returns the unboxed value from getDomain()
+
+ * The domain for the website. The domain can be specified in the
+ * DynamicSearchAdsSetting required for dynamic search ads.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain = 5;
+ * @return string|null
+ */
+ public function getDomainUnwrapped()
+ {
+ $wrapper = $this->getDomain();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The domain for the website. The domain can be specified in the
+ * DynamicSearchAdsSetting required for dynamic search ads.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDomain($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->domain = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The domain for the website. The domain can be specified in the
+ * DynamicSearchAdsSetting required for dynamic search ads.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue domain = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDomainUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDomain($wrappedVar);
+ }
+
+ /**
+ * Fraction of pages on your site that this category matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue coverage_fraction = 6;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCoverageFraction()
+ {
+ return $this->coverage_fraction;
+ }
+
+ /**
+ * Returns the unboxed value from getCoverageFraction()
+
+ * Fraction of pages on your site that this category matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue coverage_fraction = 6;
+ * @return float|null
+ */
+ public function getCoverageFractionUnwrapped()
+ {
+ $wrapper = $this->getCoverageFraction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Fraction of pages on your site that this category matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue coverage_fraction = 6;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCoverageFraction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->coverage_fraction = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Fraction of pages on your site that this category matches.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue coverage_fraction = 6;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCoverageFractionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCoverageFraction($wrappedVar);
+ }
+
+ /**
+ * The position of this category in the set of categories. Lower numbers
+ * indicate a better match for the domain. null indicates not recommended.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value category_rank = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCategoryRank()
+ {
+ return $this->category_rank;
+ }
+
+ /**
+ * Returns the unboxed value from getCategoryRank()
+
+ * The position of this category in the set of categories. Lower numbers
+ * indicate a better match for the domain. null indicates not recommended.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value category_rank = 7;
+ * @return int|string|null
+ */
+ public function getCategoryRankUnwrapped()
+ {
+ $wrapper = $this->getCategoryRank();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The position of this category in the set of categories. Lower numbers
+ * indicate a better match for the domain. null indicates not recommended.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value category_rank = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCategoryRank($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->category_rank = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The position of this category in the set of categories. Lower numbers
+ * indicate a better match for the domain. null indicates not recommended.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value category_rank = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCategoryRankUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCategoryRank($wrappedVar);
+ }
+
+ /**
+ * Indicates whether this category has sub-categories.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_children = 8;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getHasChildren()
+ {
+ return $this->has_children;
+ }
+
+ /**
+ * Returns the unboxed value from getHasChildren()
+
+ * Indicates whether this category has sub-categories.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_children = 8;
+ * @return bool|null
+ */
+ public function getHasChildrenUnwrapped()
+ {
+ $wrapper = $this->getHasChildren();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates whether this category has sub-categories.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_children = 8;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setHasChildren($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->has_children = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates whether this category has sub-categories.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue has_children = 8;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setHasChildrenUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setHasChildren($wrappedVar);
+ }
+
+ /**
+ * The recommended cost per click for the category.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 9;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedCpcBidMicros()
+ {
+ return $this->recommended_cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedCpcBidMicros()
+
+ * The recommended cost per click for the category.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 9;
+ * @return int|string|null
+ */
+ public function getRecommendedCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended cost per click for the category.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 9;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended cost per click for the category.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 9;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedCpcBidMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php b/src/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php
new file mode 100644
index 000000000..5b0e22f8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/DynamicSearchAdsSearchTermView.php
@@ -0,0 +1,351 @@
+google.ads.googleads.v2.resources.DynamicSearchAdsSearchTermView
+ */
+final class DynamicSearchAdsSearchTermView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the dynamic search ads search term view.
+ * Dynamic search ads search term view resource names have the form:
+ * `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Search term
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ */
+ private $search_term = null;
+ /**
+ * The dynamically generated headline of the Dynamic Search Ad.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ */
+ private $headline = null;
+ /**
+ * The dynamically selected landing page URL of the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue landing_page = 4;
+ */
+ private $landing_page = null;
+ /**
+ * The URL of page feed item served for the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue page_url = 5;
+ */
+ private $page_url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the dynamic search ads search term view.
+ * Dynamic search ads search term view resource names have the form:
+ * `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}`
+ * @type \Google\Protobuf\StringValue $search_term
+ * Search term
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $headline
+ * The dynamically generated headline of the Dynamic Search Ad.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $landing_page
+ * The dynamically selected landing page URL of the impression.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $page_url
+ * The URL of page feed item served for the impression.
+ * This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\DynamicSearchAdsSearchTermView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the dynamic search ads search term view.
+ * Dynamic search ads search term view resource names have the form:
+ * `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the dynamic search ads search term view.
+ * Dynamic search ads search term view resource names have the form:
+ * `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Search term
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSearchTerm()
+ {
+ return $this->search_term;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchTerm()
+
+ * Search term
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @return string|null
+ */
+ public function getSearchTermUnwrapped()
+ {
+ $wrapper = $this->getSearchTerm();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Search term
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSearchTerm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->search_term = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Search term
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSearchTermUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSearchTerm($wrappedVar);
+ }
+
+ /**
+ * The dynamically generated headline of the Dynamic Search Ad.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHeadline()
+ {
+ return $this->headline;
+ }
+
+ /**
+ * Returns the unboxed value from getHeadline()
+
+ * The dynamically generated headline of the Dynamic Search Ad.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @return string|null
+ */
+ public function getHeadlineUnwrapped()
+ {
+ $wrapper = $this->getHeadline();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The dynamically generated headline of the Dynamic Search Ad.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHeadline($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->headline = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The dynamically generated headline of the Dynamic Search Ad.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue headline = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHeadlineUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHeadline($wrappedVar);
+ }
+
+ /**
+ * The dynamically selected landing page URL of the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue landing_page = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLandingPage()
+ {
+ return $this->landing_page;
+ }
+
+ /**
+ * Returns the unboxed value from getLandingPage()
+
+ * The dynamically selected landing page URL of the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue landing_page = 4;
+ * @return string|null
+ */
+ public function getLandingPageUnwrapped()
+ {
+ $wrapper = $this->getLandingPage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The dynamically selected landing page URL of the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue landing_page = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLandingPage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->landing_page = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The dynamically selected landing page URL of the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue landing_page = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLandingPageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLandingPage($wrappedVar);
+ }
+
+ /**
+ * The URL of page feed item served for the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue page_url = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPageUrl()
+ {
+ return $this->page_url;
+ }
+
+ /**
+ * Returns the unboxed value from getPageUrl()
+
+ * The URL of page feed item served for the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue page_url = 5;
+ * @return string|null
+ */
+ public function getPageUrlUnwrapped()
+ {
+ $wrapper = $this->getPageUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL of page feed item served for the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue page_url = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPageUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->page_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL of page feed item served for the impression.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue page_url = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPageUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPageUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php b/src/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php
new file mode 100644
index 000000000..4d1588a4c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ExpandedLandingPageView.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.resources.ExpandedLandingPageView
+ */
+final class ExpandedLandingPageView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the expanded landing page view.
+ * Expanded landing page view resource names have the form:
+ * `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The final URL that clicks are directed to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_final_url = 2;
+ */
+ private $expanded_final_url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the expanded landing page view.
+ * Expanded landing page view resource names have the form:
+ * `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`
+ * @type \Google\Protobuf\StringValue $expanded_final_url
+ * The final URL that clicks are directed to.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ExpandedLandingPageView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the expanded landing page view.
+ * Expanded landing page view resource names have the form:
+ * `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the expanded landing page view.
+ * Expanded landing page view resource names have the form:
+ * `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The final URL that clicks are directed to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_final_url = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExpandedFinalUrl()
+ {
+ return $this->expanded_final_url;
+ }
+
+ /**
+ * Returns the unboxed value from getExpandedFinalUrl()
+
+ * The final URL that clicks are directed to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_final_url = 2;
+ * @return string|null
+ */
+ public function getExpandedFinalUrlUnwrapped()
+ {
+ $wrapper = $this->getExpandedFinalUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The final URL that clicks are directed to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_final_url = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExpandedFinalUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->expanded_final_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The final URL that clicks are directed to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue expanded_final_url = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExpandedFinalUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExpandedFinalUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php b/src/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php
new file mode 100644
index 000000000..d72d4ecfd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ExtensionFeedItem.php
@@ -0,0 +1,907 @@
+google.ads.googleads.v2.resources.ExtensionFeedItem
+ */
+final class ExtensionFeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the extension feed item.
+ * Extension feed item resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The extension type of the extension feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 13;
+ */
+ private $extension_type = 0;
+ /**
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 5;
+ */
+ private $start_date_time = null;
+ /**
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 6;
+ */
+ private $end_date_time = null;
+ /**
+ * List of non-overlapping schedules specifying all time intervals
+ * for which the feed item may serve. There can be a maximum of 6 schedules
+ * per day.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdScheduleInfo ad_schedules = 16;
+ */
+ private $ad_schedules;
+ /**
+ * The targeted device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17;
+ */
+ private $device = 0;
+ /**
+ * The targeted geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_geo_target_constant = 20;
+ */
+ private $targeted_geo_target_constant = null;
+ /**
+ * The targeted keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo targeted_keyword = 22;
+ */
+ private $targeted_keyword = null;
+ /**
+ * Status of the feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 4;
+ */
+ private $status = 0;
+ protected $extension;
+ protected $serving_resource_targeting;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the extension feed item.
+ * Extension feed item resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ * @type int $extension_type
+ * The extension type of the extension feed item.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $start_date_time
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ * @type \Google\Protobuf\StringValue $end_date_time
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ * @type \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo[]|\Google\Protobuf\Internal\RepeatedField $ad_schedules
+ * List of non-overlapping schedules specifying all time intervals
+ * for which the feed item may serve. There can be a maximum of 6 schedules
+ * per day.
+ * @type int $device
+ * The targeted device.
+ * @type \Google\Protobuf\StringValue $targeted_geo_target_constant
+ * The targeted geo target constant.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $targeted_keyword
+ * The targeted keyword.
+ * @type int $status
+ * Status of the feed item.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem $sitelink_feed_item
+ * Sitelink extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\StructuredSnippetFeedItem $structured_snippet_feed_item
+ * Structured snippet extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\AppFeedItem $app_feed_item
+ * App extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\CallFeedItem $call_feed_item
+ * Call extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem $callout_feed_item
+ * Callout extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\TextMessageFeedItem $text_message_feed_item
+ * Text message extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\PriceFeedItem $price_feed_item
+ * Price extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\PromotionFeedItem $promotion_feed_item
+ * Promotion extension.
+ * @type \Google\Ads\GoogleAds\V2\Common\LocationFeedItem $location_feed_item
+ * Location extension. Locations are synced from a GMB account into a feed.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Common\AffiliateLocationFeedItem $affiliate_location_feed_item
+ * Affiliate location extension. Feed locations are populated by Google Ads
+ * based on a chain ID.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $targeted_campaign
+ * The targeted campaign.
+ * @type \Google\Protobuf\StringValue $targeted_ad_group
+ * The targeted ad group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the extension feed item.
+ * Extension feed item resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the extension feed item.
+ * Extension feed item resource names have the form:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The extension type of the extension feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 13;
+ * @return int
+ */
+ public function getExtensionType()
+ {
+ return $this->extension_type;
+ }
+
+ /**
+ * The extension type of the extension feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setExtensionType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ExtensionTypeEnum_ExtensionType::class);
+ $this->extension_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDateTime()
+ {
+ return $this->start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDateTime()
+
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 5;
+ * @return string|null
+ */
+ public function getStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDateTime($wrappedVar);
+ }
+
+ /**
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDateTime()
+ {
+ return $this->end_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDateTime()
+
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 6;
+ * @return string|null
+ */
+ public function getEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDateTime($wrappedVar);
+ }
+
+ /**
+ * List of non-overlapping schedules specifying all time intervals
+ * for which the feed item may serve. There can be a maximum of 6 schedules
+ * per day.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdScheduleInfo ad_schedules = 16;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAdSchedules()
+ {
+ return $this->ad_schedules;
+ }
+
+ /**
+ * List of non-overlapping schedules specifying all time intervals
+ * for which the feed item may serve. There can be a maximum of 6 schedules
+ * per day.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.AdScheduleInfo ad_schedules = 16;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAdSchedules($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo::class);
+ $this->ad_schedules = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The targeted device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->device;
+ }
+
+ /**
+ * The targeted device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemTargetDeviceEnum_FeedItemTargetDevice::class);
+ $this->device = $var;
+
+ return $this;
+ }
+
+ /**
+ * The targeted geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_geo_target_constant = 20;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTargetedGeoTargetConstant()
+ {
+ return $this->targeted_geo_target_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetedGeoTargetConstant()
+
+ * The targeted geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_geo_target_constant = 20;
+ * @return string|null
+ */
+ public function getTargetedGeoTargetConstantUnwrapped()
+ {
+ $wrapper = $this->getTargetedGeoTargetConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The targeted geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_geo_target_constant = 20;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTargetedGeoTargetConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->targeted_geo_target_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The targeted geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_geo_target_constant = 20;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTargetedGeoTargetConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTargetedGeoTargetConstant($wrappedVar);
+ }
+
+ /**
+ * The targeted keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo targeted_keyword = 22;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getTargetedKeyword()
+ {
+ return $this->targeted_keyword;
+ }
+
+ /**
+ * The targeted keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo targeted_keyword = 22;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setTargetedKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->targeted_keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of the feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 4;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemStatusEnum_FeedItemStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sitelink extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.SitelinkFeedItem sitelink_feed_item = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem
+ */
+ public function getSitelinkFeedItem()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Sitelink extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.SitelinkFeedItem sitelink_feed_item = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem $var
+ * @return $this
+ */
+ public function setSitelinkFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Structured snippet extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\StructuredSnippetFeedItem
+ */
+ public function getStructuredSnippetFeedItem()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Structured snippet extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\StructuredSnippetFeedItem $var
+ * @return $this
+ */
+ public function setStructuredSnippetFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\StructuredSnippetFeedItem::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * App extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppFeedItem app_feed_item = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\AppFeedItem
+ */
+ public function getAppFeedItem()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * App extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AppFeedItem app_feed_item = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\AppFeedItem $var
+ * @return $this
+ */
+ public function setAppFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AppFeedItem::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Call extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CallFeedItem call_feed_item = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\CallFeedItem
+ */
+ public function getCallFeedItem()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Call extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CallFeedItem call_feed_item = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\CallFeedItem $var
+ * @return $this
+ */
+ public function setCallFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CallFeedItem::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Callout extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CalloutFeedItem callout_feed_item = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem
+ */
+ public function getCalloutFeedItem()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Callout extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CalloutFeedItem callout_feed_item = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem $var
+ * @return $this
+ */
+ public function setCalloutFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * Text message extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextMessageFeedItem text_message_feed_item = 10;
+ * @return \Google\Ads\GoogleAds\V2\Common\TextMessageFeedItem
+ */
+ public function getTextMessageFeedItem()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Text message extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextMessageFeedItem text_message_feed_item = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\TextMessageFeedItem $var
+ * @return $this
+ */
+ public function setTextMessageFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TextMessageFeedItem::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Price extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PriceFeedItem price_feed_item = 11;
+ * @return \Google\Ads\GoogleAds\V2\Common\PriceFeedItem
+ */
+ public function getPriceFeedItem()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * Price extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PriceFeedItem price_feed_item = 11;
+ * @param \Google\Ads\GoogleAds\V2\Common\PriceFeedItem $var
+ * @return $this
+ */
+ public function setPriceFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PriceFeedItem::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * Promotion extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PromotionFeedItem promotion_feed_item = 12;
+ * @return \Google\Ads\GoogleAds\V2\Common\PromotionFeedItem
+ */
+ public function getPromotionFeedItem()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * Promotion extension.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PromotionFeedItem promotion_feed_item = 12;
+ * @param \Google\Ads\GoogleAds\V2\Common\PromotionFeedItem $var
+ * @return $this
+ */
+ public function setPromotionFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PromotionFeedItem::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * Location extension. Locations are synced from a GMB account into a feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LocationFeedItem location_feed_item = 14;
+ * @return \Google\Ads\GoogleAds\V2\Common\LocationFeedItem
+ */
+ public function getLocationFeedItem()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * Location extension. Locations are synced from a GMB account into a feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LocationFeedItem location_feed_item = 14;
+ * @param \Google\Ads\GoogleAds\V2\Common\LocationFeedItem $var
+ * @return $this
+ */
+ public function setLocationFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LocationFeedItem::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * Affiliate location extension. Feed locations are populated by Google Ads
+ * based on a chain ID.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15;
+ * @return \Google\Ads\GoogleAds\V2\Common\AffiliateLocationFeedItem
+ */
+ public function getAffiliateLocationFeedItem()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * Affiliate location extension. Feed locations are populated by Google Ads
+ * based on a chain ID.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15;
+ * @param \Google\Ads\GoogleAds\V2\Common\AffiliateLocationFeedItem $var
+ * @return $this
+ */
+ public function setAffiliateLocationFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AffiliateLocationFeedItem::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_campaign = 18;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTargetedCampaign()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * Returns the unboxed value from getTargetedCampaign()
+
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_campaign = 18;
+ * @return string|null
+ */
+ public function getTargetedCampaignUnwrapped()
+ {
+ $wrapper = $this->getTargetedCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_campaign = 18;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTargetedCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_campaign = 18;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTargetedCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTargetedCampaign($wrappedVar);
+ }
+
+ /**
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_ad_group = 19;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTargetedAdGroup()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * Returns the unboxed value from getTargetedAdGroup()
+
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_ad_group = 19;
+ * @return string|null
+ */
+ public function getTargetedAdGroupUnwrapped()
+ {
+ $wrapper = $this->getTargetedAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_ad_group = 19;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTargetedAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue targeted_ad_group = 19;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTargetedAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTargetedAdGroup($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getExtension()
+ {
+ return $this->whichOneof("extension");
+ }
+
+ /**
+ * @return string
+ */
+ public function getServingResourceTargeting()
+ {
+ return $this->whichOneof("serving_resource_targeting");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Feed.php b/src/Google/Ads/GoogleAds/V2/Resources/Feed.php
new file mode 100644
index 000000000..e621f9daa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Feed.php
@@ -0,0 +1,426 @@
+google.ads.googleads.v2.resources.Feed
+ */
+final class Feed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed.
+ * Feed resource names have the form:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Name of the feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The Feed's attributes. Required on CREATE.
+ * Disallowed on UPDATE. Use attribute_operations to add new attributes.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedAttribute attributes = 4;
+ */
+ private $attributes;
+ /**
+ * The list of operations changing the feed attributes. Attributes can only
+ * be added, not removed.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedAttributeOperation attribute_operations = 9;
+ */
+ private $attribute_operations;
+ /**
+ * Specifies who manages the FeedAttributes for the Feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedOriginEnum.FeedOrigin origin = 5;
+ */
+ private $origin = 0;
+ /**
+ * Status of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedStatusEnum.FeedStatus status = 8;
+ */
+ private $status = 0;
+ protected $system_feed_generation_data;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed.
+ * Feed resource names have the form:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the feed.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $name
+ * Name of the feed. Required.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedAttribute[]|\Google\Protobuf\Internal\RepeatedField $attributes
+ * The Feed's attributes. Required on CREATE.
+ * Disallowed on UPDATE. Use attribute_operations to add new attributes.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedAttributeOperation[]|\Google\Protobuf\Internal\RepeatedField $attribute_operations
+ * The list of operations changing the feed attributes. Attributes can only
+ * be added, not removed.
+ * @type int $origin
+ * Specifies who manages the FeedAttributes for the Feed.
+ * @type int $status
+ * Status of the feed.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Feed\PlacesLocationFeedData $places_location_feed_data
+ * Data used to configure a location feed populated from Google My Business
+ * Locations.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Feed\AffiliateLocationFeedData $affiliate_location_feed_data
+ * Data used to configure an affiliate location feed populated with
+ * the specified chains.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Feed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed.
+ * Feed resource names have the form:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed.
+ * Feed resource names have the form:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Name of the feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Name of the feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of the feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of the feed. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The Feed's attributes. Required on CREATE.
+ * Disallowed on UPDATE. Use attribute_operations to add new attributes.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedAttribute attributes = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAttributes()
+ {
+ return $this->attributes;
+ }
+
+ /**
+ * The Feed's attributes. Required on CREATE.
+ * Disallowed on UPDATE. Use attribute_operations to add new attributes.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedAttribute attributes = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedAttribute[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAttributes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\FeedAttribute::class);
+ $this->attributes = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations changing the feed attributes. Attributes can only
+ * be added, not removed.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedAttributeOperation attribute_operations = 9;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAttributeOperations()
+ {
+ return $this->attribute_operations;
+ }
+
+ /**
+ * The list of operations changing the feed attributes. Attributes can only
+ * be added, not removed.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedAttributeOperation attribute_operations = 9;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedAttributeOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAttributeOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\FeedAttributeOperation::class);
+ $this->attribute_operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Specifies who manages the FeedAttributes for the Feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedOriginEnum.FeedOrigin origin = 5;
+ * @return int
+ */
+ public function getOrigin()
+ {
+ return $this->origin;
+ }
+
+ /**
+ * Specifies who manages the FeedAttributes for the Feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedOriginEnum.FeedOrigin origin = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setOrigin($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedOriginEnum_FeedOrigin::class);
+ $this->origin = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedStatusEnum.FeedStatus status = 8;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the feed.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedStatusEnum.FeedStatus status = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedStatusEnum_FeedStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Data used to configure a location feed populated from Google My Business
+ * Locations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData places_location_feed_data = 6;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Feed\PlacesLocationFeedData
+ */
+ public function getPlacesLocationFeedData()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * Data used to configure a location feed populated from Google My Business
+ * Locations.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData places_location_feed_data = 6;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Feed\PlacesLocationFeedData $var
+ * @return $this
+ */
+ public function setPlacesLocationFeedData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Feed_PlacesLocationFeedData::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Data used to configure an affiliate location feed populated with
+ * the specified chains.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.AffiliateLocationFeedData affiliate_location_feed_data = 7;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Feed\AffiliateLocationFeedData
+ */
+ public function getAffiliateLocationFeedData()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Data used to configure an affiliate location feed populated with
+ * the specified chains.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.AffiliateLocationFeedData affiliate_location_feed_data = 7;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Feed\AffiliateLocationFeedData $var
+ * @return $this
+ */
+ public function setAffiliateLocationFeedData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Feed_AffiliateLocationFeedData::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getSystemFeedGenerationData()
+ {
+ return $this->whichOneof("system_feed_generation_data");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Feed/AffiliateLocationFeedData.php b/src/Google/Ads/GoogleAds/V2/Resources/Feed/AffiliateLocationFeedData.php
new file mode 100644
index 000000000..231a0b7a4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Feed/AffiliateLocationFeedData.php
@@ -0,0 +1,109 @@
+google.ads.googleads.v2.resources.Feed.AffiliateLocationFeedData
+ */
+final class AffiliateLocationFeedData extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of chains that the affiliate location feed will sync the
+ * locations from.
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value chain_ids = 1;
+ */
+ private $chain_ids;
+ /**
+ * The relationship the chains have with the advertiser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2;
+ */
+ private $relationship_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value[]|\Google\Protobuf\Internal\RepeatedField $chain_ids
+ * The list of chains that the affiliate location feed will sync the
+ * locations from.
+ * @type int $relationship_type
+ * The relationship the chains have with the advertiser.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Feed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of chains that the affiliate location feed will sync the
+ * locations from.
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value chain_ids = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getChainIds()
+ {
+ return $this->chain_ids;
+ }
+
+ /**
+ * The list of chains that the affiliate location feed will sync the
+ * locations from.
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value chain_ids = 1;
+ * @param \Google\Protobuf\Int64Value[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setChainIds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Int64Value::class);
+ $this->chain_ids = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The relationship the chains have with the advertiser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2;
+ * @return int
+ */
+ public function getRelationshipType()
+ {
+ return $this->relationship_type;
+ }
+
+ /**
+ * The relationship the chains have with the advertiser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setRelationshipType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AffiliateLocationFeedRelationshipTypeEnum_AffiliateLocationFeedRelationshipType::class);
+ $this->relationship_type = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(AffiliateLocationFeedData::class, \Google\Ads\GoogleAds\V2\Resources\Feed_AffiliateLocationFeedData::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData.php b/src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData.php
new file mode 100644
index 000000000..3b8a8fa3e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData.php
@@ -0,0 +1,396 @@
+google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData
+ */
+final class PlacesLocationFeedData extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required authentication token (from OAuth API) for the email.
+ * This field can only be specified in a create request. All its subfields
+ * are not selectable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData.OAuthInfo oauth_info = 1;
+ */
+ private $oauth_info = null;
+ /**
+ * Email address of a Google My Business account or email address of a
+ * manager of the Google My Business account. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 2;
+ */
+ private $email_address = null;
+ /**
+ * Plus page ID of the managed business whose locations should be used. If
+ * this field is not set, then all businesses accessible by the user
+ * (specified by email_address) are used.
+ * This field is mutate-only and is not selectable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_account_id = 10;
+ */
+ private $business_account_id = null;
+ /**
+ * Used to filter Google My Business listings by business name. If
+ * business_name_filter is set, only listings with a matching business name
+ * are candidates to be sync'd into FeedItems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name_filter = 4;
+ */
+ private $business_name_filter = null;
+ /**
+ * Used to filter Google My Business listings by categories. If entries
+ * exist in category_filters, only listings that belong to any of the
+ * categories are candidates to be sync'd into FeedItems. If no entries
+ * exist in category_filters, then all listings are candidates for syncing.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue category_filters = 5;
+ */
+ private $category_filters;
+ /**
+ * Used to filter Google My Business listings by labels. If entries exist in
+ * label_filters, only listings that has any of the labels set are
+ * candidates to be synchronized into FeedItems. If no entries exist in
+ * label_filters, then all listings are candidates for syncing.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue label_filters = 6;
+ */
+ private $label_filters;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Feed\PlacesLocationFeedData\OAuthInfo $oauth_info
+ * Required authentication token (from OAuth API) for the email.
+ * This field can only be specified in a create request. All its subfields
+ * are not selectable.
+ * @type \Google\Protobuf\StringValue $email_address
+ * Email address of a Google My Business account or email address of a
+ * manager of the Google My Business account. Required.
+ * @type \Google\Protobuf\StringValue $business_account_id
+ * Plus page ID of the managed business whose locations should be used. If
+ * this field is not set, then all businesses accessible by the user
+ * (specified by email_address) are used.
+ * This field is mutate-only and is not selectable.
+ * @type \Google\Protobuf\StringValue $business_name_filter
+ * Used to filter Google My Business listings by business name. If
+ * business_name_filter is set, only listings with a matching business name
+ * are candidates to be sync'd into FeedItems.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $category_filters
+ * Used to filter Google My Business listings by categories. If entries
+ * exist in category_filters, only listings that belong to any of the
+ * categories are candidates to be sync'd into FeedItems. If no entries
+ * exist in category_filters, then all listings are candidates for syncing.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $label_filters
+ * Used to filter Google My Business listings by labels. If entries exist in
+ * label_filters, only listings that has any of the labels set are
+ * candidates to be synchronized into FeedItems. If no entries exist in
+ * label_filters, then all listings are candidates for syncing.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Feed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required authentication token (from OAuth API) for the email.
+ * This field can only be specified in a create request. All its subfields
+ * are not selectable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData.OAuthInfo oauth_info = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Feed\PlacesLocationFeedData\OAuthInfo
+ */
+ public function getOauthInfo()
+ {
+ return $this->oauth_info;
+ }
+
+ /**
+ * Required authentication token (from OAuth API) for the email.
+ * This field can only be specified in a create request. All its subfields
+ * are not selectable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData.OAuthInfo oauth_info = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Feed\PlacesLocationFeedData\OAuthInfo $var
+ * @return $this
+ */
+ public function setOauthInfo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Feed_PlacesLocationFeedData_OAuthInfo::class);
+ $this->oauth_info = $var;
+
+ return $this;
+ }
+
+ /**
+ * Email address of a Google My Business account or email address of a
+ * manager of the Google My Business account. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEmailAddress()
+ {
+ return $this->email_address;
+ }
+
+ /**
+ * Returns the unboxed value from getEmailAddress()
+
+ * Email address of a Google My Business account or email address of a
+ * manager of the Google My Business account. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 2;
+ * @return string|null
+ */
+ public function getEmailAddressUnwrapped()
+ {
+ $wrapper = $this->getEmailAddress();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Email address of a Google My Business account or email address of a
+ * manager of the Google My Business account. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEmailAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->email_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Email address of a Google My Business account or email address of a
+ * manager of the Google My Business account. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEmailAddressUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEmailAddress($wrappedVar);
+ }
+
+ /**
+ * Plus page ID of the managed business whose locations should be used. If
+ * this field is not set, then all businesses accessible by the user
+ * (specified by email_address) are used.
+ * This field is mutate-only and is not selectable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_account_id = 10;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessAccountId()
+ {
+ return $this->business_account_id;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessAccountId()
+
+ * Plus page ID of the managed business whose locations should be used. If
+ * this field is not set, then all businesses accessible by the user
+ * (specified by email_address) are used.
+ * This field is mutate-only and is not selectable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_account_id = 10;
+ * @return string|null
+ */
+ public function getBusinessAccountIdUnwrapped()
+ {
+ $wrapper = $this->getBusinessAccountId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Plus page ID of the managed business whose locations should be used. If
+ * this field is not set, then all businesses accessible by the user
+ * (specified by email_address) are used.
+ * This field is mutate-only and is not selectable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_account_id = 10;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessAccountId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_account_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Plus page ID of the managed business whose locations should be used. If
+ * this field is not set, then all businesses accessible by the user
+ * (specified by email_address) are used.
+ * This field is mutate-only and is not selectable.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_account_id = 10;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessAccountIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessAccountId($wrappedVar);
+ }
+
+ /**
+ * Used to filter Google My Business listings by business name. If
+ * business_name_filter is set, only listings with a matching business name
+ * are candidates to be sync'd into FeedItems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name_filter = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getBusinessNameFilter()
+ {
+ return $this->business_name_filter;
+ }
+
+ /**
+ * Returns the unboxed value from getBusinessNameFilter()
+
+ * Used to filter Google My Business listings by business name. If
+ * business_name_filter is set, only listings with a matching business name
+ * are candidates to be sync'd into FeedItems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name_filter = 4;
+ * @return string|null
+ */
+ public function getBusinessNameFilterUnwrapped()
+ {
+ $wrapper = $this->getBusinessNameFilter();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Used to filter Google My Business listings by business name. If
+ * business_name_filter is set, only listings with a matching business name
+ * are candidates to be sync'd into FeedItems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name_filter = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setBusinessNameFilter($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->business_name_filter = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Used to filter Google My Business listings by business name. If
+ * business_name_filter is set, only listings with a matching business name
+ * are candidates to be sync'd into FeedItems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue business_name_filter = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setBusinessNameFilterUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setBusinessNameFilter($wrappedVar);
+ }
+
+ /**
+ * Used to filter Google My Business listings by categories. If entries
+ * exist in category_filters, only listings that belong to any of the
+ * categories are candidates to be sync'd into FeedItems. If no entries
+ * exist in category_filters, then all listings are candidates for syncing.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue category_filters = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCategoryFilters()
+ {
+ return $this->category_filters;
+ }
+
+ /**
+ * Used to filter Google My Business listings by categories. If entries
+ * exist in category_filters, only listings that belong to any of the
+ * categories are candidates to be sync'd into FeedItems. If no entries
+ * exist in category_filters, then all listings are candidates for syncing.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue category_filters = 5;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCategoryFilters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->category_filters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Used to filter Google My Business listings by labels. If entries exist in
+ * label_filters, only listings that has any of the labels set are
+ * candidates to be synchronized into FeedItems. If no entries exist in
+ * label_filters, then all listings are candidates for syncing.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue label_filters = 6;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLabelFilters()
+ {
+ return $this->label_filters;
+ }
+
+ /**
+ * Used to filter Google My Business listings by labels. If entries exist in
+ * label_filters, only listings that has any of the labels set are
+ * candidates to be synchronized into FeedItems. If no entries exist in
+ * label_filters, then all listings are candidates for syncing.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue label_filters = 6;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLabelFilters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->label_filters = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PlacesLocationFeedData::class, \Google\Ads\GoogleAds\V2\Resources\Feed_PlacesLocationFeedData::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData/OAuthInfo.php b/src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData/OAuthInfo.php
new file mode 100644
index 000000000..0258e9b96
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Feed/PlacesLocationFeedData/OAuthInfo.php
@@ -0,0 +1,225 @@
+google.ads.googleads.v2.resources.Feed.PlacesLocationFeedData.OAuthInfo
+ */
+final class OAuthInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The HTTP method used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_method = 1;
+ */
+ private $http_method = null;
+ /**
+ * The HTTP request URL used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_request_url = 2;
+ */
+ private $http_request_url = null;
+ /**
+ * The HTTP authorization header used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_authorization_header = 3;
+ */
+ private $http_authorization_header = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $http_method
+ * The HTTP method used to obtain authorization.
+ * @type \Google\Protobuf\StringValue $http_request_url
+ * The HTTP request URL used to obtain authorization.
+ * @type \Google\Protobuf\StringValue $http_authorization_header
+ * The HTTP authorization header used to obtain authorization.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Feed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The HTTP method used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_method = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHttpMethod()
+ {
+ return $this->http_method;
+ }
+
+ /**
+ * Returns the unboxed value from getHttpMethod()
+
+ * The HTTP method used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_method = 1;
+ * @return string|null
+ */
+ public function getHttpMethodUnwrapped()
+ {
+ $wrapper = $this->getHttpMethod();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The HTTP method used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_method = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHttpMethod($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->http_method = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The HTTP method used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_method = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHttpMethodUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHttpMethod($wrappedVar);
+ }
+
+ /**
+ * The HTTP request URL used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_request_url = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHttpRequestUrl()
+ {
+ return $this->http_request_url;
+ }
+
+ /**
+ * Returns the unboxed value from getHttpRequestUrl()
+
+ * The HTTP request URL used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_request_url = 2;
+ * @return string|null
+ */
+ public function getHttpRequestUrlUnwrapped()
+ {
+ $wrapper = $this->getHttpRequestUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The HTTP request URL used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_request_url = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHttpRequestUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->http_request_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The HTTP request URL used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_request_url = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHttpRequestUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHttpRequestUrl($wrappedVar);
+ }
+
+ /**
+ * The HTTP authorization header used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_authorization_header = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getHttpAuthorizationHeader()
+ {
+ return $this->http_authorization_header;
+ }
+
+ /**
+ * Returns the unboxed value from getHttpAuthorizationHeader()
+
+ * The HTTP authorization header used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_authorization_header = 3;
+ * @return string|null
+ */
+ public function getHttpAuthorizationHeaderUnwrapped()
+ {
+ $wrapper = $this->getHttpAuthorizationHeader();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The HTTP authorization header used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_authorization_header = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setHttpAuthorizationHeader($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->http_authorization_header = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The HTTP authorization header used to obtain authorization.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue http_authorization_header = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setHttpAuthorizationHeaderUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setHttpAuthorizationHeader($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(OAuthInfo::class, \Google\Ads\GoogleAds\V2\Resources\Feed_PlacesLocationFeedData_OAuthInfo::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedAttribute.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttribute.php
new file mode 100644
index 000000000..2e0f7c4a5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttribute.php
@@ -0,0 +1,277 @@
+google.ads.googleads.v2.resources.FeedAttribute
+ */
+final class FeedAttribute extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the attribute.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ */
+ private $id = null;
+ /**
+ * The name of the attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ */
+ private $name = null;
+ /**
+ * Data type for feed attribute. Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3;
+ */
+ private $type = 0;
+ /**
+ * Indicates that data corresponding to this attribute is part of a
+ * FeedItem's unique key. It defaults to false if it is unspecified. Note
+ * that a unique key is not required in a Feed's schema, in which case the
+ * FeedItems must be referenced by their feed_item_id.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_part_of_key = 4;
+ */
+ private $is_part_of_key = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $id
+ * ID of the attribute.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the attribute. Required.
+ * @type int $type
+ * Data type for feed attribute. Required.
+ * @type \Google\Protobuf\BoolValue $is_part_of_key
+ * Indicates that data corresponding to this attribute is part of a
+ * FeedItem's unique key. It defaults to false if it is unspecified. Note
+ * that a unique key is not required in a Feed's schema, in which case the
+ * FeedItems must be referenced by their feed_item_id.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Feed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the attribute.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * ID of the attribute.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * ID of the attribute.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * ID of the attribute.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the attribute. Required.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Data type for feed attribute. Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Data type for feed attribute. Required.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedAttributeTypeEnum_FeedAttributeType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicates that data corresponding to this attribute is part of a
+ * FeedItem's unique key. It defaults to false if it is unspecified. Note
+ * that a unique key is not required in a Feed's schema, in which case the
+ * FeedItems must be referenced by their feed_item_id.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_part_of_key = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getIsPartOfKey()
+ {
+ return $this->is_part_of_key;
+ }
+
+ /**
+ * Returns the unboxed value from getIsPartOfKey()
+
+ * Indicates that data corresponding to this attribute is part of a
+ * FeedItem's unique key. It defaults to false if it is unspecified. Note
+ * that a unique key is not required in a Feed's schema, in which case the
+ * FeedItems must be referenced by their feed_item_id.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_part_of_key = 4;
+ * @return bool|null
+ */
+ public function getIsPartOfKeyUnwrapped()
+ {
+ $wrapper = $this->getIsPartOfKey();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates that data corresponding to this attribute is part of a
+ * FeedItem's unique key. It defaults to false if it is unspecified. Note
+ * that a unique key is not required in a Feed's schema, in which case the
+ * FeedItems must be referenced by their feed_item_id.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_part_of_key = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setIsPartOfKey($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->is_part_of_key = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates that data corresponding to this attribute is part of a
+ * FeedItem's unique key. It defaults to false if it is unspecified. Note
+ * that a unique key is not required in a Feed's schema, in which case the
+ * FeedItems must be referenced by their feed_item_id.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_part_of_key = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setIsPartOfKeyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setIsPartOfKey($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation.php
new file mode 100644
index 000000000..788c8f8ba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.resources.FeedAttributeOperation
+ */
+final class FeedAttributeOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of list operation to perform.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedAttributeOperation.Operator operator = 1;
+ */
+ private $operator = 0;
+ /**
+ * The feed attribute being added to the list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedAttribute value = 2;
+ */
+ private $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $operator
+ * Type of list operation to perform.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedAttribute $value
+ * The feed attribute being added to the list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Feed::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of list operation to perform.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedAttributeOperation.Operator operator = 1;
+ * @return int
+ */
+ public function getOperator()
+ {
+ return $this->operator;
+ }
+
+ /**
+ * Type of list operation to perform.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedAttributeOperation.Operator operator = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperator($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Resources\FeedAttributeOperation_Operator::class);
+ $this->operator = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed attribute being added to the list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedAttribute value = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedAttribute
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * The feed attribute being added to the list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedAttribute value = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedAttribute $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedAttribute::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation/Operator.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation/Operator.php
new file mode 100644
index 000000000..5d475bbc2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation/Operator.php
@@ -0,0 +1,64 @@
+google.ads.googleads.v2.resources.FeedAttributeOperation.Operator
+ */
+class Operator
+{
+ /**
+ * Unspecified.
+ *
+ * Generated from protobuf enum UNSPECIFIED = 0;
+ */
+ const UNSPECIFIED = 0;
+ /**
+ * Used for return value only. Represents value unknown in this version.
+ *
+ * Generated from protobuf enum UNKNOWN = 1;
+ */
+ const UNKNOWN = 1;
+ /**
+ * Add the attribute to the existing attributes.
+ *
+ * Generated from protobuf enum ADD = 2;
+ */
+ const ADD = 2;
+
+ private static $valueToName = [
+ self::UNSPECIFIED => 'UNSPECIFIED',
+ self::UNKNOWN => 'UNKNOWN',
+ self::ADD => 'ADD',
+ ];
+
+ 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(Operator::class, \Google\Ads\GoogleAds\V2\Resources\FeedAttributeOperation_Operator::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation_Operator.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation_Operator.php
new file mode 100644
index 000000000..6195b14d7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedAttributeOperation_Operator.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.FeedItem
+ */
+final class FeedItem extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed item.
+ * Feed item resource names have the form:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The feed to which this feed item belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ */
+ private $feed = null;
+ /**
+ * The ID of this feed item.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ */
+ private $start_date_time = null;
+ /**
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ */
+ private $end_date_time = null;
+ /**
+ * The feed item's attribute values.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemAttributeValue attribute_values = 6;
+ */
+ private $attribute_values;
+ /**
+ * Geo targeting restriction specifies the type of location that can be used
+ * for targeting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction geo_targeting_restriction = 7;
+ */
+ private $geo_targeting_restriction = 0;
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 8;
+ */
+ private $url_custom_parameters;
+ /**
+ * Status of the feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 9;
+ */
+ private $status = 0;
+ /**
+ * List of info about a feed item's validation and approval state for active
+ * feed mappings. There will be an entry in the list for each type of feed
+ * mapping associated with the feed, e.g. a feed with a sitelink and a call
+ * feed mapping would cause every feed item associated with that feed to have
+ * an entry in this list for both sitelink and call.
+ * This field is read-only.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo policy_infos = 10;
+ */
+ private $policy_infos;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed item.
+ * Feed item resource names have the form:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ * @type \Google\Protobuf\StringValue $feed
+ * The feed to which this feed item belongs.
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of this feed item.
+ * @type \Google\Protobuf\StringValue $start_date_time
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ * @type \Google\Protobuf\StringValue $end_date_time
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItemAttributeValue[]|\Google\Protobuf\Internal\RepeatedField $attribute_values
+ * The feed item's attribute values.
+ * @type int $geo_targeting_restriction
+ * Geo targeting restriction specifies the type of location that can be used
+ * for targeting.
+ * @type \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $url_custom_parameters
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ * @type int $status
+ * Status of the feed item.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItemPlaceholderPolicyInfo[]|\Google\Protobuf\Internal\RepeatedField $policy_infos
+ * List of info about a feed item's validation and approval state for active
+ * feed mappings. There will be an entry in the list for each type of feed
+ * mapping associated with the feed, e.g. a feed with a sitelink and a call
+ * feed mapping would cause every feed item associated with that feed to have
+ * an entry in this list for both sitelink and call.
+ * This field is read-only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedItem::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed item.
+ * Feed item resource names have the form:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed item.
+ * Feed item resource names have the form:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed to which this feed item belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * The feed to which this feed item belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The feed to which this feed item belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The feed to which this feed item belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * The ID of this feed item.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of this feed item.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of this feed item.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of this feed item.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStartDateTime()
+ {
+ return $this->start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getStartDateTime()
+
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @return string|null
+ */
+ public function getStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Start time in which this feed item is effective and can begin serving. The
+ * time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue start_date_time = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStartDateTime($wrappedVar);
+ }
+
+ /**
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEndDateTime()
+ {
+ return $this->end_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getEndDateTime()
+
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @return string|null
+ */
+ public function getEndDateTimeUnwrapped()
+ {
+ $wrapper = $this->getEndDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEndDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->end_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * End time in which this feed item is no longer effective and will stop
+ * serving. The time is in the customer's time zone.
+ * The format is "YYYY-MM-DD HH:MM:SS".
+ * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue end_date_time = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEndDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEndDateTime($wrappedVar);
+ }
+
+ /**
+ * The feed item's attribute values.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemAttributeValue attribute_values = 6;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAttributeValues()
+ {
+ return $this->attribute_values;
+ }
+
+ /**
+ * The feed item's attribute values.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemAttributeValue attribute_values = 6;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItemAttributeValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAttributeValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\FeedItemAttributeValue::class);
+ $this->attribute_values = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Geo targeting restriction specifies the type of location that can be used
+ * for targeting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction geo_targeting_restriction = 7;
+ * @return int
+ */
+ public function getGeoTargetingRestriction()
+ {
+ return $this->geo_targeting_restriction;
+ }
+
+ /**
+ * Geo targeting restriction specifies the type of location that can be used
+ * for targeting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction geo_targeting_restriction = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setGeoTargetingRestriction($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\GeoTargetingRestrictionEnum_GeoTargetingRestriction::class);
+ $this->geo_targeting_restriction = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUrlCustomParameters()
+ {
+ return $this->url_custom_parameters;
+ }
+
+ /**
+ * The list of mappings used to substitute custom parameter tags in a
+ * `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\CustomParameter[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUrlCustomParameters($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CustomParameter::class);
+ $this->url_custom_parameters = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Status of the feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 9;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the feed item.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemStatusEnum_FeedItemStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * List of info about a feed item's validation and approval state for active
+ * feed mappings. There will be an entry in the list for each type of feed
+ * mapping associated with the feed, e.g. a feed with a sitelink and a call
+ * feed mapping would cause every feed item associated with that feed to have
+ * an entry in this list for both sitelink and call.
+ * This field is read-only.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo policy_infos = 10;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPolicyInfos()
+ {
+ return $this->policy_infos;
+ }
+
+ /**
+ * List of info about a feed item's validation and approval state for active
+ * feed mappings. There will be an entry in the list for each type of feed
+ * mapping associated with the feed, e.g. a feed with a sitelink and a call
+ * feed mapping would cause every feed item associated with that feed to have
+ * an entry in this list for both sitelink and call.
+ * This field is read-only.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo policy_infos = 10;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItemPlaceholderPolicyInfo[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPolicyInfos($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\FeedItemPlaceholderPolicyInfo::class);
+ $this->policy_infos = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedItemAttributeValue.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemAttributeValue.php
new file mode 100644
index 000000000..69829523a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemAttributeValue.php
@@ -0,0 +1,604 @@
+google.ads.googleads.v2.resources.FeedItemAttributeValue
+ */
+final class FeedItemAttributeValue extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Id of the feed attribute for which the value is associated with.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ */
+ private $feed_attribute_id = null;
+ /**
+ * Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type INT64.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value integer_value = 2;
+ */
+ private $integer_value = null;
+ /**
+ * Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type BOOLEAN.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ */
+ private $boolean_value = null;
+ /**
+ * String value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type STRING, URL or DATE_TIME.
+ * For STRING the maximum length is 1500 characters. For URL the maximum
+ * length is 2076 characters. For DATE_TIME the format of the string must
+ * be the same as start and end time for the feed item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 4;
+ */
+ private $string_value = null;
+ /**
+ * Double value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type DOUBLE.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 5;
+ */
+ private $double_value = null;
+ /**
+ * Price value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type PRICE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money price_value = 6;
+ */
+ private $price_value = null;
+ /**
+ * Repeated int64 value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type INT64_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value integer_values = 7;
+ */
+ private $integer_values;
+ /**
+ * Repeated bool value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type BOOLEAN_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.BoolValue boolean_values = 8;
+ */
+ private $boolean_values;
+ /**
+ * Repeated string value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
+ * For STRING_LIST and URL_LIST the total size of the list in bytes may not
+ * exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
+ * For STRING_LIST the maximum length of each string element is 1500
+ * characters. For URL_LIST the maximum length is 2076 characters. For
+ * DATE_TIME the format of the string must be the same as start and end time
+ * for the feed item.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue string_values = 9;
+ */
+ private $string_values;
+ /**
+ * Repeated double value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type DOUBLE_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.DoubleValue double_values = 10;
+ */
+ private $double_values;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $feed_attribute_id
+ * Id of the feed attribute for which the value is associated with.
+ * @type \Google\Protobuf\Int64Value $integer_value
+ * Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type INT64.
+ * @type \Google\Protobuf\BoolValue $boolean_value
+ * Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type BOOLEAN.
+ * @type \Google\Protobuf\StringValue $string_value
+ * String value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type STRING, URL or DATE_TIME.
+ * For STRING the maximum length is 1500 characters. For URL the maximum
+ * length is 2076 characters. For DATE_TIME the format of the string must
+ * be the same as start and end time for the feed item.
+ * @type \Google\Protobuf\DoubleValue $double_value
+ * Double value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type DOUBLE.
+ * @type \Google\Ads\GoogleAds\V2\Common\Money $price_value
+ * Price value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type PRICE.
+ * @type \Google\Protobuf\Int64Value[]|\Google\Protobuf\Internal\RepeatedField $integer_values
+ * Repeated int64 value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type INT64_LIST.
+ * @type \Google\Protobuf\BoolValue[]|\Google\Protobuf\Internal\RepeatedField $boolean_values
+ * Repeated bool value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type BOOLEAN_LIST.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $string_values
+ * Repeated string value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
+ * For STRING_LIST and URL_LIST the total size of the list in bytes may not
+ * exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
+ * For STRING_LIST the maximum length of each string element is 1500
+ * characters. For URL_LIST the maximum length is 2076 characters. For
+ * DATE_TIME the format of the string must be the same as start and end time
+ * for the feed item.
+ * @type \Google\Protobuf\DoubleValue[]|\Google\Protobuf\Internal\RepeatedField $double_values
+ * Repeated double value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type DOUBLE_LIST.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedItem::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Id of the feed attribute for which the value is associated with.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFeedAttributeId()
+ {
+ return $this->feed_attribute_id;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedAttributeId()
+
+ * Id of the feed attribute for which the value is associated with.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @return int|string|null
+ */
+ public function getFeedAttributeIdUnwrapped()
+ {
+ $wrapper = $this->getFeedAttributeId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the feed attribute for which the value is associated with.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFeedAttributeId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->feed_attribute_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the feed attribute for which the value is associated with.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_attribute_id = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFeedAttributeIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFeedAttributeId($wrappedVar);
+ }
+
+ /**
+ * Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type INT64.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value integer_value = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getIntegerValue()
+ {
+ return $this->integer_value;
+ }
+
+ /**
+ * Returns the unboxed value from getIntegerValue()
+
+ * Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type INT64.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value integer_value = 2;
+ * @return int|string|null
+ */
+ public function getIntegerValueUnwrapped()
+ {
+ $wrapper = $this->getIntegerValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type INT64.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value integer_value = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setIntegerValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->integer_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type INT64.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value integer_value = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIntegerValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setIntegerValue($wrappedVar);
+ }
+
+ /**
+ * Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type BOOLEAN.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getBooleanValue()
+ {
+ return $this->boolean_value;
+ }
+
+ /**
+ * Returns the unboxed value from getBooleanValue()
+
+ * Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type BOOLEAN.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @return bool|null
+ */
+ public function getBooleanValueUnwrapped()
+ {
+ $wrapper = $this->getBooleanValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type BOOLEAN.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setBooleanValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->boolean_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type BOOLEAN.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue boolean_value = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setBooleanValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setBooleanValue($wrappedVar);
+ }
+
+ /**
+ * String value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type STRING, URL or DATE_TIME.
+ * For STRING the maximum length is 1500 characters. For URL the maximum
+ * length is 2076 characters. For DATE_TIME the format of the string must
+ * be the same as start and end time for the feed item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getStringValue()
+ {
+ return $this->string_value;
+ }
+
+ /**
+ * Returns the unboxed value from getStringValue()
+
+ * String value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type STRING, URL or DATE_TIME.
+ * For STRING the maximum length is 1500 characters. For URL the maximum
+ * length is 2076 characters. For DATE_TIME the format of the string must
+ * be the same as start and end time for the feed item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 4;
+ * @return string|null
+ */
+ public function getStringValueUnwrapped()
+ {
+ $wrapper = $this->getStringValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * String value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type STRING, URL or DATE_TIME.
+ * For STRING the maximum length is 1500 characters. For URL the maximum
+ * length is 2076 characters. For DATE_TIME the format of the string must
+ * be the same as start and end time for the feed item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setStringValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->string_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * String value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type STRING, URL or DATE_TIME.
+ * For STRING the maximum length is 1500 characters. For URL the maximum
+ * length is 2076 characters. For DATE_TIME the format of the string must
+ * be the same as start and end time for the feed item.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue string_value = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setStringValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setStringValue($wrappedVar);
+ }
+
+ /**
+ * Double value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type DOUBLE.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 5;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getDoubleValue()
+ {
+ return $this->double_value;
+ }
+
+ /**
+ * Returns the unboxed value from getDoubleValue()
+
+ * Double value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type DOUBLE.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 5;
+ * @return float|null
+ */
+ public function getDoubleValueUnwrapped()
+ {
+ $wrapper = $this->getDoubleValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Double value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type DOUBLE.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 5;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setDoubleValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->double_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Double value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type DOUBLE.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue double_value = 5;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setDoubleValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setDoubleValue($wrappedVar);
+ }
+
+ /**
+ * Price value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type PRICE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money price_value = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\Money
+ */
+ public function getPriceValue()
+ {
+ return $this->price_value;
+ }
+
+ /**
+ * Price value. Should be set if feed_attribute_id refers to a feed attribute
+ * of type PRICE.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Money price_value = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\Money $var
+ * @return $this
+ */
+ public function setPriceValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Money::class);
+ $this->price_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Repeated int64 value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type INT64_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value integer_values = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getIntegerValues()
+ {
+ return $this->integer_values;
+ }
+
+ /**
+ * Repeated int64 value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type INT64_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value integer_values = 7;
+ * @param \Google\Protobuf\Int64Value[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setIntegerValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Int64Value::class);
+ $this->integer_values = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Repeated bool value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type BOOLEAN_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.BoolValue boolean_values = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getBooleanValues()
+ {
+ return $this->boolean_values;
+ }
+
+ /**
+ * Repeated bool value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type BOOLEAN_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.BoolValue boolean_values = 8;
+ * @param \Google\Protobuf\BoolValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setBooleanValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\BoolValue::class);
+ $this->boolean_values = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Repeated string value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
+ * For STRING_LIST and URL_LIST the total size of the list in bytes may not
+ * exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
+ * For STRING_LIST the maximum length of each string element is 1500
+ * characters. For URL_LIST the maximum length is 2076 characters. For
+ * DATE_TIME the format of the string must be the same as start and end time
+ * for the feed item.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue string_values = 9;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getStringValues()
+ {
+ return $this->string_values;
+ }
+
+ /**
+ * Repeated string value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
+ * For STRING_LIST and URL_LIST the total size of the list in bytes may not
+ * exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
+ * For STRING_LIST the maximum length of each string element is 1500
+ * characters. For URL_LIST the maximum length is 2076 characters. For
+ * DATE_TIME the format of the string must be the same as start and end time
+ * for the feed item.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue string_values = 9;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setStringValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->string_values = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Repeated double value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type DOUBLE_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.DoubleValue double_values = 10;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDoubleValues()
+ {
+ return $this->double_values;
+ }
+
+ /**
+ * Repeated double value. Should be set if feed_attribute_id refers to a feed
+ * attribute of type DOUBLE_LIST.
+ *
+ * Generated from protobuf field repeated .google.protobuf.DoubleValue double_values = 10;
+ * @param \Google\Protobuf\DoubleValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDoubleValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\DoubleValue::class);
+ $this->double_values = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedItemPlaceholderPolicyInfo.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemPlaceholderPolicyInfo.php
new file mode 100644
index 000000000..a01c7d137
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemPlaceholderPolicyInfo.php
@@ -0,0 +1,373 @@
+google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo
+ */
+final class FeedItemPlaceholderPolicyInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The placeholder type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10;
+ */
+ private $placeholder_type_enum = 0;
+ /**
+ * The FeedMapping that contains the placeholder type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_mapping_resource_name = 2;
+ */
+ private $feed_mapping_resource_name = null;
+ /**
+ * Where the placeholder type is in the review process.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3;
+ */
+ private $review_status = 0;
+ /**
+ * The overall approval status of the placeholder type, calculated based on
+ * the status of its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4;
+ */
+ private $approval_status = 0;
+ /**
+ * The list of policy findings for the placeholder type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 5;
+ */
+ private $policy_topic_entries;
+ /**
+ * The validation status of the palceholder type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6;
+ */
+ private $validation_status = 0;
+ /**
+ * List of placeholder type validation errors.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemValidationError validation_errors = 7;
+ */
+ private $validation_errors;
+ /**
+ * Placeholder type quality evaluation approval status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8;
+ */
+ private $quality_approval_status = 0;
+ /**
+ * List of placeholder type quality evaluation disapproval reasons.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9;
+ */
+ private $quality_disapproval_reasons;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $placeholder_type_enum
+ * The placeholder type.
+ * @type \Google\Protobuf\StringValue $feed_mapping_resource_name
+ * The FeedMapping that contains the placeholder type.
+ * @type int $review_status
+ * Where the placeholder type is in the review process.
+ * @type int $approval_status
+ * The overall approval status of the placeholder type, calculated based on
+ * the status of its individual policy topic entries.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $policy_topic_entries
+ * The list of policy findings for the placeholder type.
+ * @type int $validation_status
+ * The validation status of the palceholder type.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItemValidationError[]|\Google\Protobuf\Internal\RepeatedField $validation_errors
+ * List of placeholder type validation errors.
+ * @type int $quality_approval_status
+ * Placeholder type quality evaluation approval status.
+ * @type int[]|\Google\Protobuf\Internal\RepeatedField $quality_disapproval_reasons
+ * List of placeholder type quality evaluation disapproval reasons.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedItem::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The placeholder type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10;
+ * @return int
+ */
+ public function getPlaceholderTypeEnum()
+ {
+ return $this->placeholder_type_enum;
+ }
+
+ /**
+ * The placeholder type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setPlaceholderTypeEnum($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum_PlaceholderType::class);
+ $this->placeholder_type_enum = $var;
+
+ return $this;
+ }
+
+ /**
+ * The FeedMapping that contains the placeholder type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_mapping_resource_name = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeedMappingResourceName()
+ {
+ return $this->feed_mapping_resource_name;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedMappingResourceName()
+
+ * The FeedMapping that contains the placeholder type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_mapping_resource_name = 2;
+ * @return string|null
+ */
+ public function getFeedMappingResourceNameUnwrapped()
+ {
+ $wrapper = $this->getFeedMappingResourceName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The FeedMapping that contains the placeholder type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_mapping_resource_name = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeedMappingResourceName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed_mapping_resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The FeedMapping that contains the placeholder type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_mapping_resource_name = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedMappingResourceNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeedMappingResourceName($wrappedVar);
+ }
+
+ /**
+ * Where the placeholder type is in the review process.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3;
+ * @return int
+ */
+ public function getReviewStatus()
+ {
+ return $this->review_status;
+ }
+
+ /**
+ * Where the placeholder type is in the review process.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setReviewStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyReviewStatusEnum_PolicyReviewStatus::class);
+ $this->review_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The overall approval status of the placeholder type, calculated based on
+ * the status of its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4;
+ * @return int
+ */
+ public function getApprovalStatus()
+ {
+ return $this->approval_status;
+ }
+
+ /**
+ * The overall approval status of the placeholder type, calculated based on
+ * the status of its individual policy topic entries.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setApprovalStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PolicyApprovalStatusEnum_PolicyApprovalStatus::class);
+ $this->approval_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of policy findings for the placeholder type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPolicyTopicEntries()
+ {
+ return $this->policy_topic_entries;
+ }
+
+ /**
+ * The list of policy findings for the placeholder type.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPolicyTopicEntries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyTopicEntry::class);
+ $this->policy_topic_entries = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The validation status of the palceholder type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6;
+ * @return int
+ */
+ public function getValidationStatus()
+ {
+ return $this->validation_status;
+ }
+
+ /**
+ * The validation status of the palceholder type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setValidationStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemValidationStatusEnum_FeedItemValidationStatus::class);
+ $this->validation_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * List of placeholder type validation errors.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemValidationError validation_errors = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getValidationErrors()
+ {
+ return $this->validation_errors;
+ }
+
+ /**
+ * List of placeholder type validation errors.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.FeedItemValidationError validation_errors = 7;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItemValidationError[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setValidationErrors($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\FeedItemValidationError::class);
+ $this->validation_errors = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Placeholder type quality evaluation approval status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8;
+ * @return int
+ */
+ public function getQualityApprovalStatus()
+ {
+ return $this->quality_approval_status;
+ }
+
+ /**
+ * Placeholder type quality evaluation approval status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8;
+ * @param int $var
+ * @return $this
+ */
+ public function setQualityApprovalStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus::class);
+ $this->quality_approval_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * List of placeholder type quality evaluation disapproval reasons.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getQualityDisapprovalReasons()
+ {
+ return $this->quality_disapproval_reasons;
+ }
+
+ /**
+ * List of placeholder type quality evaluation disapproval reasons.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9;
+ * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setQualityDisapprovalReasons($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V2\Enums\FeedItemQualityDisapprovalReasonEnum\FeedItemQualityDisapprovalReason::class);
+ $this->quality_disapproval_reasons = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php
new file mode 100644
index 000000000..ec68954eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemTarget.php
@@ -0,0 +1,499 @@
+google.ads.googleads.v2.resources.FeedItemTarget
+ */
+final class FeedItemTarget extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed item target.
+ * Feed item target resource names have the form:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The feed item to which this feed item target belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 2;
+ */
+ private $feed_item = null;
+ /**
+ * The target type of this feed item target. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3;
+ */
+ private $feed_item_target_type = 0;
+ /**
+ * The ID of the targeted resource. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_item_target_id = 6;
+ */
+ private $feed_item_target_id = null;
+ protected $target;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed item target.
+ * Feed item target resource names have the form:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ * @type \Google\Protobuf\StringValue $feed_item
+ * The feed item to which this feed item target belongs.
+ * @type int $feed_item_target_type
+ * The target type of this feed item target. This field is read-only.
+ * @type \Google\Protobuf\Int64Value $feed_item_target_id
+ * The ID of the targeted resource. This field is read-only.
+ * @type \Google\Protobuf\StringValue $campaign
+ * The targeted campaign.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The targeted ad group.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $keyword
+ * The targeted keyword.
+ * @type \Google\Protobuf\StringValue $geo_target_constant
+ * The targeted geo target constant resource name.
+ * @type int $device
+ * The targeted device.
+ * @type \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo $ad_schedule
+ * The targeted schedule.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedItemTarget::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed item target.
+ * Feed item target resource names have the form:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed item target.
+ * Feed item target resource names have the form:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed item to which this feed item target belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeedItem()
+ {
+ return $this->feed_item;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedItem()
+
+ * The feed item to which this feed item target belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 2;
+ * @return string|null
+ */
+ public function getFeedItemUnwrapped()
+ {
+ $wrapper = $this->getFeedItem();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The feed item to which this feed item target belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed_item = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The feed item to which this feed item target belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed_item = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedItemUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeedItem($wrappedVar);
+ }
+
+ /**
+ * The target type of this feed item target. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3;
+ * @return int
+ */
+ public function getFeedItemTargetType()
+ {
+ return $this->feed_item_target_type;
+ }
+
+ /**
+ * The target type of this feed item target. This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setFeedItemTargetType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemTargetTypeEnum_FeedItemTargetType::class);
+ $this->feed_item_target_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the targeted resource. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_item_target_id = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFeedItemTargetId()
+ {
+ return $this->feed_item_target_id;
+ }
+
+ /**
+ * Returns the unboxed value from getFeedItemTargetId()
+
+ * The ID of the targeted resource. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_item_target_id = 6;
+ * @return int|string|null
+ */
+ public function getFeedItemTargetIdUnwrapped()
+ {
+ $wrapper = $this->getFeedItemTargetId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the targeted resource. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_item_target_id = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFeedItemTargetId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->feed_item_target_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the targeted resource. This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value feed_item_target_id = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFeedItemTargetIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFeedItemTargetId($wrappedVar);
+ }
+
+ /**
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The targeted campaign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The targeted ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The targeted keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getKeyword()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * The targeted keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * The targeted geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetConstant()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetConstant()
+
+ * The targeted geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 8;
+ * @return string|null
+ */
+ public function getGeoTargetConstantUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The targeted geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The targeted geo target constant resource name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetConstant($wrappedVar);
+ }
+
+ /**
+ * The targeted device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9;
+ * @return int
+ */
+ public function getDevice()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * The targeted device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setDevice($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedItemTargetDeviceEnum_FeedItemTargetDevice::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * The targeted schedule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdScheduleInfo ad_schedule = 10;
+ * @return \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo
+ */
+ public function getAdSchedule()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * The targeted schedule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.AdScheduleInfo ad_schedule = 10;
+ * @param \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo $var
+ * @return $this
+ */
+ public function setAdSchedule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\AdScheduleInfo::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getTarget()
+ {
+ return $this->whichOneof("target");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedItemValidationError.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemValidationError.php
new file mode 100644
index 000000000..d9da3e3a8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedItemValidationError.php
@@ -0,0 +1,252 @@
+google.ads.googleads.v2.resources.FeedItemValidationError
+ */
+final class FeedItemValidationError extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Error code indicating what validation error was triggered. The description
+ * of the error can be found in the 'description' field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1;
+ */
+ private $validation_error = 0;
+ /**
+ * The description of the validation error.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ */
+ private $description = null;
+ /**
+ * Set of feed attributes in the feed item flagged during validation. If
+ * empty, no specific feed attributes can be associated with the error
+ * (e.g. error across the entire feed item).
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value feed_attribute_ids = 3;
+ */
+ private $feed_attribute_ids;
+ /**
+ * Any extra information related to this error which is not captured by
+ * validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ * feed_attribute_id is not mapped). Note that extra_info is not localized.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extra_info = 5;
+ */
+ private $extra_info = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $validation_error
+ * Error code indicating what validation error was triggered. The description
+ * of the error can be found in the 'description' field.
+ * @type \Google\Protobuf\StringValue $description
+ * The description of the validation error.
+ * @type \Google\Protobuf\Int64Value[]|\Google\Protobuf\Internal\RepeatedField $feed_attribute_ids
+ * Set of feed attributes in the feed item flagged during validation. If
+ * empty, no specific feed attributes can be associated with the error
+ * (e.g. error across the entire feed item).
+ * @type \Google\Protobuf\StringValue $extra_info
+ * Any extra information related to this error which is not captured by
+ * validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ * feed_attribute_id is not mapped). Note that extra_info is not localized.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedItem::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Error code indicating what validation error was triggered. The description
+ * of the error can be found in the 'description' field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1;
+ * @return int
+ */
+ public function getValidationError()
+ {
+ return $this->validation_error;
+ }
+
+ /**
+ * Error code indicating what validation error was triggered. The description
+ * of the error can be found in the 'description' field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setValidationError($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Errors\FeedItemValidationErrorEnum_FeedItemValidationError::class);
+ $this->validation_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * The description of the validation error.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * The description of the validation error.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The description of the validation error.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The description of the validation error.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * Set of feed attributes in the feed item flagged during validation. If
+ * empty, no specific feed attributes can be associated with the error
+ * (e.g. error across the entire feed item).
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value feed_attribute_ids = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getFeedAttributeIds()
+ {
+ return $this->feed_attribute_ids;
+ }
+
+ /**
+ * Set of feed attributes in the feed item flagged during validation. If
+ * empty, no specific feed attributes can be associated with the error
+ * (e.g. error across the entire feed item).
+ *
+ * Generated from protobuf field repeated .google.protobuf.Int64Value feed_attribute_ids = 3;
+ * @param \Google\Protobuf\Int64Value[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setFeedAttributeIds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Int64Value::class);
+ $this->feed_attribute_ids = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Any extra information related to this error which is not captured by
+ * validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ * feed_attribute_id is not mapped). Note that extra_info is not localized.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extra_info = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExtraInfo()
+ {
+ return $this->extra_info;
+ }
+
+ /**
+ * Returns the unboxed value from getExtraInfo()
+
+ * Any extra information related to this error which is not captured by
+ * validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ * feed_attribute_id is not mapped). Note that extra_info is not localized.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extra_info = 5;
+ * @return string|null
+ */
+ public function getExtraInfoUnwrapped()
+ {
+ $wrapper = $this->getExtraInfo();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Any extra information related to this error which is not captured by
+ * validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ * feed_attribute_id is not mapped). Note that extra_info is not localized.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extra_info = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExtraInfo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->extra_info = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Any extra information related to this error which is not captured by
+ * validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ * feed_attribute_id is not mapped). Note that extra_info is not localized.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue extra_info = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExtraInfoUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExtraInfo($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php
new file mode 100644
index 000000000..fba7b60e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedMapping.php
@@ -0,0 +1,297 @@
+google.ads.googleads.v2.resources.FeedMapping
+ */
+final class FeedMapping extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed mapping.
+ * Feed mapping resource names have the form:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The feed of this feed mapping.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ */
+ private $feed = null;
+ /**
+ * Feed attributes to field mappings. These mappings are a one-to-many
+ * relationship meaning that 1 feed attribute can be used to populate
+ * multiple placeholder fields, but 1 placeholder field can only draw
+ * data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder
+ * field can be mapped to multiple feed attributes. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.AttributeFieldMapping attribute_field_mappings = 5;
+ */
+ private $attribute_field_mappings;
+ /**
+ * Status of the feed mapping.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6;
+ */
+ private $status = 0;
+ protected $target;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed mapping.
+ * Feed mapping resource names have the form:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ * @type \Google\Protobuf\StringValue $feed
+ * The feed of this feed mapping.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AttributeFieldMapping[]|\Google\Protobuf\Internal\RepeatedField $attribute_field_mappings
+ * Feed attributes to field mappings. These mappings are a one-to-many
+ * relationship meaning that 1 feed attribute can be used to populate
+ * multiple placeholder fields, but 1 placeholder field can only draw
+ * data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder
+ * field can be mapped to multiple feed attributes. Required.
+ * @type int $status
+ * Status of the feed mapping.
+ * This field is read-only.
+ * @type int $placeholder_type
+ * The placeholder type of this mapping (i.e., if the mapping maps feed
+ * attributes to placeholder fields).
+ * @type int $criterion_type
+ * The criterion type of this mapping (i.e., if the mapping maps feed
+ * attributes to criterion fields).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedMapping::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed mapping.
+ * Feed mapping resource names have the form:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed mapping.
+ * Feed mapping resource names have the form:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed of this feed mapping.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * Returns the unboxed value from getFeed()
+
+ * The feed of this feed mapping.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @return string|null
+ */
+ public function getFeedUnwrapped()
+ {
+ $wrapper = $this->getFeed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The feed of this feed mapping.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The feed of this feed mapping.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue feed = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setFeedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setFeed($wrappedVar);
+ }
+
+ /**
+ * Feed attributes to field mappings. These mappings are a one-to-many
+ * relationship meaning that 1 feed attribute can be used to populate
+ * multiple placeholder fields, but 1 placeholder field can only draw
+ * data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder
+ * field can be mapped to multiple feed attributes. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.AttributeFieldMapping attribute_field_mappings = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAttributeFieldMappings()
+ {
+ return $this->attribute_field_mappings;
+ }
+
+ /**
+ * Feed attributes to field mappings. These mappings are a one-to-many
+ * relationship meaning that 1 feed attribute can be used to populate
+ * multiple placeholder fields, but 1 placeholder field can only draw
+ * data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder
+ * field can be mapped to multiple feed attributes. Required.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.AttributeFieldMapping attribute_field_mappings = 5;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AttributeFieldMapping[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAttributeFieldMappings($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\AttributeFieldMapping::class);
+ $this->attribute_field_mappings = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Status of the feed mapping.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the feed mapping.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedMappingStatusEnum_FeedMappingStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The placeholder type of this mapping (i.e., if the mapping maps feed
+ * attributes to placeholder fields).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3;
+ * @return int
+ */
+ public function getPlaceholderType()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * The placeholder type of this mapping (i.e., if the mapping maps feed
+ * attributes to placeholder fields).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setPlaceholderType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum_PlaceholderType::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * The criterion type of this mapping (i.e., if the mapping maps feed
+ * attributes to criterion fields).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType criterion_type = 4;
+ * @return int
+ */
+ public function getCriterionType()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * The criterion type of this mapping (i.e., if the mapping maps feed
+ * attributes to criterion fields).
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType criterion_type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setCriterionType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\FeedMappingCriterionTypeEnum_FeedMappingCriterionType::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getTarget()
+ {
+ return $this->whichOneof("target");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php b/src/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php
new file mode 100644
index 000000000..9c0e51ca6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/FeedPlaceholderView.php
@@ -0,0 +1,109 @@
+google.ads.googleads.v2.resources.FeedPlaceholderView
+ */
+final class FeedPlaceholderView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed placeholder view.
+ * Feed placeholder view resource names have the form:
+ * `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The placeholder type of the feed placeholder view.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2;
+ */
+ private $placeholder_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed placeholder view.
+ * Feed placeholder view resource names have the form:
+ * `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}`
+ * @type int $placeholder_type
+ * The placeholder type of the feed placeholder view.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\FeedPlaceholderView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed placeholder view.
+ * Feed placeholder view resource names have the form:
+ * `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed placeholder view.
+ * Feed placeholder view resource names have the form:
+ * `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The placeholder type of the feed placeholder view.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2;
+ * @return int
+ */
+ public function getPlaceholderType()
+ {
+ return $this->placeholder_type;
+ }
+
+ /**
+ * The placeholder type of the feed placeholder view.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPlaceholderType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PlaceholderTypeEnum_PlaceholderType::class);
+ $this->placeholder_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Feed_AffiliateLocationFeedData.php b/src/Google/Ads/GoogleAds/V2/Resources/Feed_AffiliateLocationFeedData.php
new file mode 100644
index 000000000..5e72f6f9a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Feed_AffiliateLocationFeedData.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.GenderView
+ */
+final class GenderView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the gender view.
+ * Gender view resource names have the form:
+ * `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the gender view.
+ * Gender view resource names have the form:
+ * `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\GenderView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the gender view.
+ * Gender view resource names have the form:
+ * `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the gender view.
+ * Gender view resource names have the form:
+ * `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php b/src/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php
new file mode 100644
index 000000000..3468b5b7a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/GeoTargetConstant.php
@@ -0,0 +1,430 @@
+google.ads.googleads.v2.resources.GeoTargetConstant
+ */
+final class GeoTargetConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the geo target constant.
+ * Geo target constant resource names have the form:
+ * `geoTargetConstants/{geo_target_constant_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * Geo target constant English name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The ISO-3166-1 alpha-2 country code that is associated with the target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ */
+ private $country_code = null;
+ /**
+ * Geo target constant target type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_type = 6;
+ */
+ private $target_type = null;
+ /**
+ * Geo target constant status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7;
+ */
+ private $status = 0;
+ /**
+ * The fully qualified English name, consisting of the target's name and that
+ * of its parent and country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue canonical_name = 8;
+ */
+ private $canonical_name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the geo target constant.
+ * Geo target constant resource names have the form:
+ * `geoTargetConstants/{geo_target_constant_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the geo target constant.
+ * @type \Google\Protobuf\StringValue $name
+ * Geo target constant English name.
+ * @type \Google\Protobuf\StringValue $country_code
+ * The ISO-3166-1 alpha-2 country code that is associated with the target.
+ * @type \Google\Protobuf\StringValue $target_type
+ * Geo target constant target type.
+ * @type int $status
+ * Geo target constant status.
+ * @type \Google\Protobuf\StringValue $canonical_name
+ * The fully qualified English name, consisting of the target's name and that
+ * of its parent and country.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the geo target constant.
+ * Geo target constant resource names have the form:
+ * `geoTargetConstants/{geo_target_constant_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the geo target constant.
+ * Geo target constant resource names have the form:
+ * `geoTargetConstants/{geo_target_constant_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the geo target constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Geo target constant English name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Geo target constant English name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Geo target constant English name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Geo target constant English name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The ISO-3166-1 alpha-2 country code that is associated with the target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * The ISO-3166-1 alpha-2 country code that is associated with the target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ISO-3166-1 alpha-2 country code that is associated with the target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ISO-3166-1 alpha-2 country code that is associated with the target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Geo target constant target type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_type = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTargetType()
+ {
+ return $this->target_type;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetType()
+
+ * Geo target constant target type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_type = 6;
+ * @return string|null
+ */
+ public function getTargetTypeUnwrapped()
+ {
+ $wrapper = $this->getTargetType();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Geo target constant target type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_type = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTargetType($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->target_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Geo target constant target type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_type = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTargetTypeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTargetType($wrappedVar);
+ }
+
+ /**
+ * Geo target constant status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Geo target constant status.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\GeoTargetConstantStatusEnum_GeoTargetConstantStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The fully qualified English name, consisting of the target's name and that
+ * of its parent and country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue canonical_name = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCanonicalName()
+ {
+ return $this->canonical_name;
+ }
+
+ /**
+ * Returns the unboxed value from getCanonicalName()
+
+ * The fully qualified English name, consisting of the target's name and that
+ * of its parent and country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue canonical_name = 8;
+ * @return string|null
+ */
+ public function getCanonicalNameUnwrapped()
+ {
+ $wrapper = $this->getCanonicalName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The fully qualified English name, consisting of the target's name and that
+ * of its parent and country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue canonical_name = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCanonicalName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->canonical_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The fully qualified English name, consisting of the target's name and that
+ * of its parent and country.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue canonical_name = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCanonicalNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCanonicalName($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/GeographicView.php b/src/Google/Ads/GoogleAds/V2/Resources/GeographicView.php
new file mode 100644
index 000000000..786abbb48
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/GeographicView.php
@@ -0,0 +1,176 @@
+google.ads.googleads.v2.resources.GeographicView
+ */
+final class GeographicView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the geographic view.
+ * Geographic view resource names have the form:
+ * `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Type of the geo targeting of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3;
+ */
+ private $location_type = 0;
+ /**
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 4;
+ */
+ private $country_criterion_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the geographic view.
+ * Geographic view resource names have the form:
+ * `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+ * @type int $location_type
+ * Type of the geo targeting of the campaign.
+ * @type \Google\Protobuf\Int64Value $country_criterion_id
+ * Criterion Id for the country.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\GeographicView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the geographic view.
+ * Geographic view resource names have the form:
+ * `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the geographic view.
+ * Geographic view resource names have the form:
+ * `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Type of the geo targeting of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3;
+ * @return int
+ */
+ public function getLocationType()
+ {
+ return $this->location_type;
+ }
+
+ /**
+ * Type of the geo targeting of the campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setLocationType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\GeoTargetingTypeEnum_GeoTargetingType::class);
+ $this->location_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCountryCriterionId()
+ {
+ return $this->country_criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCriterionId()
+
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 4;
+ * @return int|string|null
+ */
+ public function getCountryCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCountryCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCountryCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->country_criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCountryCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCountryCriterionId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php b/src/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php
new file mode 100644
index 000000000..d43dd3d88
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/GoogleAdsField.php
@@ -0,0 +1,781 @@
+google.ads.googleads.v2.resources.GoogleAdsField
+ */
+final class GoogleAdsField extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the artifact.
+ * Artifact resource names have the form:
+ * `googleAdsFields/{name}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The name of the artifact.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ */
+ private $name = null;
+ /**
+ * The category of the artifact.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3;
+ */
+ private $category = 0;
+ /**
+ * Whether the artifact can be used in a SELECT clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue selectable = 4;
+ */
+ private $selectable = null;
+ /**
+ * Whether the artifact can be used in a WHERE clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue filterable = 5;
+ */
+ private $filterable = null;
+ /**
+ * Whether the artifact can be used in a ORDER BY clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue sortable = 6;
+ */
+ private $sortable = null;
+ /**
+ * The names of all resources, segments, and metrics that are selectable with
+ * the described artifact.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue selectable_with = 7;
+ */
+ private $selectable_with;
+ /**
+ * The names of all resources that are selectable with the described
+ * artifact. Fields from these resources do not segment metrics when included
+ * in search queries.
+ * This field is only set for artifacts whose category is RESOURCE.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue attribute_resources = 8;
+ */
+ private $attribute_resources;
+ /**
+ * At and beyond version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact when it is used in the FROM clause.
+ * It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact. It is only set for artifacts whose
+ * category is either RESOURCE or SEGMENT
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue metrics = 9;
+ */
+ private $metrics;
+ /**
+ * At and beyond version V1 this field lists the names of all artifacts,
+ * whether a segment or another resource, that segment metrics when included
+ * in search queries and when the described artifact is used in the FROM
+ * clause. It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all artifacts, whether a
+ * segment or another resource, that segment metrics when included in search
+ * queries. It is only set for artifacts of category RESOURCE, SEGMENT or
+ * METRIC.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue segments = 10;
+ */
+ private $segments;
+ /**
+ * Values the artifact can assume if it is a field of type ENUM.
+ * This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue enum_values = 11;
+ */
+ private $enum_values;
+ /**
+ * This field determines the operators that can be used with the artifact
+ * in WHERE clauses.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12;
+ */
+ private $data_type = 0;
+ /**
+ * The URL of proto describing the artifact's data type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue type_url = 13;
+ */
+ private $type_url = null;
+ /**
+ * Whether the field artifact is repeated.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_repeated = 14;
+ */
+ private $is_repeated = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the artifact.
+ * Artifact resource names have the form:
+ * `googleAdsFields/{name}`
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the artifact.
+ * @type int $category
+ * The category of the artifact.
+ * @type \Google\Protobuf\BoolValue $selectable
+ * Whether the artifact can be used in a SELECT clause in search
+ * queries.
+ * @type \Google\Protobuf\BoolValue $filterable
+ * Whether the artifact can be used in a WHERE clause in search
+ * queries.
+ * @type \Google\Protobuf\BoolValue $sortable
+ * Whether the artifact can be used in a ORDER BY clause in search
+ * queries.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $selectable_with
+ * The names of all resources, segments, and metrics that are selectable with
+ * the described artifact.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $attribute_resources
+ * The names of all resources that are selectable with the described
+ * artifact. Fields from these resources do not segment metrics when included
+ * in search queries.
+ * This field is only set for artifacts whose category is RESOURCE.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $metrics
+ * At and beyond version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact when it is used in the FROM clause.
+ * It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact. It is only set for artifacts whose
+ * category is either RESOURCE or SEGMENT
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $segments
+ * At and beyond version V1 this field lists the names of all artifacts,
+ * whether a segment or another resource, that segment metrics when included
+ * in search queries and when the described artifact is used in the FROM
+ * clause. It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all artifacts, whether a
+ * segment or another resource, that segment metrics when included in search
+ * queries. It is only set for artifacts of category RESOURCE, SEGMENT or
+ * METRIC.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $enum_values
+ * Values the artifact can assume if it is a field of type ENUM.
+ * This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+ * @type int $data_type
+ * This field determines the operators that can be used with the artifact
+ * in WHERE clauses.
+ * @type \Google\Protobuf\StringValue $type_url
+ * The URL of proto describing the artifact's data type.
+ * @type \Google\Protobuf\BoolValue $is_repeated
+ * Whether the field artifact is repeated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\GoogleAdsField::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the artifact.
+ * Artifact resource names have the form:
+ * `googleAdsFields/{name}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the artifact.
+ * Artifact resource names have the form:
+ * `googleAdsFields/{name}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name of the artifact.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the artifact.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the artifact.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the artifact.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The category of the artifact.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3;
+ * @return int
+ */
+ public function getCategory()
+ {
+ return $this->category;
+ }
+
+ /**
+ * The category of the artifact.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setCategory($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldCategoryEnum_GoogleAdsFieldCategory::class);
+ $this->category = $var;
+
+ return $this;
+ }
+
+ /**
+ * Whether the artifact can be used in a SELECT clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue selectable = 4;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getSelectable()
+ {
+ return $this->selectable;
+ }
+
+ /**
+ * Returns the unboxed value from getSelectable()
+
+ * Whether the artifact can be used in a SELECT clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue selectable = 4;
+ * @return bool|null
+ */
+ public function getSelectableUnwrapped()
+ {
+ $wrapper = $this->getSelectable();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the artifact can be used in a SELECT clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue selectable = 4;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setSelectable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->selectable = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the artifact can be used in a SELECT clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue selectable = 4;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setSelectableUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setSelectable($wrappedVar);
+ }
+
+ /**
+ * Whether the artifact can be used in a WHERE clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue filterable = 5;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getFilterable()
+ {
+ return $this->filterable;
+ }
+
+ /**
+ * Returns the unboxed value from getFilterable()
+
+ * Whether the artifact can be used in a WHERE clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue filterable = 5;
+ * @return bool|null
+ */
+ public function getFilterableUnwrapped()
+ {
+ $wrapper = $this->getFilterable();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the artifact can be used in a WHERE clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue filterable = 5;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setFilterable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->filterable = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the artifact can be used in a WHERE clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue filterable = 5;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setFilterableUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setFilterable($wrappedVar);
+ }
+
+ /**
+ * Whether the artifact can be used in a ORDER BY clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue sortable = 6;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getSortable()
+ {
+ return $this->sortable;
+ }
+
+ /**
+ * Returns the unboxed value from getSortable()
+
+ * Whether the artifact can be used in a ORDER BY clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue sortable = 6;
+ * @return bool|null
+ */
+ public function getSortableUnwrapped()
+ {
+ $wrapper = $this->getSortable();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the artifact can be used in a ORDER BY clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue sortable = 6;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setSortable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->sortable = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the artifact can be used in a ORDER BY clause in search
+ * queries.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue sortable = 6;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setSortableUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setSortable($wrappedVar);
+ }
+
+ /**
+ * The names of all resources, segments, and metrics that are selectable with
+ * the described artifact.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue selectable_with = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getSelectableWith()
+ {
+ return $this->selectable_with;
+ }
+
+ /**
+ * The names of all resources, segments, and metrics that are selectable with
+ * the described artifact.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue selectable_with = 7;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setSelectableWith($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->selectable_with = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The names of all resources that are selectable with the described
+ * artifact. Fields from these resources do not segment metrics when included
+ * in search queries.
+ * This field is only set for artifacts whose category is RESOURCE.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue attribute_resources = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAttributeResources()
+ {
+ return $this->attribute_resources;
+ }
+
+ /**
+ * The names of all resources that are selectable with the described
+ * artifact. Fields from these resources do not segment metrics when included
+ * in search queries.
+ * This field is only set for artifacts whose category is RESOURCE.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue attribute_resources = 8;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAttributeResources($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->attribute_resources = $arr;
+
+ return $this;
+ }
+
+ /**
+ * At and beyond version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact when it is used in the FROM clause.
+ * It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact. It is only set for artifacts whose
+ * category is either RESOURCE or SEGMENT
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue metrics = 9;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMetrics()
+ {
+ return $this->metrics;
+ }
+
+ /**
+ * At and beyond version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact when it is used in the FROM clause.
+ * It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all metrics that are
+ * selectable with the described artifact. It is only set for artifacts whose
+ * category is either RESOURCE or SEGMENT
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue metrics = 9;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMetrics($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->metrics = $arr;
+
+ return $this;
+ }
+
+ /**
+ * At and beyond version V1 this field lists the names of all artifacts,
+ * whether a segment or another resource, that segment metrics when included
+ * in search queries and when the described artifact is used in the FROM
+ * clause. It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all artifacts, whether a
+ * segment or another resource, that segment metrics when included in search
+ * queries. It is only set for artifacts of category RESOURCE, SEGMENT or
+ * METRIC.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue segments = 10;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getSegments()
+ {
+ return $this->segments;
+ }
+
+ /**
+ * At and beyond version V1 this field lists the names of all artifacts,
+ * whether a segment or another resource, that segment metrics when included
+ * in search queries and when the described artifact is used in the FROM
+ * clause. It is only set for artifacts whose category is RESOURCE.
+ * Before version V1 this field lists the names of all artifacts, whether a
+ * segment or another resource, that segment metrics when included in search
+ * queries. It is only set for artifacts of category RESOURCE, SEGMENT or
+ * METRIC.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue segments = 10;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setSegments($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->segments = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Values the artifact can assume if it is a field of type ENUM.
+ * This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue enum_values = 11;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getEnumValues()
+ {
+ return $this->enum_values;
+ }
+
+ /**
+ * Values the artifact can assume if it is a field of type ENUM.
+ * This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue enum_values = 11;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setEnumValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->enum_values = $arr;
+
+ return $this;
+ }
+
+ /**
+ * This field determines the operators that can be used with the artifact
+ * in WHERE clauses.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12;
+ * @return int
+ */
+ public function getDataType()
+ {
+ return $this->data_type;
+ }
+
+ /**
+ * This field determines the operators that can be used with the artifact
+ * in WHERE clauses.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setDataType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\GoogleAdsFieldDataTypeEnum_GoogleAdsFieldDataType::class);
+ $this->data_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The URL of proto describing the artifact's data type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue type_url = 13;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTypeUrl()
+ {
+ return $this->type_url;
+ }
+
+ /**
+ * Returns the unboxed value from getTypeUrl()
+
+ * The URL of proto describing the artifact's data type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue type_url = 13;
+ * @return string|null
+ */
+ public function getTypeUrlUnwrapped()
+ {
+ $wrapper = $this->getTypeUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL of proto describing the artifact's data type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue type_url = 13;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTypeUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->type_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL of proto describing the artifact's data type.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue type_url = 13;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTypeUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTypeUrl($wrappedVar);
+ }
+
+ /**
+ * Whether the field artifact is repeated.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_repeated = 14;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getIsRepeated()
+ {
+ return $this->is_repeated;
+ }
+
+ /**
+ * Returns the unboxed value from getIsRepeated()
+
+ * Whether the field artifact is repeated.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_repeated = 14;
+ * @return bool|null
+ */
+ public function getIsRepeatedUnwrapped()
+ {
+ $wrapper = $this->getIsRepeated();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the field artifact is repeated.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_repeated = 14;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setIsRepeated($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->is_repeated = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the field artifact is repeated.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue is_repeated = 14;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setIsRepeatedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setIsRepeated($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php b/src/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php
new file mode 100644
index 000000000..99416d886
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/GroupPlacementView.php
@@ -0,0 +1,310 @@
+google.ads.googleads.v2.resources.GroupPlacementView
+ */
+final class GroupPlacementView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the group placement view.
+ * Group placement view resource names have the form:
+ * `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The automatic placement string at group level, e. g. web domain, mobile
+ * app ID, or a YouTube channel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ */
+ private $placement = null;
+ /**
+ * Domain name for websites and YouTube channel name for YouTube channels.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ */
+ private $display_name = null;
+ /**
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 4;
+ */
+ private $target_url = null;
+ /**
+ * Type of the placement, e.g. Website, YouTube Channel, Mobile Application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 5;
+ */
+ private $placement_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the group placement view.
+ * Group placement view resource names have the form:
+ * `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+ * @type \Google\Protobuf\StringValue $placement
+ * The automatic placement string at group level, e. g. web domain, mobile
+ * app ID, or a YouTube channel ID.
+ * @type \Google\Protobuf\StringValue $display_name
+ * Domain name for websites and YouTube channel name for YouTube channels.
+ * @type \Google\Protobuf\StringValue $target_url
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ * @type int $placement_type
+ * Type of the placement, e.g. Website, YouTube Channel, Mobile Application.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\GroupPlacementView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the group placement view.
+ * Group placement view resource names have the form:
+ * `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the group placement view.
+ * Group placement view resource names have the form:
+ * `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The automatic placement string at group level, e. g. web domain, mobile
+ * app ID, or a YouTube channel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPlacement()
+ {
+ return $this->placement;
+ }
+
+ /**
+ * Returns the unboxed value from getPlacement()
+
+ * The automatic placement string at group level, e. g. web domain, mobile
+ * app ID, or a YouTube channel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @return string|null
+ */
+ public function getPlacementUnwrapped()
+ {
+ $wrapper = $this->getPlacement();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The automatic placement string at group level, e. g. web domain, mobile
+ * app ID, or a YouTube channel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPlacement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->placement = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The automatic placement string at group level, e. g. web domain, mobile
+ * app ID, or a YouTube channel ID.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue placement = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPlacementUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPlacement($wrappedVar);
+ }
+
+ /**
+ * Domain name for websites and YouTube channel name for YouTube channels.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDisplayName()
+ {
+ return $this->display_name;
+ }
+
+ /**
+ * Returns the unboxed value from getDisplayName()
+
+ * Domain name for websites and YouTube channel name for YouTube channels.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @return string|null
+ */
+ public function getDisplayNameUnwrapped()
+ {
+ $wrapper = $this->getDisplayName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Domain name for websites and YouTube channel name for YouTube channels.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDisplayName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->display_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Domain name for websites and YouTube channel name for YouTube channels.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue display_name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDisplayNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDisplayName($wrappedVar);
+ }
+
+ /**
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTargetUrl()
+ {
+ return $this->target_url;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetUrl()
+
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 4;
+ * @return string|null
+ */
+ public function getTargetUrlUnwrapped()
+ {
+ $wrapper = $this->getTargetUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTargetUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->target_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * URL of the group placement, e.g. domain, link to the mobile application in
+ * app store, or a YouTube channel URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue target_url = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTargetUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTargetUrl($wrappedVar);
+ }
+
+ /**
+ * Type of the placement, e.g. Website, YouTube Channel, Mobile Application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 5;
+ * @return int
+ */
+ public function getPlacementType()
+ {
+ return $this->placement_type;
+ }
+
+ /**
+ * Type of the placement, e.g. Website, YouTube Channel, Mobile Application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setPlacementType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\PlacementTypeEnum_PlacementType::class);
+ $this->placement_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php b/src/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php
new file mode 100644
index 000000000..60e684c1e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/HotelGroupView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.HotelGroupView
+ */
+final class HotelGroupView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the hotel group view.
+ * Hotel Group view resource names have the form:
+ * `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the hotel group view.
+ * Hotel Group view resource names have the form:
+ * `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\HotelGroupView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the hotel group view.
+ * Hotel Group view resource names have the form:
+ * `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the hotel group view.
+ * Hotel Group view resource names have the form:
+ * `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php b/src/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php
new file mode 100644
index 000000000..b912a10d7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/HotelPerformanceView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.HotelPerformanceView
+ */
+final class HotelPerformanceView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the hotel performance view.
+ * Hotel performance view resource names have the form:
+ * `customers/{customer_id}/hotelPerformanceView`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the hotel performance view.
+ * Hotel performance view resource names have the form:
+ * `customers/{customer_id}/hotelPerformanceView`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\HotelPerformanceView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the hotel performance view.
+ * Hotel performance view resource names have the form:
+ * `customers/{customer_id}/hotelPerformanceView`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the hotel performance view.
+ * Hotel performance view resource names have the form:
+ * `customers/{customer_id}/hotelPerformanceView`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php
new file mode 100644
index 000000000..5cfa12a69
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlan.php
@@ -0,0 +1,249 @@
+google.ads.googleads.v2.resources.KeywordPlan
+ */
+final class KeywordPlan extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Planner plan.
+ * KeywordPlan resource names have the form:
+ * `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the keyword plan.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The name of the keyword plan.
+ * This field is required and should not be empty when creating new keyword
+ * plans.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The date period used for forecasting the plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanForecastPeriod forecast_period = 4;
+ */
+ private $forecast_period = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Planner plan.
+ * KeywordPlan resource names have the form:
+ * `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the keyword plan.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the keyword plan.
+ * This field is required and should not be empty when creating new keyword
+ * plans.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanForecastPeriod $forecast_period
+ * The date period used for forecasting the plan.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlan::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Planner plan.
+ * KeywordPlan resource names have the form:
+ * `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Planner plan.
+ * KeywordPlan resource names have the form:
+ * `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the keyword plan.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the keyword plan.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the keyword plan.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the keyword plan.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the keyword plan.
+ * This field is required and should not be empty when creating new keyword
+ * plans.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the keyword plan.
+ * This field is required and should not be empty when creating new keyword
+ * plans.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the keyword plan.
+ * This field is required and should not be empty when creating new keyword
+ * plans.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the keyword plan.
+ * This field is required and should not be empty when creating new keyword
+ * plans.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The date period used for forecasting the plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanForecastPeriod forecast_period = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanForecastPeriod
+ */
+ public function getForecastPeriod()
+ {
+ return $this->forecast_period;
+ }
+
+ /**
+ * The date period used for forecasting the plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanForecastPeriod forecast_period = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanForecastPeriod $var
+ * @return $this
+ */
+ public function setForecastPeriod($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanForecastPeriod::class);
+ $this->forecast_period = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php
new file mode 100644
index 000000000..fb4142e50
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanAdGroup.php
@@ -0,0 +1,352 @@
+google.ads.googleads.v2.resources.KeywordPlanAdGroup
+ */
+final class KeywordPlanAdGroup extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Planner ad group.
+ * KeywordPlanAdGroup resource names have the form:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The keyword plan campaign to which this ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ */
+ private $keyword_plan_campaign = null;
+ /**
+ * The ID of the keyword plan ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the keyword plan ad group.
+ * This field is required and should not be empty when creating keyword plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * A default ad group max cpc bid in micros in account currency for all
+ * biddable keywords under the keyword plan ad group.
+ * If not set, will inherit from parent campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 5;
+ */
+ private $cpc_bid_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Planner ad group.
+ * KeywordPlanAdGroup resource names have the form:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ * @type \Google\Protobuf\StringValue $keyword_plan_campaign
+ * The keyword plan campaign to which this ad group belongs.
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the keyword plan ad group.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the keyword plan ad group.
+ * This field is required and should not be empty when creating keyword plan
+ * ad group.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * A default ad group max cpc bid in micros in account currency for all
+ * biddable keywords under the keyword plan ad group.
+ * If not set, will inherit from parent campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Planner ad group.
+ * KeywordPlanAdGroup resource names have the form:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Planner ad group.
+ * KeywordPlanAdGroup resource names have the form:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan campaign to which this ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlanCampaign()
+ {
+ return $this->keyword_plan_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlanCampaign()
+
+ * The keyword plan campaign to which this ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @return string|null
+ */
+ public function getKeywordPlanCampaignUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlanCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The keyword plan campaign to which this ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The keyword plan campaign to which this ad group belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlanCampaign($wrappedVar);
+ }
+
+ /**
+ * The ID of the keyword plan ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the keyword plan ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the keyword plan ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the keyword plan ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the keyword plan ad group.
+ * This field is required and should not be empty when creating keyword plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the keyword plan ad group.
+ * This field is required and should not be empty when creating keyword plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the keyword plan ad group.
+ * This field is required and should not be empty when creating keyword plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the keyword plan ad group.
+ * This field is required and should not be empty when creating keyword plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * A default ad group max cpc bid in micros in account currency for all
+ * biddable keywords under the keyword plan ad group.
+ * If not set, will inherit from parent campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * A default ad group max cpc bid in micros in account currency for all
+ * biddable keywords under the keyword plan ad group.
+ * If not set, will inherit from parent campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 5;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A default ad group max cpc bid in micros in account currency for all
+ * biddable keywords under the keyword plan ad group.
+ * If not set, will inherit from parent campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * A default ad group max cpc bid in micros in account currency for all
+ * biddable keywords under the keyword plan ad group.
+ * If not set, will inherit from parent campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php
new file mode 100644
index 000000000..42bbe4fac
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanCampaign.php
@@ -0,0 +1,476 @@
+google.ads.googleads.v2.resources.KeywordPlanCampaign
+ */
+final class KeywordPlanCampaign extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan campaign.
+ * KeywordPlanCampaign resource names have the form:
+ * `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The keyword plan this campaign belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan = 2;
+ */
+ private $keyword_plan = null;
+ /**
+ * The ID of the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the Keyword Plan campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The languages targeted for the Keyword Plan campaign.
+ * Max allowed: 1.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue language_constants = 5;
+ */
+ private $language_constants;
+ /**
+ * Targeting network.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6;
+ */
+ private $keyword_plan_network = 0;
+ /**
+ * A default max cpc bid in micros, and in the account currency, for all ad
+ * groups under the campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 7;
+ */
+ private $cpc_bid_micros = null;
+ /**
+ * The geo targets.
+ * Max number allowed: 20.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.KeywordPlanGeoTarget geo_targets = 8;
+ */
+ private $geo_targets;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Plan campaign.
+ * KeywordPlanCampaign resource names have the form:
+ * `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+ * @type \Google\Protobuf\StringValue $keyword_plan
+ * The keyword plan this campaign belongs to.
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the Keyword Plan campaign.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the Keyword Plan campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $language_constants
+ * The languages targeted for the Keyword Plan campaign.
+ * Max allowed: 1.
+ * @type int $keyword_plan_network
+ * Targeting network.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * A default max cpc bid in micros, and in the account currency, for all ad
+ * groups under the campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanGeoTarget[]|\Google\Protobuf\Internal\RepeatedField $geo_targets
+ * The geo targets.
+ * Max number allowed: 20.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan campaign.
+ * KeywordPlanCampaign resource names have the form:
+ * `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Plan campaign.
+ * KeywordPlanCampaign resource names have the form:
+ * `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan this campaign belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlan()
+ {
+ return $this->keyword_plan;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlan()
+
+ * The keyword plan this campaign belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan = 2;
+ * @return string|null
+ */
+ public function getKeywordPlanUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlan();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The keyword plan this campaign belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlan($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The keyword plan this campaign belongs to.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlan($wrappedVar);
+ }
+
+ /**
+ * The ID of the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the Keyword Plan campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the Keyword Plan campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the Keyword Plan campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the Keyword Plan campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The languages targeted for the Keyword Plan campaign.
+ * Max allowed: 1.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue language_constants = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLanguageConstants()
+ {
+ return $this->language_constants;
+ }
+
+ /**
+ * The languages targeted for the Keyword Plan campaign.
+ * Max allowed: 1.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue language_constants = 5;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLanguageConstants($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->language_constants = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Targeting network.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6;
+ * @return int
+ */
+ public function getKeywordPlanNetwork()
+ {
+ return $this->keyword_plan_network;
+ }
+
+ /**
+ * Targeting network.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanNetwork($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanNetworkEnum_KeywordPlanNetwork::class);
+ $this->keyword_plan_network = $var;
+
+ return $this;
+ }
+
+ /**
+ * A default max cpc bid in micros, and in the account currency, for all ad
+ * groups under the campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * A default max cpc bid in micros, and in the account currency, for all ad
+ * groups under the campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 7;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A default max cpc bid in micros, and in the account currency, for all ad
+ * groups under the campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * A default max cpc bid in micros, and in the account currency, for all ad
+ * groups under the campaign.
+ * This field is required and should not be empty when creating Keyword Plan
+ * campaigns.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+ /**
+ * The geo targets.
+ * Max number allowed: 20.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.KeywordPlanGeoTarget geo_targets = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeoTargets()
+ {
+ return $this->geo_targets;
+ }
+
+ /**
+ * The geo targets.
+ * Max number allowed: 20.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.KeywordPlanGeoTarget geo_targets = 8;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanGeoTarget[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeoTargets($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanGeoTarget::class);
+ $this->geo_targets = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanForecastPeriod.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanForecastPeriod.php
new file mode 100644
index 000000000..6027c77c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanForecastPeriod.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.resources.KeywordPlanForecastPeriod
+ */
+final class KeywordPlanForecastPeriod extends \Google\Protobuf\Internal\Message
+{
+ protected $interval;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $date_interval
+ * A future date range relative to the current date used for forecasting.
+ * @type \Google\Ads\GoogleAds\V2\Common\DateRange $date_range
+ * The custom date range used for forecasting.
+ * The start and end dates must be in the future. Otherwise, an error will
+ * be returned when the forecasting action is performed.
+ * The start and end dates are inclusive.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlan::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A future date range relative to the current date used for forecasting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1;
+ * @return int
+ */
+ public function getDateInterval()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * A future date range relative to the current date used for forecasting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setDateInterval($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanForecastIntervalEnum_KeywordPlanForecastInterval::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * The custom date range used for forecasting.
+ * The start and end dates must be in the future. Otherwise, an error will
+ * be returned when the forecasting action is performed.
+ * The start and end dates are inclusive.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DateRange date_range = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\DateRange
+ */
+ public function getDateRange()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * The custom date range used for forecasting.
+ * The start and end dates must be in the future. Otherwise, an error will
+ * be returned when the forecasting action is performed.
+ * The start and end dates are inclusive.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.DateRange date_range = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\DateRange $var
+ * @return $this
+ */
+ public function setDateRange($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\DateRange::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getInterval()
+ {
+ return $this->whichOneof("interval");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanGeoTarget.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanGeoTarget.php
new file mode 100644
index 000000000..dbca64164
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanGeoTarget.php
@@ -0,0 +1,97 @@
+google.ads.googleads.v2.resources.KeywordPlanGeoTarget
+ */
+final class KeywordPlanGeoTarget extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ */
+ private $geo_target_constant = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $geo_target_constant
+ * Required. The resource name of the geo target.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGeoTargetConstant()
+ {
+ return $this->geo_target_constant;
+ }
+
+ /**
+ * Returns the unboxed value from getGeoTargetConstant()
+
+ * Required. The resource name of the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @return string|null
+ */
+ public function getGeoTargetConstantUnwrapped()
+ {
+ $wrapper = $this->getGeoTargetConstant();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Required. The resource name of the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGeoTargetConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->geo_target_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Required. The resource name of the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue geo_target_constant = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGeoTargetConstantUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGeoTargetConstant($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php
new file mode 100644
index 000000000..3b9221a12
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanKeyword.php
@@ -0,0 +1,368 @@
+google.ads.googleads.v2.resources.KeywordPlanKeyword
+ */
+final class KeywordPlanKeyword extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan ad group keyword.
+ * KeywordPlanKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The Keyword Plan ad group to which this keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 2;
+ */
+ private $keyword_plan_ad_group = null;
+ /**
+ * The ID of the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ */
+ private $text = null;
+ /**
+ * The keyword match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+ */
+ private $match_type = 0;
+ /**
+ * A keyword level max cpc bid in micros, in the account currency, that
+ * overrides the keyword plan ad group cpc bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 6;
+ */
+ private $cpc_bid_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Plan ad group keyword.
+ * KeywordPlanKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ * @type \Google\Protobuf\StringValue $keyword_plan_ad_group
+ * The Keyword Plan ad group to which this keyword belongs.
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the Keyword Plan keyword.
+ * @type \Google\Protobuf\StringValue $text
+ * The keyword text.
+ * @type int $match_type
+ * The keyword match type.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * A keyword level max cpc bid in micros, in the account currency, that
+ * overrides the keyword plan ad group cpc bid.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan ad group keyword.
+ * KeywordPlanKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Plan ad group keyword.
+ * KeywordPlanKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The Keyword Plan ad group to which this keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlanAdGroup()
+ {
+ return $this->keyword_plan_ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlanAdGroup()
+
+ * The Keyword Plan ad group to which this keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 2;
+ * @return string|null
+ */
+ public function getKeywordPlanAdGroupUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlanAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Keyword Plan ad group to which this keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan_ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Keyword Plan ad group to which this keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlanAdGroup($wrappedVar);
+ }
+
+ /**
+ * The ID of the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * The keyword match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+ * @return int
+ */
+ public function getMatchType()
+ {
+ return $this->match_type;
+ }
+
+ /**
+ * The keyword match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setMatchType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum_KeywordMatchType::class);
+ $this->match_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * A keyword level max cpc bid in micros, in the account currency, that
+ * overrides the keyword plan ad group cpc bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * A keyword level max cpc bid in micros, in the account currency, that
+ * overrides the keyword plan ad group cpc bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 6;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A keyword level max cpc bid in micros, in the account currency, that
+ * overrides the keyword plan ad group cpc bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * A keyword level max cpc bid in micros, in the account currency, that
+ * overrides the keyword plan ad group cpc bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php
new file mode 100644
index 000000000..e71a9260f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordPlanNegativeKeyword.php
@@ -0,0 +1,299 @@
+google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword
+ */
+final class KeywordPlanNegativeKeyword extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan negative keyword.
+ * KeywordPlanNegativeKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The Keyword Plan campaign to which this negative keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ */
+ private $keyword_plan_campaign = null;
+ /**
+ * The ID of the Keyword Plan negative keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ */
+ private $text = null;
+ /**
+ * The keyword match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+ */
+ private $match_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Plan negative keyword.
+ * KeywordPlanNegativeKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ * @type \Google\Protobuf\StringValue $keyword_plan_campaign
+ * The Keyword Plan campaign to which this negative keyword belongs.
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the Keyword Plan negative keyword.
+ * @type \Google\Protobuf\StringValue $text
+ * The keyword text.
+ * @type int $match_type
+ * The keyword match type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan negative keyword.
+ * KeywordPlanNegativeKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Plan negative keyword.
+ * KeywordPlanNegativeKeyword resource names have the form:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The Keyword Plan campaign to which this negative keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlanCampaign()
+ {
+ return $this->keyword_plan_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlanCampaign()
+
+ * The Keyword Plan campaign to which this negative keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @return string|null
+ */
+ public function getKeywordPlanCampaignUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlanCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Keyword Plan campaign to which this negative keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Keyword Plan campaign to which this negative keyword belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlanCampaign($wrappedVar);
+ }
+
+ /**
+ * The ID of the Keyword Plan negative keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the Keyword Plan negative keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the Keyword Plan negative keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the Keyword Plan negative keyword.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The keyword text.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * The keyword match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+ * @return int
+ */
+ public function getMatchType()
+ {
+ return $this->match_type;
+ }
+
+ /**
+ * The keyword match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setMatchType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum_KeywordMatchType::class);
+ $this->match_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/KeywordView.php b/src/Google/Ads/GoogleAds/V2/Resources/KeywordView.php
new file mode 100644
index 000000000..e92be47b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/KeywordView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.KeywordView
+ */
+final class KeywordView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the keyword view.
+ * Keyword view resource names have the form:
+ * `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the keyword view.
+ * Keyword view resource names have the form:
+ * `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\KeywordView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the keyword view.
+ * Keyword view resource names have the form:
+ * `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the keyword view.
+ * Keyword view resource names have the form:
+ * `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Label.php b/src/Google/Ads/GoogleAds/V2/Resources/Label.php
new file mode 100644
index 000000000..2be8e82a0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Label.php
@@ -0,0 +1,281 @@
+google.ads.googleads.v2.resources.Label
+ */
+final class Label extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Name of the resource.
+ * Label resource names have the form:
+ * `customers/{customer_id}/labels/{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Id of the label. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The name of the label.
+ * This field is required and should not be empty when creating a new label.
+ * The length of this string should be between 1 and 80, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * Status of the label. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LabelStatusEnum.LabelStatus status = 4;
+ */
+ private $status = 0;
+ /**
+ * A type of label displaying text on a colored background.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextLabel text_label = 5;
+ */
+ private $text_label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Name of the resource.
+ * Label resource names have the form:
+ * `customers/{customer_id}/labels/{label_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * Id of the label. Read only.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the label.
+ * This field is required and should not be empty when creating a new label.
+ * The length of this string should be between 1 and 80, inclusive.
+ * @type int $status
+ * Status of the label. Read only.
+ * @type \Google\Ads\GoogleAds\V2\Common\TextLabel $text_label
+ * A type of label displaying text on a colored background.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Label::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Name of the resource.
+ * Label resource names have the form:
+ * `customers/{customer_id}/labels/{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Name of the resource.
+ * Label resource names have the form:
+ * `customers/{customer_id}/labels/{label_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Id of the label. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * Id of the label. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the label. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the label. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the label.
+ * This field is required and should not be empty when creating a new label.
+ * The length of this string should be between 1 and 80, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the label.
+ * This field is required and should not be empty when creating a new label.
+ * The length of this string should be between 1 and 80, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the label.
+ * This field is required and should not be empty when creating a new label.
+ * The length of this string should be between 1 and 80, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the label.
+ * This field is required and should not be empty when creating a new label.
+ * The length of this string should be between 1 and 80, inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Status of the label. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LabelStatusEnum.LabelStatus status = 4;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the label. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.LabelStatusEnum.LabelStatus status = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\LabelStatusEnum_LabelStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * A type of label displaying text on a colored background.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextLabel text_label = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\TextLabel
+ */
+ public function getTextLabel()
+ {
+ return $this->text_label;
+ }
+
+ /**
+ * A type of label displaying text on a colored background.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.TextLabel text_label = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\TextLabel $var
+ * @return $this
+ */
+ public function setTextLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\TextLabel::class);
+ $this->text_label = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php b/src/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php
new file mode 100644
index 000000000..5940dc202
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/LandingPageView.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.resources.LandingPageView
+ */
+final class LandingPageView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the landing page view.
+ * Landing page view resource names have the form:
+ * `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The advertiser-specified final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue unexpanded_final_url = 2;
+ */
+ private $unexpanded_final_url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the landing page view.
+ * Landing page view resource names have the form:
+ * `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`
+ * @type \Google\Protobuf\StringValue $unexpanded_final_url
+ * The advertiser-specified final URL.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\LandingPageView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the landing page view.
+ * Landing page view resource names have the form:
+ * `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the landing page view.
+ * Landing page view resource names have the form:
+ * `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The advertiser-specified final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue unexpanded_final_url = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUnexpandedFinalUrl()
+ {
+ return $this->unexpanded_final_url;
+ }
+
+ /**
+ * Returns the unboxed value from getUnexpandedFinalUrl()
+
+ * The advertiser-specified final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue unexpanded_final_url = 2;
+ * @return string|null
+ */
+ public function getUnexpandedFinalUrlUnwrapped()
+ {
+ $wrapper = $this->getUnexpandedFinalUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The advertiser-specified final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue unexpanded_final_url = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUnexpandedFinalUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->unexpanded_final_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The advertiser-specified final URL.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue unexpanded_final_url = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUnexpandedFinalUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUnexpandedFinalUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php b/src/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php
new file mode 100644
index 000000000..10258da12
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/LanguageConstant.php
@@ -0,0 +1,333 @@
+google.ads.googleads.v2.resources.LanguageConstant
+ */
+final class LanguageConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the language constant.
+ * Language constant resource names have the form:
+ * `languageConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the language constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue code = 3;
+ */
+ private $code = null;
+ /**
+ * The full name of the language in English, e.g., "English (US)", "Spanish",
+ * etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * Whether the language is targetable.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targetable = 5;
+ */
+ private $targetable = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the language constant.
+ * Language constant resource names have the form:
+ * `languageConstants/{criterion_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the language constant.
+ * @type \Google\Protobuf\StringValue $code
+ * The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ * @type \Google\Protobuf\StringValue $name
+ * The full name of the language in English, e.g., "English (US)", "Spanish",
+ * etc.
+ * @type \Google\Protobuf\BoolValue $targetable
+ * Whether the language is targetable.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\LanguageConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the language constant.
+ * Language constant resource names have the form:
+ * `languageConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the language constant.
+ * Language constant resource names have the form:
+ * `languageConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the language constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the language constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the language constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the language constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue code = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCode()
+ {
+ return $this->code;
+ }
+
+ /**
+ * Returns the unboxed value from getCode()
+
+ * The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue code = 3;
+ * @return string|null
+ */
+ public function getCodeUnwrapped()
+ {
+ $wrapper = $this->getCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue code = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue code = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCode($wrappedVar);
+ }
+
+ /**
+ * The full name of the language in English, e.g., "English (US)", "Spanish",
+ * etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The full name of the language in English, e.g., "English (US)", "Spanish",
+ * etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The full name of the language in English, e.g., "English (US)", "Spanish",
+ * etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The full name of the language in English, e.g., "English (US)", "Spanish",
+ * etc.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Whether the language is targetable.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targetable = 5;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTargetable()
+ {
+ return $this->targetable;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetable()
+
+ * Whether the language is targetable.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targetable = 5;
+ * @return bool|null
+ */
+ public function getTargetableUnwrapped()
+ {
+ $wrapper = $this->getTargetable();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the language is targetable.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targetable = 5;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTargetable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->targetable = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the language is targetable.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targetable = 5;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTargetableUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTargetable($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/LocationView.php b/src/Google/Ads/GoogleAds/V2/Resources/LocationView.php
new file mode 100644
index 000000000..184edcf42
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/LocationView.php
@@ -0,0 +1,76 @@
+google.ads.googleads.v2.resources.LocationView
+ */
+final class LocationView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the location view.
+ * Location view resource names have the form:
+ * `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the location view.
+ * Location view resource names have the form:
+ * `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\LocationView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the location view.
+ * Location view resource names have the form:
+ * `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the location view.
+ * Location view resource names have the form:
+ * `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php b/src/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php
new file mode 100644
index 000000000..c393cbbf7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ManagedPlacementView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.ManagedPlacementView
+ */
+final class ManagedPlacementView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Managed Placement view.
+ * Managed placement view resource names have the form:
+ * `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Managed Placement view.
+ * Managed placement view resource names have the form:
+ * `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ManagedPlacementView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Managed Placement view.
+ * Managed placement view resource names have the form:
+ * `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Managed Placement view.
+ * Managed placement view resource names have the form:
+ * `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MediaAudio.php b/src/Google/Ads/GoogleAds/V2/Resources/MediaAudio.php
new file mode 100644
index 000000000..c53f7323e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MediaAudio.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.resources.MediaAudio
+ */
+final class MediaAudio extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The duration of the Audio in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ */
+ private $ad_duration_millis = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $ad_duration_millis
+ * The duration of the Audio in milliseconds.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MediaFile::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The duration of the Audio in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAdDurationMillis()
+ {
+ return $this->ad_duration_millis;
+ }
+
+ /**
+ * Returns the unboxed value from getAdDurationMillis()
+
+ * The duration of the Audio in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @return int|string|null
+ */
+ public function getAdDurationMillisUnwrapped()
+ {
+ $wrapper = $this->getAdDurationMillis();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The duration of the Audio in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAdDurationMillis($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->ad_duration_millis = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The duration of the Audio in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAdDurationMillisUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAdDurationMillis($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MediaBundle.php b/src/Google/Ads/GoogleAds/V2/Resources/MediaBundle.php
new file mode 100644
index 000000000..ea79f3b6d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MediaBundle.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.resources.MediaBundle
+ */
+final class MediaBundle extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Raw zipped data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ */
+ private $data = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BytesValue $data
+ * Raw zipped data.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MediaFile::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Raw zipped data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return \Google\Protobuf\BytesValue
+ */
+ public function getData()
+ {
+ return $this->data;
+ }
+
+ /**
+ * Returns the unboxed value from getData()
+
+ * Raw zipped data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return string|null
+ */
+ public function getDataUnwrapped()
+ {
+ $wrapper = $this->getData();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Raw zipped data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param \Google\Protobuf\BytesValue $var
+ * @return $this
+ */
+ public function setData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BytesValue::class);
+ $this->data = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BytesValue object.
+
+ * Raw zipped data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDataUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BytesValue(['value' => $var]);
+ return $this->setData($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MediaFile.php b/src/Google/Ads/GoogleAds/V2/Resources/MediaFile.php
new file mode 100644
index 000000000..a1690c957
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MediaFile.php
@@ -0,0 +1,528 @@
+google.ads.googleads.v2.resources.MediaFile
+ */
+final class MediaFile extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the media file.
+ * Media file resource names have the form:
+ * `customers/{customer_id}/mediaFiles/{media_file_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the media file.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Type of the media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MediaTypeEnum.MediaType type = 5;
+ */
+ private $type = 0;
+ /**
+ * The mime type of the media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 6;
+ */
+ private $mime_type = 0;
+ /**
+ * The URL of where the original media file was downloaded from (or a file
+ * name). Only used for media of type AUDIO and IMAGE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue source_url = 7;
+ */
+ private $source_url = null;
+ /**
+ * The name of the media file. The name can be used by clients to help
+ * identify previously uploaded media.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 8;
+ */
+ private $name = null;
+ /**
+ * The size of the media file in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 9;
+ */
+ private $file_size = null;
+ protected $mediatype;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the media file.
+ * Media file resource names have the form:
+ * `customers/{customer_id}/mediaFiles/{media_file_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the media file.
+ * @type int $type
+ * Type of the media file.
+ * @type int $mime_type
+ * The mime type of the media file.
+ * @type \Google\Protobuf\StringValue $source_url
+ * The URL of where the original media file was downloaded from (or a file
+ * name). Only used for media of type AUDIO and IMAGE.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the media file. The name can be used by clients to help
+ * identify previously uploaded media.
+ * @type \Google\Protobuf\Int64Value $file_size
+ * The size of the media file in bytes.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MediaImage $image
+ * Encapsulates an Image.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MediaBundle $media_bundle
+ * A ZIP archive media the content of which contains HTML5 assets.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MediaAudio $audio
+ * Encapsulates an Audio.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MediaVideo $video
+ * Encapsulates a Video.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MediaFile::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the media file.
+ * Media file resource names have the form:
+ * `customers/{customer_id}/mediaFiles/{media_file_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the media file.
+ * Media file resource names have the form:
+ * `customers/{customer_id}/mediaFiles/{media_file_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the media file.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the media file.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the media file.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the media file.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Type of the media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MediaTypeEnum.MediaType type = 5;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of the media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MediaTypeEnum.MediaType type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MediaTypeEnum_MediaType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The mime type of the media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 6;
+ * @return int
+ */
+ public function getMimeType()
+ {
+ return $this->mime_type;
+ }
+
+ /**
+ * The mime type of the media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setMimeType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MimeTypeEnum_MimeType::class);
+ $this->mime_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The URL of where the original media file was downloaded from (or a file
+ * name). Only used for media of type AUDIO and IMAGE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue source_url = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSourceUrl()
+ {
+ return $this->source_url;
+ }
+
+ /**
+ * Returns the unboxed value from getSourceUrl()
+
+ * The URL of where the original media file was downloaded from (or a file
+ * name). Only used for media of type AUDIO and IMAGE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue source_url = 7;
+ * @return string|null
+ */
+ public function getSourceUrlUnwrapped()
+ {
+ $wrapper = $this->getSourceUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL of where the original media file was downloaded from (or a file
+ * name). Only used for media of type AUDIO and IMAGE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue source_url = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSourceUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->source_url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL of where the original media file was downloaded from (or a file
+ * name). Only used for media of type AUDIO and IMAGE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue source_url = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSourceUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSourceUrl($wrappedVar);
+ }
+
+ /**
+ * The name of the media file. The name can be used by clients to help
+ * identify previously uploaded media.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the media file. The name can be used by clients to help
+ * identify previously uploaded media.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 8;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the media file. The name can be used by clients to help
+ * identify previously uploaded media.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the media file. The name can be used by clients to help
+ * identify previously uploaded media.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The size of the media file in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 9;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getFileSize()
+ {
+ return $this->file_size;
+ }
+
+ /**
+ * Returns the unboxed value from getFileSize()
+
+ * The size of the media file in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 9;
+ * @return int|string|null
+ */
+ public function getFileSizeUnwrapped()
+ {
+ $wrapper = $this->getFileSize();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The size of the media file in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 9;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setFileSize($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->file_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The size of the media file in bytes.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value file_size = 9;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setFileSizeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setFileSize($wrappedVar);
+ }
+
+ /**
+ * Encapsulates an Image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaImage image = 3;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MediaImage
+ */
+ public function getImage()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Encapsulates an Image.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaImage image = 3;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MediaImage $var
+ * @return $this
+ */
+ public function setImage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MediaImage::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * A ZIP archive media the content of which contains HTML5 assets.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaBundle media_bundle = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MediaBundle
+ */
+ public function getMediaBundle()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * A ZIP archive media the content of which contains HTML5 assets.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaBundle media_bundle = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MediaBundle $var
+ * @return $this
+ */
+ public function setMediaBundle($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MediaBundle::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * Encapsulates an Audio.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaAudio audio = 10;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MediaAudio
+ */
+ public function getAudio()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * Encapsulates an Audio.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaAudio audio = 10;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MediaAudio $var
+ * @return $this
+ */
+ public function setAudio($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MediaAudio::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * Encapsulates a Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaVideo video = 11;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MediaVideo
+ */
+ public function getVideo()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * Encapsulates a Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaVideo video = 11;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MediaVideo $var
+ * @return $this
+ */
+ public function setVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MediaVideo::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getMediatype()
+ {
+ return $this->whichOneof("mediatype");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MediaImage.php b/src/Google/Ads/GoogleAds/V2/Resources/MediaImage.php
new file mode 100644
index 000000000..a71ea4fda
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MediaImage.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.resources.MediaImage
+ */
+final class MediaImage extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Raw image data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ */
+ private $data = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\BytesValue $data
+ * Raw image data.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MediaFile::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Raw image data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return \Google\Protobuf\BytesValue
+ */
+ public function getData()
+ {
+ return $this->data;
+ }
+
+ /**
+ * Returns the unboxed value from getData()
+
+ * Raw image data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @return string|null
+ */
+ public function getDataUnwrapped()
+ {
+ $wrapper = $this->getData();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Raw image data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param \Google\Protobuf\BytesValue $var
+ * @return $this
+ */
+ public function setData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BytesValue::class);
+ $this->data = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BytesValue object.
+
+ * Raw image data.
+ *
+ * Generated from protobuf field .google.protobuf.BytesValue data = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDataUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BytesValue(['value' => $var]);
+ return $this->setData($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MediaVideo.php b/src/Google/Ads/GoogleAds/V2/Resources/MediaVideo.php
new file mode 100644
index 000000000..37a39dfbf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MediaVideo.php
@@ -0,0 +1,303 @@
+google.ads.googleads.v2.resources.MediaVideo
+ */
+final class MediaVideo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The duration of the Video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ */
+ private $ad_duration_millis = null;
+ /**
+ * The YouTube video ID (as seen in YouTube URLs).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 2;
+ */
+ private $youtube_video_id = null;
+ /**
+ * The Advertising Digital Identification code for this video, as defined by
+ * the American Association of Advertising Agencies, used mainly for
+ * television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue advertising_id_code = 3;
+ */
+ private $advertising_id_code = null;
+ /**
+ * The Industry Standard Commercial Identifier code for this video, used
+ * mainly for television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue isci_code = 4;
+ */
+ private $isci_code = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $ad_duration_millis
+ * The duration of the Video in milliseconds.
+ * @type \Google\Protobuf\StringValue $youtube_video_id
+ * The YouTube video ID (as seen in YouTube URLs).
+ * @type \Google\Protobuf\StringValue $advertising_id_code
+ * The Advertising Digital Identification code for this video, as defined by
+ * the American Association of Advertising Agencies, used mainly for
+ * television commercials.
+ * @type \Google\Protobuf\StringValue $isci_code
+ * The Industry Standard Commercial Identifier code for this video, used
+ * mainly for television commercials.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MediaFile::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The duration of the Video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAdDurationMillis()
+ {
+ return $this->ad_duration_millis;
+ }
+
+ /**
+ * Returns the unboxed value from getAdDurationMillis()
+
+ * The duration of the Video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @return int|string|null
+ */
+ public function getAdDurationMillisUnwrapped()
+ {
+ $wrapper = $this->getAdDurationMillis();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The duration of the Video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAdDurationMillis($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->ad_duration_millis = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The duration of the Video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value ad_duration_millis = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAdDurationMillisUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAdDurationMillis($wrappedVar);
+ }
+
+ /**
+ * The YouTube video ID (as seen in YouTube URLs).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getYoutubeVideoId()
+ {
+ return $this->youtube_video_id;
+ }
+
+ /**
+ * Returns the unboxed value from getYoutubeVideoId()
+
+ * The YouTube video ID (as seen in YouTube URLs).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 2;
+ * @return string|null
+ */
+ public function getYoutubeVideoIdUnwrapped()
+ {
+ $wrapper = $this->getYoutubeVideoId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The YouTube video ID (as seen in YouTube URLs).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setYoutubeVideoId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->youtube_video_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The YouTube video ID (as seen in YouTube URLs).
+ *
+ * Generated from protobuf field .google.protobuf.StringValue youtube_video_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setYoutubeVideoIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setYoutubeVideoId($wrappedVar);
+ }
+
+ /**
+ * The Advertising Digital Identification code for this video, as defined by
+ * the American Association of Advertising Agencies, used mainly for
+ * television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue advertising_id_code = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdvertisingIdCode()
+ {
+ return $this->advertising_id_code;
+ }
+
+ /**
+ * Returns the unboxed value from getAdvertisingIdCode()
+
+ * The Advertising Digital Identification code for this video, as defined by
+ * the American Association of Advertising Agencies, used mainly for
+ * television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue advertising_id_code = 3;
+ * @return string|null
+ */
+ public function getAdvertisingIdCodeUnwrapped()
+ {
+ $wrapper = $this->getAdvertisingIdCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Advertising Digital Identification code for this video, as defined by
+ * the American Association of Advertising Agencies, used mainly for
+ * television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue advertising_id_code = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdvertisingIdCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->advertising_id_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Advertising Digital Identification code for this video, as defined by
+ * the American Association of Advertising Agencies, used mainly for
+ * television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue advertising_id_code = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdvertisingIdCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdvertisingIdCode($wrappedVar);
+ }
+
+ /**
+ * The Industry Standard Commercial Identifier code for this video, used
+ * mainly for television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue isci_code = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getIsciCode()
+ {
+ return $this->isci_code;
+ }
+
+ /**
+ * Returns the unboxed value from getIsciCode()
+
+ * The Industry Standard Commercial Identifier code for this video, used
+ * mainly for television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue isci_code = 4;
+ * @return string|null
+ */
+ public function getIsciCodeUnwrapped()
+ {
+ $wrapper = $this->getIsciCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Industry Standard Commercial Identifier code for this video, used
+ * mainly for television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue isci_code = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setIsciCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->isci_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Industry Standard Commercial Identifier code for this video, used
+ * mainly for television commercials.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue isci_code = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setIsciCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setIsciCode($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php b/src/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php
new file mode 100644
index 000000000..05835e7db
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MerchantCenterLink.php
@@ -0,0 +1,248 @@
+google.ads.googleads.v2.resources.MerchantCenterLink
+ */
+final class MerchantCenterLink extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the merchant center link.
+ * Merchant center link resource names have the form:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ */
+ private $id = null;
+ /**
+ * The name of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue merchant_center_account_name = 4;
+ */
+ private $merchant_center_account_name = null;
+ /**
+ * The status of the link.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the merchant center link.
+ * Merchant center link resource names have the form:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the Merchant Center account.
+ * This field is readonly.
+ * @type \Google\Protobuf\StringValue $merchant_center_account_name
+ * The name of the Merchant Center account.
+ * This field is readonly.
+ * @type int $status
+ * The status of the link.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the merchant center link.
+ * Merchant center link resource names have the form:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the merchant center link.
+ * Merchant center link resource names have the form:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue merchant_center_account_name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getMerchantCenterAccountName()
+ {
+ return $this->merchant_center_account_name;
+ }
+
+ /**
+ * Returns the unboxed value from getMerchantCenterAccountName()
+
+ * The name of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue merchant_center_account_name = 4;
+ * @return string|null
+ */
+ public function getMerchantCenterAccountNameUnwrapped()
+ {
+ $wrapper = $this->getMerchantCenterAccountName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue merchant_center_account_name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setMerchantCenterAccountName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->merchant_center_account_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the Merchant Center account.
+ * This field is readonly.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue merchant_center_account_name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setMerchantCenterAccountNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setMerchantCenterAccountName($wrappedVar);
+ }
+
+ /**
+ * The status of the link.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of the link.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MerchantCenterLinkStatusEnum_MerchantCenterLinkStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php b/src/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php
new file mode 100644
index 000000000..ffefbdfc2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MobileAppCategoryConstant.php
@@ -0,0 +1,201 @@
+google.ads.googleads.v2.resources.MobileAppCategoryConstant
+ */
+final class MobileAppCategoryConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the mobile app category constant.
+ * Mobile app category constant resource names have the form:
+ * `mobileAppCategoryConstants/{mobile_app_category_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the mobile app category constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Mobile app category name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the mobile app category constant.
+ * Mobile app category constant resource names have the form:
+ * `mobileAppCategoryConstants/{mobile_app_category_id}`
+ * @type \Google\Protobuf\Int32Value $id
+ * The ID of the mobile app category constant.
+ * @type \Google\Protobuf\StringValue $name
+ * Mobile app category name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MobileAppCategoryConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the mobile app category constant.
+ * Mobile app category constant resource names have the form:
+ * `mobileAppCategoryConstants/{mobile_app_category_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the mobile app category constant.
+ * Mobile app category constant resource names have the form:
+ * `mobileAppCategoryConstants/{mobile_app_category_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the mobile app category constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value id = 2;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the mobile app category constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value id = 2;
+ * @return int|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the mobile app category constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value id = 2;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * The ID of the mobile app category constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value id = 2;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Mobile app category name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Mobile app category name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Mobile app category name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Mobile app category name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php b/src/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php
new file mode 100644
index 000000000..411bca2fb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MobileDeviceConstant.php
@@ -0,0 +1,361 @@
+google.ads.googleads.v2.resources.MobileDeviceConstant
+ */
+final class MobileDeviceConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the mobile device constant.
+ * Mobile device constant resource names have the form:
+ * `mobileDeviceConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the mobile device constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The name of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The manufacturer of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manufacturer_name = 4;
+ */
+ private $manufacturer_name = null;
+ /**
+ * The operating system of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_name = 5;
+ */
+ private $operating_system_name = null;
+ /**
+ * The type of mobile device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6;
+ */
+ private $type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the mobile device constant.
+ * Mobile device constant resource names have the form:
+ * `mobileDeviceConstants/{criterion_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the mobile device constant.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the mobile device.
+ * @type \Google\Protobuf\StringValue $manufacturer_name
+ * The manufacturer of the mobile device.
+ * @type \Google\Protobuf\StringValue $operating_system_name
+ * The operating system of the mobile device.
+ * @type int $type
+ * The type of mobile device.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MobileDeviceConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the mobile device constant.
+ * Mobile device constant resource names have the form:
+ * `mobileDeviceConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the mobile device constant.
+ * Mobile device constant resource names have the form:
+ * `mobileDeviceConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the mobile device constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the mobile device constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the mobile device constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the mobile device constant.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The manufacturer of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manufacturer_name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getManufacturerName()
+ {
+ return $this->manufacturer_name;
+ }
+
+ /**
+ * Returns the unboxed value from getManufacturerName()
+
+ * The manufacturer of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manufacturer_name = 4;
+ * @return string|null
+ */
+ public function getManufacturerNameUnwrapped()
+ {
+ $wrapper = $this->getManufacturerName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The manufacturer of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manufacturer_name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setManufacturerName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->manufacturer_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The manufacturer of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue manufacturer_name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setManufacturerNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setManufacturerName($wrappedVar);
+ }
+
+ /**
+ * The operating system of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_name = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getOperatingSystemName()
+ {
+ return $this->operating_system_name;
+ }
+
+ /**
+ * Returns the unboxed value from getOperatingSystemName()
+
+ * The operating system of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_name = 5;
+ * @return string|null
+ */
+ public function getOperatingSystemNameUnwrapped()
+ {
+ $wrapper = $this->getOperatingSystemName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The operating system of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_name = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setOperatingSystemName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->operating_system_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The operating system of the mobile device.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue operating_system_name = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setOperatingSystemNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setOperatingSystemName($wrappedVar);
+ }
+
+ /**
+ * The type of mobile device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of mobile device.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MobileDeviceTypeEnum_MobileDeviceType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MutateJob.php b/src/Google/Ads/GoogleAds/V2/Resources/MutateJob.php
new file mode 100644
index 000000000..e6473607b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MutateJob.php
@@ -0,0 +1,346 @@
+google.ads.googleads.v2.resources.MutateJob
+ */
+final class MutateJob extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the mutate job.
+ * Mutate job resource names have the form:
+ * `customers/{customer_id}/mutateJobs/{mutate_job_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * ID of this mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The next sequence token to use when adding operations. Only set when the
+ * mutate job status is PENDING.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue next_add_sequence_token = 3;
+ */
+ private $next_add_sequence_token = null;
+ /**
+ * Contains additional information about this mutate job.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MutateJob.MutateJobMetadata metadata = 4;
+ */
+ private $metadata = null;
+ /**
+ * Status of this mutate job.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MutateJobStatusEnum.MutateJobStatus status = 5;
+ */
+ private $status = 0;
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion. Only set when the mutate job status is RUNNING or DONE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 6;
+ */
+ private $long_running_operation = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the mutate job.
+ * Mutate job resource names have the form:
+ * `customers/{customer_id}/mutateJobs/{mutate_job_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * ID of this mutate job.
+ * @type \Google\Protobuf\StringValue $next_add_sequence_token
+ * The next sequence token to use when adding operations. Only set when the
+ * mutate job status is PENDING.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MutateJob\MutateJobMetadata $metadata
+ * Contains additional information about this mutate job.
+ * @type int $status
+ * Status of this mutate job.
+ * @type \Google\Protobuf\StringValue $long_running_operation
+ * The resource name of the long-running operation that can be used to poll
+ * for completion. Only set when the mutate job status is RUNNING or DONE.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MutateJob::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the mutate job.
+ * Mutate job resource names have the form:
+ * `customers/{customer_id}/mutateJobs/{mutate_job_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the mutate job.
+ * Mutate job resource names have the form:
+ * `customers/{customer_id}/mutateJobs/{mutate_job_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * ID of this mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * ID of this mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * ID of this mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * ID of this mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The next sequence token to use when adding operations. Only set when the
+ * mutate job status is PENDING.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue next_add_sequence_token = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getNextAddSequenceToken()
+ {
+ return $this->next_add_sequence_token;
+ }
+
+ /**
+ * Returns the unboxed value from getNextAddSequenceToken()
+
+ * The next sequence token to use when adding operations. Only set when the
+ * mutate job status is PENDING.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue next_add_sequence_token = 3;
+ * @return string|null
+ */
+ public function getNextAddSequenceTokenUnwrapped()
+ {
+ $wrapper = $this->getNextAddSequenceToken();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The next sequence token to use when adding operations. Only set when the
+ * mutate job status is PENDING.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue next_add_sequence_token = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setNextAddSequenceToken($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->next_add_sequence_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The next sequence token to use when adding operations. Only set when the
+ * mutate job status is PENDING.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue next_add_sequence_token = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNextAddSequenceTokenUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setNextAddSequenceToken($wrappedVar);
+ }
+
+ /**
+ * Contains additional information about this mutate job.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MutateJob.MutateJobMetadata metadata = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MutateJob\MutateJobMetadata
+ */
+ public function getMetadata()
+ {
+ return $this->metadata;
+ }
+
+ /**
+ * Contains additional information about this mutate job.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MutateJob.MutateJobMetadata metadata = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MutateJob\MutateJobMetadata $var
+ * @return $this
+ */
+ public function setMetadata($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MutateJob_MutateJobMetadata::class);
+ $this->metadata = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of this mutate job.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MutateJobStatusEnum.MutateJobStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of this mutate job.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.MutateJobStatusEnum.MutateJobStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\MutateJobStatusEnum_MutateJobStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion. Only set when the mutate job status is RUNNING or DONE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLongRunningOperation()
+ {
+ return $this->long_running_operation;
+ }
+
+ /**
+ * Returns the unboxed value from getLongRunningOperation()
+
+ * The resource name of the long-running operation that can be used to poll
+ * for completion. Only set when the mutate job status is RUNNING or DONE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 6;
+ * @return string|null
+ */
+ public function getLongRunningOperationUnwrapped()
+ {
+ $wrapper = $this->getLongRunningOperation();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the long-running operation that can be used to poll
+ * for completion. Only set when the mutate job status is RUNNING or DONE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLongRunningOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->long_running_operation = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the long-running operation that can be used to poll
+ * for completion. Only set when the mutate job status is RUNNING or DONE.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue long_running_operation = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLongRunningOperationUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLongRunningOperation($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MutateJob/MutateJobMetadata.php b/src/Google/Ads/GoogleAds/V2/Resources/MutateJob/MutateJobMetadata.php
new file mode 100644
index 000000000..5a4262d3c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MutateJob/MutateJobMetadata.php
@@ -0,0 +1,376 @@
+google.ads.googleads.v2.resources.MutateJob.MutateJobMetadata
+ */
+final class MutateJobMetadata extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The time when this mutate job was created.
+ * Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 1;
+ */
+ private $creation_date_time = null;
+ /**
+ * The time when this mutate job was completed.
+ * Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue completion_date_time = 2;
+ */
+ private $completion_date_time = null;
+ /**
+ * The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ * This is empty if the job hasn't started running yet.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue estimated_completion_ratio = 3;
+ */
+ private $estimated_completion_ratio = null;
+ /**
+ * The number of mutate operations in the mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value operation_count = 4;
+ */
+ private $operation_count = null;
+ /**
+ * The number of mutate operations executed by the mutate job.
+ * Present only if the job has started running.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value executed_operation_count = 5;
+ */
+ private $executed_operation_count = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $creation_date_time
+ * The time when this mutate job was created.
+ * Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ * @type \Google\Protobuf\StringValue $completion_date_time
+ * The time when this mutate job was completed.
+ * Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ * @type \Google\Protobuf\DoubleValue $estimated_completion_ratio
+ * The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ * This is empty if the job hasn't started running yet.
+ * @type \Google\Protobuf\Int64Value $operation_count
+ * The number of mutate operations in the mutate job.
+ * @type \Google\Protobuf\Int64Value $executed_operation_count
+ * The number of mutate operations executed by the mutate job.
+ * Present only if the job has started running.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\MutateJob::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The time when this mutate job was created.
+ * Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCreationDateTime()
+ {
+ return $this->creation_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getCreationDateTime()
+
+ * The time when this mutate job was created.
+ * Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 1;
+ * @return string|null
+ */
+ public function getCreationDateTimeUnwrapped()
+ {
+ $wrapper = $this->getCreationDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The time when this mutate job was created.
+ * Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCreationDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->creation_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The time when this mutate job was created.
+ * Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date_time = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCreationDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCreationDateTime($wrappedVar);
+ }
+
+ /**
+ * The time when this mutate job was completed.
+ * Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue completion_date_time = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCompletionDateTime()
+ {
+ return $this->completion_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getCompletionDateTime()
+
+ * The time when this mutate job was completed.
+ * Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue completion_date_time = 2;
+ * @return string|null
+ */
+ public function getCompletionDateTimeUnwrapped()
+ {
+ $wrapper = $this->getCompletionDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The time when this mutate job was completed.
+ * Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue completion_date_time = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCompletionDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->completion_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The time when this mutate job was completed.
+ * Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ *
+ * Generated from protobuf field .google.protobuf.StringValue completion_date_time = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCompletionDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCompletionDateTime($wrappedVar);
+ }
+
+ /**
+ * The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ * This is empty if the job hasn't started running yet.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue estimated_completion_ratio = 3;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getEstimatedCompletionRatio()
+ {
+ return $this->estimated_completion_ratio;
+ }
+
+ /**
+ * Returns the unboxed value from getEstimatedCompletionRatio()
+
+ * The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ * This is empty if the job hasn't started running yet.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue estimated_completion_ratio = 3;
+ * @return float|null
+ */
+ public function getEstimatedCompletionRatioUnwrapped()
+ {
+ $wrapper = $this->getEstimatedCompletionRatio();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ * This is empty if the job hasn't started running yet.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue estimated_completion_ratio = 3;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setEstimatedCompletionRatio($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->estimated_completion_ratio = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ * This is empty if the job hasn't started running yet.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue estimated_completion_ratio = 3;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setEstimatedCompletionRatioUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setEstimatedCompletionRatio($wrappedVar);
+ }
+
+ /**
+ * The number of mutate operations in the mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value operation_count = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getOperationCount()
+ {
+ return $this->operation_count;
+ }
+
+ /**
+ * Returns the unboxed value from getOperationCount()
+
+ * The number of mutate operations in the mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value operation_count = 4;
+ * @return int|string|null
+ */
+ public function getOperationCountUnwrapped()
+ {
+ $wrapper = $this->getOperationCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of mutate operations in the mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value operation_count = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setOperationCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->operation_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of mutate operations in the mutate job.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value operation_count = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setOperationCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setOperationCount($wrappedVar);
+ }
+
+ /**
+ * The number of mutate operations executed by the mutate job.
+ * Present only if the job has started running.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value executed_operation_count = 5;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getExecutedOperationCount()
+ {
+ return $this->executed_operation_count;
+ }
+
+ /**
+ * Returns the unboxed value from getExecutedOperationCount()
+
+ * The number of mutate operations executed by the mutate job.
+ * Present only if the job has started running.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value executed_operation_count = 5;
+ * @return int|string|null
+ */
+ public function getExecutedOperationCountUnwrapped()
+ {
+ $wrapper = $this->getExecutedOperationCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of mutate operations executed by the mutate job.
+ * Present only if the job has started running.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value executed_operation_count = 5;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setExecutedOperationCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->executed_operation_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of mutate operations executed by the mutate job.
+ * Present only if the job has started running.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value executed_operation_count = 5;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setExecutedOperationCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setExecutedOperationCount($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(MutateJobMetadata::class, \Google\Ads\GoogleAds\V2\Resources\MutateJob_MutateJobMetadata::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/MutateJob_MutateJobMetadata.php b/src/Google/Ads/GoogleAds/V2/Resources/MutateJob_MutateJobMetadata.php
new file mode 100644
index 000000000..9d670956d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/MutateJob_MutateJobMetadata.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.OperatingSystemVersionConstant
+ */
+final class OperatingSystemVersionConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the operating system version constant.
+ * Operating system version constant resource names have the form:
+ * `operatingSystemVersionConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the operating system version.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Name of the operating system.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The OS Major Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_major_version = 4;
+ */
+ private $os_major_version = null;
+ /**
+ * The OS Minor Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_minor_version = 5;
+ */
+ private $os_minor_version = null;
+ /**
+ * Determines whether this constant represents a single version or a range of
+ * versions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6;
+ */
+ private $operator_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the operating system version constant.
+ * Operating system version constant resource names have the form:
+ * `operatingSystemVersionConstants/{criterion_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the operating system version.
+ * @type \Google\Protobuf\StringValue $name
+ * Name of the operating system.
+ * @type \Google\Protobuf\Int32Value $os_major_version
+ * The OS Major Version number.
+ * @type \Google\Protobuf\Int32Value $os_minor_version
+ * The OS Minor Version number.
+ * @type int $operator_type
+ * Determines whether this constant represents a single version or a range of
+ * versions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\OperatingSystemVersionConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the operating system version constant.
+ * Operating system version constant resource names have the form:
+ * `operatingSystemVersionConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the operating system version constant.
+ * Operating system version constant resource names have the form:
+ * `operatingSystemVersionConstants/{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the operating system version.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the operating system version.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the operating system version.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the operating system version.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Name of the operating system.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Name of the operating system.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of the operating system.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of the operating system.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The OS Major Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_major_version = 4;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getOsMajorVersion()
+ {
+ return $this->os_major_version;
+ }
+
+ /**
+ * Returns the unboxed value from getOsMajorVersion()
+
+ * The OS Major Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_major_version = 4;
+ * @return int|null
+ */
+ public function getOsMajorVersionUnwrapped()
+ {
+ $wrapper = $this->getOsMajorVersion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The OS Major Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_major_version = 4;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setOsMajorVersion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->os_major_version = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * The OS Major Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_major_version = 4;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setOsMajorVersionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setOsMajorVersion($wrappedVar);
+ }
+
+ /**
+ * The OS Minor Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_minor_version = 5;
+ * @return \Google\Protobuf\Int32Value
+ */
+ public function getOsMinorVersion()
+ {
+ return $this->os_minor_version;
+ }
+
+ /**
+ * Returns the unboxed value from getOsMinorVersion()
+
+ * The OS Minor Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_minor_version = 5;
+ * @return int|null
+ */
+ public function getOsMinorVersionUnwrapped()
+ {
+ $wrapper = $this->getOsMinorVersion();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The OS Minor Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_minor_version = 5;
+ * @param \Google\Protobuf\Int32Value $var
+ * @return $this
+ */
+ public function setOsMinorVersion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
+ $this->os_minor_version = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.
+
+ * The OS Minor Version number.
+ *
+ * Generated from protobuf field .google.protobuf.Int32Value os_minor_version = 5;
+ * @param int|null $var
+ * @return $this
+ */
+ public function setOsMinorVersionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int32Value(['value' => $var]);
+ return $this->setOsMinorVersion($wrappedVar);
+ }
+
+ /**
+ * Determines whether this constant represents a single version or a range of
+ * versions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6;
+ * @return int
+ */
+ public function getOperatorType()
+ {
+ return $this->operator_type;
+ }
+
+ /**
+ * Determines whether this constant represents a single version or a range of
+ * versions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setOperatorType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\OperatingSystemVersionOperatorTypeEnum_OperatingSystemVersionOperatorType::class);
+ $this->operator_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php b/src/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php
new file mode 100644
index 000000000..4956c3ef2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/PaidOrganicSearchTermView.php
@@ -0,0 +1,143 @@
+google.ads.googleads.v2.resources.PaidOrganicSearchTermView
+ */
+final class PaidOrganicSearchTermView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~
+ * {ad_group_id}~{URL-base64 search term}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ */
+ private $search_term = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~
+ * {ad_group_id}~{URL-base64 search term}`
+ * @type \Google\Protobuf\StringValue $search_term
+ * The search term.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\PaidOrganicSearchTermView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~
+ * {ad_group_id}~{URL-base64 search term}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~
+ * {ad_group_id}~{URL-base64 search term}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSearchTerm()
+ {
+ return $this->search_term;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchTerm()
+
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @return string|null
+ */
+ public function getSearchTermUnwrapped()
+ {
+ $wrapper = $this->getSearchTerm();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSearchTerm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->search_term = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSearchTermUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSearchTerm($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php b/src/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php
new file mode 100644
index 000000000..1bc22a57d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ParentalStatusView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.ParentalStatusView
+ */
+final class ParentalStatusView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the parental status view.
+ * Parental Status view resource names have the form:
+ * `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the parental status view.
+ * Parental Status view resource names have the form:
+ * `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ParentalStatusView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the parental status view.
+ * Parental Status view resource names have the form:
+ * `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the parental status view.
+ * Parental Status view resource names have the form:
+ * `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php b/src/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php
new file mode 100644
index 000000000..ed079eb14
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/PaymentsAccount.php
@@ -0,0 +1,414 @@
+google.ads.googleads.v2.resources.PaymentsAccount
+ */
+final class PaymentsAccount extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Payments account.
+ * PaymentsAccount resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * A 16 digit ID used to identify a Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 2;
+ */
+ private $payments_account_id = null;
+ /**
+ * The name of the Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The currency code of the Payments account.
+ * A subset of the currency codes derived from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 4;
+ */
+ private $currency_code = null;
+ /**
+ * A 12 digit ID used to identify the Payments profile associated with the
+ * Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 5;
+ */
+ private $payments_profile_id = null;
+ /**
+ * A secondary Payments profile ID present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 6;
+ */
+ private $secondary_payments_profile_id = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Payments account.
+ * PaymentsAccount resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ * @type \Google\Protobuf\StringValue $payments_account_id
+ * A 16 digit ID used to identify a Payments account.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the Payments account.
+ * @type \Google\Protobuf\StringValue $currency_code
+ * The currency code of the Payments account.
+ * A subset of the currency codes derived from the ISO 4217 standard is
+ * supported.
+ * @type \Google\Protobuf\StringValue $payments_profile_id
+ * A 12 digit ID used to identify the Payments profile associated with the
+ * Payments account.
+ * @type \Google\Protobuf\StringValue $secondary_payments_profile_id
+ * A secondary Payments profile ID present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\PaymentsAccount::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Payments account.
+ * PaymentsAccount resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Payments account.
+ * PaymentsAccount resource names have the form:
+ * `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * A 16 digit ID used to identify a Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsAccountId()
+ {
+ return $this->payments_account_id;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsAccountId()
+
+ * A 16 digit ID used to identify a Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 2;
+ * @return string|null
+ */
+ public function getPaymentsAccountIdUnwrapped()
+ {
+ $wrapper = $this->getPaymentsAccountId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A 16 digit ID used to identify a Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsAccountId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_account_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A 16 digit ID used to identify a Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_account_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsAccountIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsAccountId($wrappedVar);
+ }
+
+ /**
+ * The name of the Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The currency code of the Payments account.
+ * A subset of the currency codes derived from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrencyCode()
+
+ * The currency code of the Payments account.
+ * A subset of the currency codes derived from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 4;
+ * @return string|null
+ */
+ public function getCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The currency code of the Payments account.
+ * A subset of the currency codes derived from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The currency code of the Payments account.
+ * A subset of the currency codes derived from the ISO 4217 standard is
+ * supported.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCurrencyCode($wrappedVar);
+ }
+
+ /**
+ * A 12 digit ID used to identify the Payments profile associated with the
+ * Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getPaymentsProfileId()
+ {
+ return $this->payments_profile_id;
+ }
+
+ /**
+ * Returns the unboxed value from getPaymentsProfileId()
+
+ * A 12 digit ID used to identify the Payments profile associated with the
+ * Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 5;
+ * @return string|null
+ */
+ public function getPaymentsProfileIdUnwrapped()
+ {
+ $wrapper = $this->getPaymentsProfileId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A 12 digit ID used to identify the Payments profile associated with the
+ * Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setPaymentsProfileId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->payments_profile_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A 12 digit ID used to identify the Payments profile associated with the
+ * Payments account.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue payments_profile_id = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setPaymentsProfileIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setPaymentsProfileId($wrappedVar);
+ }
+
+ /**
+ * A secondary Payments profile ID present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSecondaryPaymentsProfileId()
+ {
+ return $this->secondary_payments_profile_id;
+ }
+
+ /**
+ * Returns the unboxed value from getSecondaryPaymentsProfileId()
+
+ * A secondary Payments profile ID present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 6;
+ * @return string|null
+ */
+ public function getSecondaryPaymentsProfileIdUnwrapped()
+ {
+ $wrapper = $this->getSecondaryPaymentsProfileId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A secondary Payments profile ID present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSecondaryPaymentsProfileId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->secondary_payments_profile_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * A secondary Payments profile ID present in uncommon situations, e.g.
+ * when a sequential liability agreement has been arranged.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue secondary_payments_profile_id = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSecondaryPaymentsProfileIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSecondaryPaymentsProfileId($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php b/src/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php
new file mode 100644
index 000000000..c34968f4e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ProductBiddingCategoryConstant.php
@@ -0,0 +1,476 @@
+google.ads.googleads.v2.resources.ProductBiddingCategoryConstant
+ */
+final class ProductBiddingCategoryConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the product bidding category.
+ * Product bidding category resource names have the form:
+ * `productBiddingCategoryConstants/{country_code}~{level}~{id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Two-letter upper-case country code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ */
+ private $country_code = null;
+ /**
+ * Resource name of the parent product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_constant_parent = 4;
+ */
+ private $product_bidding_category_constant_parent = null;
+ /**
+ * Level of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5;
+ */
+ private $level = 0;
+ /**
+ * Status of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6;
+ */
+ private $status = 0;
+ /**
+ * Language code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 7;
+ */
+ private $language_code = null;
+ /**
+ * Display value of the product bidding category localized according to
+ * language_code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue localized_name = 8;
+ */
+ private $localized_name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the product bidding category.
+ * Product bidding category resource names have the form:
+ * `productBiddingCategoryConstants/{country_code}~{level}~{id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Two-letter upper-case country code of the product bidding category.
+ * @type \Google\Protobuf\StringValue $product_bidding_category_constant_parent
+ * Resource name of the parent product bidding category.
+ * @type int $level
+ * Level of the product bidding category.
+ * @type int $status
+ * Status of the product bidding category.
+ * @type \Google\Protobuf\StringValue $language_code
+ * Language code of the product bidding category.
+ * @type \Google\Protobuf\StringValue $localized_name
+ * Display value of the product bidding category localized according to
+ * language_code.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ProductBiddingCategoryConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the product bidding category.
+ * Product bidding category resource names have the form:
+ * `productBiddingCategoryConstants/{country_code}~{level}~{id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the product bidding category.
+ * Product bidding category resource names have the form:
+ * `productBiddingCategoryConstants/{country_code}~{level}~{id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * ID of the product bidding category.
+ * This ID is equivalent to the google_product_category ID as described in
+ * this article: https://support.google.com/merchants/answer/6324436.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Two-letter upper-case country code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Two-letter upper-case country code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Two-letter upper-case country code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Two-letter upper-case country code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * Resource name of the parent product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_constant_parent = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getProductBiddingCategoryConstantParent()
+ {
+ return $this->product_bidding_category_constant_parent;
+ }
+
+ /**
+ * Returns the unboxed value from getProductBiddingCategoryConstantParent()
+
+ * Resource name of the parent product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_constant_parent = 4;
+ * @return string|null
+ */
+ public function getProductBiddingCategoryConstantParentUnwrapped()
+ {
+ $wrapper = $this->getProductBiddingCategoryConstantParent();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the parent product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_constant_parent = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryConstantParent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->product_bidding_category_constant_parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the parent product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue product_bidding_category_constant_parent = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryConstantParentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setProductBiddingCategoryConstantParent($wrappedVar);
+ }
+
+ /**
+ * Level of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5;
+ * @return int
+ */
+ public function getLevel()
+ {
+ return $this->level;
+ }
+
+ /**
+ * Level of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setLevel($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel::class);
+ $this->level = $var;
+
+ return $this;
+ }
+
+ /**
+ * Status of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Status of the product bidding category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ProductBiddingCategoryStatusEnum_ProductBiddingCategoryStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Language code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguageCode()
+
+ * Language code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 7;
+ * @return string|null
+ */
+ public function getLanguageCodeUnwrapped()
+ {
+ $wrapper = $this->getLanguageCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Language code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Language code of the product bidding category.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language_code = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguageCode($wrappedVar);
+ }
+
+ /**
+ * Display value of the product bidding category localized according to
+ * language_code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue localized_name = 8;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLocalizedName()
+ {
+ return $this->localized_name;
+ }
+
+ /**
+ * Returns the unboxed value from getLocalizedName()
+
+ * Display value of the product bidding category localized according to
+ * language_code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue localized_name = 8;
+ * @return string|null
+ */
+ public function getLocalizedNameUnwrapped()
+ {
+ $wrapper = $this->getLocalizedName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Display value of the product bidding category localized according to
+ * language_code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue localized_name = 8;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLocalizedName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->localized_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Display value of the product bidding category localized according to
+ * language_code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue localized_name = 8;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLocalizedNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLocalizedName($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php b/src/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php
new file mode 100644
index 000000000..9e726a29f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ProductGroupView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.ProductGroupView
+ */
+final class ProductGroupView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the product group view.
+ * Product group view resource names have the form:
+ * `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the product group view.
+ * Product group view resource names have the form:
+ * `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ProductGroupView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the product group view.
+ * Product group view resource names have the form:
+ * `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the product group view.
+ * Product group view resource names have the form:
+ * `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation.php
new file mode 100644
index 000000000..f06208669
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation.php
@@ -0,0 +1,868 @@
+google.ads.googleads.v2.resources.Recommendation
+ */
+final class Recommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the recommendation.
+ * `customers/{customer_id}/recommendations/{recommendation_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The type of recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.RecommendationTypeEnum.RecommendationType type = 2;
+ */
+ private $type = 0;
+ /**
+ * The impact on account performance as a result of applying the
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 3;
+ */
+ private $impact = null;
+ /**
+ * The budget targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign budget.
+ * This field will be set for the following recommendation types:
+ * CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 5;
+ */
+ private $campaign_budget = null;
+ /**
+ * The campaign targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign.
+ * This field will be set for the following recommendation types:
+ * CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD,
+ * KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
+ * OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION,
+ * TARGET_CPA_OPT_IN, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 6;
+ */
+ private $campaign = null;
+ /**
+ * The ad group targeted by this recommendation. This will be set only when
+ * the recommendation affects a single ad group.
+ * This field will be set for the following recommendation types:
+ * KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 7;
+ */
+ private $ad_group = null;
+ /**
+ * Whether the recommendation is dismissed or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue dismissed = 13;
+ */
+ private $dismissed = null;
+ protected $recommendation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the recommendation.
+ * `customers/{customer_id}/recommendations/{recommendation_id}`
+ * @type int $type
+ * The type of recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact $impact
+ * The impact on account performance as a result of applying the
+ * recommendation.
+ * @type \Google\Protobuf\StringValue $campaign_budget
+ * The budget targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign budget.
+ * This field will be set for the following recommendation types:
+ * CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+ * @type \Google\Protobuf\StringValue $campaign
+ * The campaign targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign.
+ * This field will be set for the following recommendation types:
+ * CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD,
+ * KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
+ * OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION,
+ * TARGET_CPA_OPT_IN, TEXT_AD
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group targeted by this recommendation. This will be set only when
+ * the recommendation affects a single ad group.
+ * This field will be set for the following recommendation types:
+ * KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+ * @type \Google\Protobuf\BoolValue $dismissed
+ * Whether the recommendation is dismissed or not.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation $campaign_budget_recommendation
+ * The campaign budget recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\KeywordRecommendation $keyword_recommendation
+ * The keyword recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\TextAdRecommendation $text_ad_recommendation
+ * Add expanded text ad recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\TargetCpaOptInRecommendation $target_cpa_opt_in_recommendation
+ * The TargetCPA opt-in recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\MaximizeConversionsOptInRecommendation $maximize_conversions_opt_in_recommendation
+ * The MaximizeConversions Opt-In recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\EnhancedCpcOptInRecommendation $enhanced_cpc_opt_in_recommendation
+ * The Enhanced Cost-Per-Click Opt-In recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\SearchPartnersOptInRecommendation $search_partners_opt_in_recommendation
+ * The Search Partners Opt-In recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\MaximizeClicksOptInRecommendation $maximize_clicks_opt_in_recommendation
+ * The MaximizeClicks Opt-In recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\OptimizeAdRotationRecommendation $optimize_ad_rotation_recommendation
+ * The Optimize Ad Rotation recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\CalloutExtensionRecommendation $callout_extension_recommendation
+ * The Callout extension recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\SitelinkExtensionRecommendation $sitelink_extension_recommendation
+ * The Sitelink extension recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\CallExtensionRecommendation $call_extension_recommendation
+ * The Call extension recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\KeywordMatchTypeRecommendation $keyword_match_type_recommendation
+ * The keyword match type recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\MoveUnusedBudgetRecommendation $move_unused_budget_recommendation
+ * The move unused budget recommendation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the recommendation.
+ * `customers/{customer_id}/recommendations/{recommendation_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the recommendation.
+ * `customers/{customer_id}/recommendations/{recommendation_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The type of recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.RecommendationTypeEnum.RecommendationType type = 2;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.RecommendationTypeEnum.RecommendationType type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\RecommendationTypeEnum_RecommendationType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The impact on account performance as a result of applying the
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 3;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact
+ */
+ public function getImpact()
+ {
+ return $this->impact;
+ }
+
+ /**
+ * The impact on account performance as a result of applying the
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 3;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact $var
+ * @return $this
+ */
+ public function setImpact($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationImpact::class);
+ $this->impact = $var;
+
+ return $this;
+ }
+
+ /**
+ * The budget targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign budget.
+ * This field will be set for the following recommendation types:
+ * CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaignBudget()
+ {
+ return $this->campaign_budget;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaignBudget()
+
+ * The budget targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign budget.
+ * This field will be set for the following recommendation types:
+ * CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 5;
+ * @return string|null
+ */
+ public function getCampaignBudgetUnwrapped()
+ {
+ $wrapper = $this->getCampaignBudget();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The budget targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign budget.
+ * This field will be set for the following recommendation types:
+ * CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaignBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The budget targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign budget.
+ * This field will be set for the following recommendation types:
+ * CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign_budget = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignBudgetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaignBudget($wrappedVar);
+ }
+
+ /**
+ * The campaign targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign.
+ * This field will be set for the following recommendation types:
+ * CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD,
+ * KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
+ * OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION,
+ * TARGET_CPA_OPT_IN, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getCampaign()
+
+ * The campaign targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign.
+ * This field will be set for the following recommendation types:
+ * CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD,
+ * KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
+ * OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION,
+ * TARGET_CPA_OPT_IN, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 6;
+ * @return string|null
+ */
+ public function getCampaignUnwrapped()
+ {
+ $wrapper = $this->getCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The campaign targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign.
+ * This field will be set for the following recommendation types:
+ * CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD,
+ * KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
+ * OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION,
+ * TARGET_CPA_OPT_IN, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The campaign targeted by this recommendation. This will be set only when
+ * the recommendation affects a single campaign.
+ * This field will be set for the following recommendation types:
+ * CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD,
+ * KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN,
+ * OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION,
+ * TARGET_CPA_OPT_IN, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue campaign = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCampaign($wrappedVar);
+ }
+
+ /**
+ * The ad group targeted by this recommendation. This will be set only when
+ * the recommendation affects a single ad group.
+ * This field will be set for the following recommendation types:
+ * KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group targeted by this recommendation. This will be set only when
+ * the recommendation affects a single ad group.
+ * This field will be set for the following recommendation types:
+ * KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 7;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group targeted by this recommendation. This will be set only when
+ * the recommendation affects a single ad group.
+ * This field will be set for the following recommendation types:
+ * KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group targeted by this recommendation. This will be set only when
+ * the recommendation affects a single ad group.
+ * This field will be set for the following recommendation types:
+ * KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * Whether the recommendation is dismissed or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue dismissed = 13;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getDismissed()
+ {
+ return $this->dismissed;
+ }
+
+ /**
+ * Returns the unboxed value from getDismissed()
+
+ * Whether the recommendation is dismissed or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue dismissed = 13;
+ * @return bool|null
+ */
+ public function getDismissedUnwrapped()
+ {
+ $wrapper = $this->getDismissed();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Whether the recommendation is dismissed or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue dismissed = 13;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setDismissed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->dismissed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Whether the recommendation is dismissed or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue dismissed = 13;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setDismissedUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setDismissed($wrappedVar);
+ }
+
+ /**
+ * The campaign budget recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation campaign_budget_recommendation = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation
+ */
+ public function getCampaignBudgetRecommendation()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * The campaign budget recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation campaign_budget_recommendation = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation $var
+ * @return $this
+ */
+ public function setCampaignBudgetRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CampaignBudgetRecommendation::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * The keyword recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.KeywordRecommendation keyword_recommendation = 8;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\KeywordRecommendation
+ */
+ public function getKeywordRecommendation()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * The keyword recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.KeywordRecommendation keyword_recommendation = 8;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\KeywordRecommendation $var
+ * @return $this
+ */
+ public function setKeywordRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_KeywordRecommendation::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Add expanded text ad recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.TextAdRecommendation text_ad_recommendation = 9;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\TextAdRecommendation
+ */
+ public function getTextAdRecommendation()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Add expanded text ad recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.TextAdRecommendation text_ad_recommendation = 9;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\TextAdRecommendation $var
+ * @return $this
+ */
+ public function setTextAdRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_TextAdRecommendation::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * The TargetCPA opt-in recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\TargetCpaOptInRecommendation
+ */
+ public function getTargetCpaOptInRecommendation()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * The TargetCPA opt-in recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\TargetCpaOptInRecommendation $var
+ * @return $this
+ */
+ public function setTargetCpaOptInRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_TargetCpaOptInRecommendation::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * The MaximizeConversions Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\MaximizeConversionsOptInRecommendation
+ */
+ public function getMaximizeConversionsOptInRecommendation()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * The MaximizeConversions Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\MaximizeConversionsOptInRecommendation $var
+ * @return $this
+ */
+ public function setMaximizeConversionsOptInRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_MaximizeConversionsOptInRecommendation::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * The Enhanced Cost-Per-Click Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\EnhancedCpcOptInRecommendation
+ */
+ public function getEnhancedCpcOptInRecommendation()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * The Enhanced Cost-Per-Click Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\EnhancedCpcOptInRecommendation $var
+ * @return $this
+ */
+ public function setEnhancedCpcOptInRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_EnhancedCpcOptInRecommendation::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * The Search Partners Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\SearchPartnersOptInRecommendation
+ */
+ public function getSearchPartnersOptInRecommendation()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * The Search Partners Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\SearchPartnersOptInRecommendation $var
+ * @return $this
+ */
+ public function setSearchPartnersOptInRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_SearchPartnersOptInRecommendation::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * The MaximizeClicks Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\MaximizeClicksOptInRecommendation
+ */
+ public function getMaximizeClicksOptInRecommendation()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * The MaximizeClicks Opt-In recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\MaximizeClicksOptInRecommendation $var
+ * @return $this
+ */
+ public function setMaximizeClicksOptInRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_MaximizeClicksOptInRecommendation::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * The Optimize Ad Rotation recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\OptimizeAdRotationRecommendation
+ */
+ public function getOptimizeAdRotationRecommendation()
+ {
+ return $this->readOneof(16);
+ }
+
+ /**
+ * The Optimize Ad Rotation recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\OptimizeAdRotationRecommendation $var
+ * @return $this
+ */
+ public function setOptimizeAdRotationRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_OptimizeAdRotationRecommendation::class);
+ $this->writeOneof(16, $var);
+
+ return $this;
+ }
+
+ /**
+ * The Callout extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CalloutExtensionRecommendation callout_extension_recommendation = 17;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\CalloutExtensionRecommendation
+ */
+ public function getCalloutExtensionRecommendation()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * The Callout extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CalloutExtensionRecommendation callout_extension_recommendation = 17;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\CalloutExtensionRecommendation $var
+ * @return $this
+ */
+ public function setCalloutExtensionRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CalloutExtensionRecommendation::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * The Sitelink extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.SitelinkExtensionRecommendation sitelink_extension_recommendation = 18;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\SitelinkExtensionRecommendation
+ */
+ public function getSitelinkExtensionRecommendation()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * The Sitelink extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.SitelinkExtensionRecommendation sitelink_extension_recommendation = 18;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\SitelinkExtensionRecommendation $var
+ * @return $this
+ */
+ public function setSitelinkExtensionRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_SitelinkExtensionRecommendation::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * The Call extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CallExtensionRecommendation call_extension_recommendation = 19;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\CallExtensionRecommendation
+ */
+ public function getCallExtensionRecommendation()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * The Call extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CallExtensionRecommendation call_extension_recommendation = 19;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\CallExtensionRecommendation $var
+ * @return $this
+ */
+ public function setCallExtensionRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CallExtensionRecommendation::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * The keyword match type recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\KeywordMatchTypeRecommendation
+ */
+ public function getKeywordMatchTypeRecommendation()
+ {
+ return $this->readOneof(20);
+ }
+
+ /**
+ * The keyword match type recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\KeywordMatchTypeRecommendation $var
+ * @return $this
+ */
+ public function setKeywordMatchTypeRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_KeywordMatchTypeRecommendation::class);
+ $this->writeOneof(20, $var);
+
+ return $this;
+ }
+
+ /**
+ * The move unused budget recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\MoveUnusedBudgetRecommendation
+ */
+ public function getMoveUnusedBudgetRecommendation()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * The move unused budget recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\MoveUnusedBudgetRecommendation $var
+ * @return $this
+ */
+ public function setMoveUnusedBudgetRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_MoveUnusedBudgetRecommendation::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getRecommendation()
+ {
+ return $this->whichOneof("recommendation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CallExtensionRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CallExtensionRecommendation.php
new file mode 100644
index 000000000..39d0b57af
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CallExtensionRecommendation.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.resources.Recommendation.CallExtensionRecommendation
+ */
+final class CallExtensionRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Call extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CallFeedItem recommended_extensions = 1;
+ */
+ private $recommended_extensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CallFeedItem[]|\Google\Protobuf\Internal\RepeatedField $recommended_extensions
+ * Call extensions recommended to be added.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Call extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CallFeedItem recommended_extensions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRecommendedExtensions()
+ {
+ return $this->recommended_extensions;
+ }
+
+ /**
+ * Call extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CallFeedItem recommended_extensions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CallFeedItem[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRecommendedExtensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CallFeedItem::class);
+ $this->recommended_extensions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CallExtensionRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CallExtensionRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CalloutExtensionRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CalloutExtensionRecommendation.php
new file mode 100644
index 000000000..43c32f3f1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CalloutExtensionRecommendation.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.resources.Recommendation.CalloutExtensionRecommendation
+ */
+final class CalloutExtensionRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Callout extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CalloutFeedItem recommended_extensions = 1;
+ */
+ private $recommended_extensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem[]|\Google\Protobuf\Internal\RepeatedField $recommended_extensions
+ * Callout extensions recommended to be added.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Callout extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CalloutFeedItem recommended_extensions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRecommendedExtensions()
+ {
+ return $this->recommended_extensions;
+ }
+
+ /**
+ * Callout extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CalloutFeedItem recommended_extensions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRecommendedExtensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem::class);
+ $this->recommended_extensions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CalloutExtensionRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CalloutExtensionRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation.php
new file mode 100644
index 000000000..35fa543eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation.php
@@ -0,0 +1,200 @@
+google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation
+ */
+final class CampaignBudgetRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The current budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value current_budget_amount_micros = 1;
+ */
+ private $current_budget_amount_micros = null;
+ /**
+ * The recommended budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 2;
+ */
+ private $recommended_budget_amount_micros = null;
+ /**
+ * The budget amounts and associated impact estimates for some values of
+ * possible budget amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation.CampaignBudgetRecommendationOption budget_options = 3;
+ */
+ private $budget_options;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $current_budget_amount_micros
+ * The current budget amount in micros.
+ * @type \Google\Protobuf\Int64Value $recommended_budget_amount_micros
+ * The recommended budget amount in micros.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation\CampaignBudgetRecommendationOption[]|\Google\Protobuf\Internal\RepeatedField $budget_options
+ * The budget amounts and associated impact estimates for some values of
+ * possible budget amounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The current budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value current_budget_amount_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCurrentBudgetAmountMicros()
+ {
+ return $this->current_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrentBudgetAmountMicros()
+
+ * The current budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value current_budget_amount_micros = 1;
+ * @return int|string|null
+ */
+ public function getCurrentBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getCurrentBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The current budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value current_budget_amount_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCurrentBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->current_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The current budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value current_budget_amount_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCurrentBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCurrentBudgetAmountMicros($wrappedVar);
+ }
+
+ /**
+ * The recommended budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetAmountMicros()
+ {
+ return $this->recommended_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetAmountMicros()
+
+ * The recommended budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 2;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended budget amount in micros.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetAmountMicros($wrappedVar);
+ }
+
+ /**
+ * The budget amounts and associated impact estimates for some values of
+ * possible budget amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation.CampaignBudgetRecommendationOption budget_options = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getBudgetOptions()
+ {
+ return $this->budget_options;
+ }
+
+ /**
+ * The budget amounts and associated impact estimates for some values of
+ * possible budget amounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation.CampaignBudgetRecommendationOption budget_options = 3;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation\CampaignBudgetRecommendationOption[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setBudgetOptions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation\CampaignBudgetRecommendationOption::class);
+ $this->budget_options = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CampaignBudgetRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CampaignBudgetRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation/CampaignBudgetRecommendationOption.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation/CampaignBudgetRecommendationOption.php
new file mode 100644
index 000000000..ba8672aa7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/CampaignBudgetRecommendation/CampaignBudgetRecommendationOption.php
@@ -0,0 +1,137 @@
+google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation.CampaignBudgetRecommendationOption
+ */
+final class CampaignBudgetRecommendationOption extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The budget amount for this option.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_amount_micros = 1;
+ */
+ private $budget_amount_micros = null;
+ /**
+ * The impact estimate if budget is changed to amount specified in this
+ * option.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 2;
+ */
+ private $impact = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $budget_amount_micros
+ * The budget amount for this option.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact $impact
+ * The impact estimate if budget is changed to amount specified in this
+ * option.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The budget amount for this option.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_amount_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getBudgetAmountMicros()
+ {
+ return $this->budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getBudgetAmountMicros()
+
+ * The budget amount for this option.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_amount_micros = 1;
+ * @return int|string|null
+ */
+ public function getBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The budget amount for this option.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_amount_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The budget amount for this option.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_amount_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setBudgetAmountMicros($wrappedVar);
+ }
+
+ /**
+ * The impact estimate if budget is changed to amount specified in this
+ * option.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact
+ */
+ public function getImpact()
+ {
+ return $this->impact;
+ }
+
+ /**
+ * The impact estimate if budget is changed to amount specified in this
+ * option.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact $var
+ * @return $this
+ */
+ public function setImpact($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationImpact::class);
+ $this->impact = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CampaignBudgetRecommendationOption::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CampaignBudgetRecommendation_CampaignBudgetRecommendationOption::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/EnhancedCpcOptInRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/EnhancedCpcOptInRecommendation.php
new file mode 100644
index 000000000..21700ac6f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/EnhancedCpcOptInRecommendation.php
@@ -0,0 +1,36 @@
+google.ads.googleads.v2.resources.Recommendation.EnhancedCpcOptInRecommendation
+ */
+final class EnhancedCpcOptInRecommendation extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(EnhancedCpcOptInRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_EnhancedCpcOptInRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordMatchTypeRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordMatchTypeRecommendation.php
new file mode 100644
index 000000000..8dbe73f23
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordMatchTypeRecommendation.php
@@ -0,0 +1,104 @@
+google.ads.googleads.v2.resources.Recommendation.KeywordMatchTypeRecommendation
+ */
+final class KeywordMatchTypeRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The existing keyword where the match type should be more broad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 1;
+ */
+ private $keyword = null;
+ /**
+ * The recommended new match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2;
+ */
+ private $recommended_match_type = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $keyword
+ * The existing keyword where the match type should be more broad.
+ * @type int $recommended_match_type
+ * The recommended new match type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The existing keyword where the match type should be more broad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getKeyword()
+ {
+ return $this->keyword;
+ }
+
+ /**
+ * The existing keyword where the match type should be more broad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * The recommended new match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2;
+ * @return int
+ */
+ public function getRecommendedMatchType()
+ {
+ return $this->recommended_match_type;
+ }
+
+ /**
+ * The recommended new match type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setRecommendedMatchType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum_KeywordMatchType::class);
+ $this->recommended_match_type = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(KeywordMatchTypeRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_KeywordMatchTypeRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordRecommendation.php
new file mode 100644
index 000000000..6b5f4d86b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/KeywordRecommendation.php
@@ -0,0 +1,133 @@
+google.ads.googleads.v2.resources.Recommendation.KeywordRecommendation
+ */
+final class KeywordRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The recommended keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 1;
+ */
+ private $keyword = null;
+ /**
+ * The recommended CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
+ */
+ private $recommended_cpc_bid_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $keyword
+ * The recommended keyword.
+ * @type \Google\Protobuf\Int64Value $recommended_cpc_bid_micros
+ * The recommended CPC (cost-per-click) bid.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The recommended keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 1;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getKeyword()
+ {
+ return $this->keyword;
+ }
+
+ /**
+ * The recommended keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * The recommended CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedCpcBidMicros()
+ {
+ return $this->recommended_cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedCpcBidMicros()
+
+ * The recommended CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
+ * @return int|string|null
+ */
+ public function getRecommendedCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended CPC (cost-per-click) bid.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedCpcBidMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(KeywordRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_KeywordRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeClicksOptInRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeClicksOptInRecommendation.php
new file mode 100644
index 000000000..7e18e1a58
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeClicksOptInRecommendation.php
@@ -0,0 +1,105 @@
+google.ads.googleads.v2.resources.Recommendation.MaximizeClicksOptInRecommendation
+ */
+final class MaximizeClicksOptInRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The recommended new budget amount.
+ * Only set if the current budget is too high.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ */
+ private $recommended_budget_amount_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $recommended_budget_amount_micros
+ * The recommended new budget amount.
+ * Only set if the current budget is too high.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The recommended new budget amount.
+ * Only set if the current budget is too high.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetAmountMicros()
+ {
+ return $this->recommended_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetAmountMicros()
+
+ * The recommended new budget amount.
+ * Only set if the current budget is too high.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended new budget amount.
+ * Only set if the current budget is too high.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended new budget amount.
+ * Only set if the current budget is too high.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetAmountMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(MaximizeClicksOptInRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_MaximizeClicksOptInRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeConversionsOptInRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeConversionsOptInRecommendation.php
new file mode 100644
index 000000000..a2f84b0c2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MaximizeConversionsOptInRecommendation.php
@@ -0,0 +1,99 @@
+google.ads.googleads.v2.resources.Recommendation.MaximizeConversionsOptInRecommendation
+ */
+final class MaximizeConversionsOptInRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The recommended new budget amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ */
+ private $recommended_budget_amount_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $recommended_budget_amount_micros
+ * The recommended new budget amount.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The recommended new budget amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedBudgetAmountMicros()
+ {
+ return $this->recommended_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedBudgetAmountMicros()
+
+ * The recommended new budget amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @return int|string|null
+ */
+ public function getRecommendedBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended new budget amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended new budget amount.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedBudgetAmountMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(MaximizeConversionsOptInRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_MaximizeConversionsOptInRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MoveUnusedBudgetRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MoveUnusedBudgetRecommendation.php
new file mode 100644
index 000000000..2ddc1fd47
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/MoveUnusedBudgetRecommendation.php
@@ -0,0 +1,133 @@
+google.ads.googleads.v2.resources.Recommendation.MoveUnusedBudgetRecommendation
+ */
+final class MoveUnusedBudgetRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The excess budget's resource_name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue excess_campaign_budget = 1;
+ */
+ private $excess_campaign_budget = null;
+ /**
+ * The recommendation for the constrained budget to increase.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation budget_recommendation = 2;
+ */
+ private $budget_recommendation = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $excess_campaign_budget
+ * The excess budget's resource_name.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation $budget_recommendation
+ * The recommendation for the constrained budget to increase.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The excess budget's resource_name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue excess_campaign_budget = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExcessCampaignBudget()
+ {
+ return $this->excess_campaign_budget;
+ }
+
+ /**
+ * Returns the unboxed value from getExcessCampaignBudget()
+
+ * The excess budget's resource_name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue excess_campaign_budget = 1;
+ * @return string|null
+ */
+ public function getExcessCampaignBudgetUnwrapped()
+ {
+ $wrapper = $this->getExcessCampaignBudget();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The excess budget's resource_name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue excess_campaign_budget = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExcessCampaignBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->excess_campaign_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The excess budget's resource_name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue excess_campaign_budget = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExcessCampaignBudgetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExcessCampaignBudget($wrappedVar);
+ }
+
+ /**
+ * The recommendation for the constrained budget to increase.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation budget_recommendation = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation
+ */
+ public function getBudgetRecommendation()
+ {
+ return $this->budget_recommendation;
+ }
+
+ /**
+ * The recommendation for the constrained budget to increase.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.CampaignBudgetRecommendation budget_recommendation = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\CampaignBudgetRecommendation $var
+ * @return $this
+ */
+ public function setBudgetRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_CampaignBudgetRecommendation::class);
+ $this->budget_recommendation = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(MoveUnusedBudgetRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_MoveUnusedBudgetRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/OptimizeAdRotationRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/OptimizeAdRotationRecommendation.php
new file mode 100644
index 000000000..ba989e413
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/OptimizeAdRotationRecommendation.php
@@ -0,0 +1,36 @@
+google.ads.googleads.v2.resources.Recommendation.OptimizeAdRotationRecommendation
+ */
+final class OptimizeAdRotationRecommendation extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(OptimizeAdRotationRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_OptimizeAdRotationRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationImpact.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationImpact.php
new file mode 100644
index 000000000..fdc5c8d3f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationImpact.php
@@ -0,0 +1,105 @@
+google.ads.googleads.v2.resources.Recommendation.RecommendationImpact
+ */
+final class RecommendationImpact extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Base metrics at the time the recommendation was generated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics base_metrics = 1;
+ */
+ private $base_metrics = null;
+ /**
+ * Estimated metrics if the recommendation is applied.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics potential_metrics = 2;
+ */
+ private $potential_metrics = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationMetrics $base_metrics
+ * Base metrics at the time the recommendation was generated.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationMetrics $potential_metrics
+ * Estimated metrics if the recommendation is applied.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Base metrics at the time the recommendation was generated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics base_metrics = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationMetrics
+ */
+ public function getBaseMetrics()
+ {
+ return $this->base_metrics;
+ }
+
+ /**
+ * Base metrics at the time the recommendation was generated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics base_metrics = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationMetrics $var
+ * @return $this
+ */
+ public function setBaseMetrics($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationMetrics::class);
+ $this->base_metrics = $var;
+
+ return $this;
+ }
+
+ /**
+ * Estimated metrics if the recommendation is applied.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics potential_metrics = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationMetrics
+ */
+ public function getPotentialMetrics()
+ {
+ return $this->potential_metrics;
+ }
+
+ /**
+ * Estimated metrics if the recommendation is applied.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics potential_metrics = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationMetrics $var
+ * @return $this
+ */
+ public function setPotentialMetrics($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationMetrics::class);
+ $this->potential_metrics = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(RecommendationImpact::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationImpact::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationMetrics.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationMetrics.php
new file mode 100644
index 000000000..d4c2ab733
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/RecommendationMetrics.php
@@ -0,0 +1,352 @@
+google.ads.googleads.v2.resources.Recommendation.RecommendationMetrics
+ */
+final class RecommendationMetrics extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Number of ad impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ */
+ private $impressions = null;
+ /**
+ * Number of ad clicks.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 2;
+ */
+ private $clicks = null;
+ /**
+ * Cost (in micros) for advertising, in the local currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 3;
+ */
+ private $cost_micros = null;
+ /**
+ * Number of conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 4;
+ */
+ private $conversions = null;
+ /**
+ * Number of video views for a video ad campaign.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_views = 5;
+ */
+ private $video_views = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $impressions
+ * Number of ad impressions.
+ * @type \Google\Protobuf\DoubleValue $clicks
+ * Number of ad clicks.
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * Cost (in micros) for advertising, in the local currency for the account.
+ * @type \Google\Protobuf\DoubleValue $conversions
+ * Number of conversions.
+ * @type \Google\Protobuf\DoubleValue $video_views
+ * Number of video views for a video ad campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Number of ad impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Number of ad impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @return float|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of ad impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number of ad impressions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * Number of ad clicks.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getClicks()
+ {
+ return $this->clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getClicks()
+
+ * Number of ad clicks.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 2;
+ * @return float|null
+ */
+ public function getClicksUnwrapped()
+ {
+ $wrapper = $this->getClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of ad clicks.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number of ad clicks.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setClicks($wrappedVar);
+ }
+
+ /**
+ * Cost (in micros) for advertising, in the local currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * Cost (in micros) for advertising, in the local currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 3;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Cost (in micros) for advertising, in the local currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Cost (in micros) for advertising, in the local currency for the account.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+ /**
+ * Number of conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 4;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversions()
+ {
+ return $this->conversions;
+ }
+
+ /**
+ * Returns the unboxed value from getConversions()
+
+ * Number of conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 4;
+ * @return float|null
+ */
+ public function getConversionsUnwrapped()
+ {
+ $wrapper = $this->getConversions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 4;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number of conversions.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversions = 4;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversions($wrappedVar);
+ }
+
+ /**
+ * Number of video views for a video ad campaign.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_views = 5;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getVideoViews()
+ {
+ return $this->video_views;
+ }
+
+ /**
+ * Returns the unboxed value from getVideoViews()
+
+ * Number of video views for a video ad campaign.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_views = 5;
+ * @return float|null
+ */
+ public function getVideoViewsUnwrapped()
+ {
+ $wrapper = $this->getVideoViews();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of video views for a video ad campaign.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_views = 5;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setVideoViews($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->video_views = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Number of video views for a video ad campaign.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue video_views = 5;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setVideoViewsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setVideoViews($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(RecommendationMetrics::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationMetrics::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SearchPartnersOptInRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SearchPartnersOptInRecommendation.php
new file mode 100644
index 000000000..a1f57a856
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SearchPartnersOptInRecommendation.php
@@ -0,0 +1,36 @@
+google.ads.googleads.v2.resources.Recommendation.SearchPartnersOptInRecommendation
+ */
+final class SearchPartnersOptInRecommendation extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(SearchPartnersOptInRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_SearchPartnersOptInRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SitelinkExtensionRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SitelinkExtensionRecommendation.php
new file mode 100644
index 000000000..9c12c3d72
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/SitelinkExtensionRecommendation.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.resources.Recommendation.SitelinkExtensionRecommendation
+ */
+final class SitelinkExtensionRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Sitelink extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.SitelinkFeedItem recommended_extensions = 1;
+ */
+ private $recommended_extensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem[]|\Google\Protobuf\Internal\RepeatedField $recommended_extensions
+ * Sitelink extensions recommended to be added.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Sitelink extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.SitelinkFeedItem recommended_extensions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRecommendedExtensions()
+ {
+ return $this->recommended_extensions;
+ }
+
+ /**
+ * Sitelink extensions recommended to be added.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.SitelinkFeedItem recommended_extensions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRecommendedExtensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem::class);
+ $this->recommended_extensions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(SitelinkExtensionRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_SitelinkExtensionRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation.php
new file mode 100644
index 000000000..0f5e7e26e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation
+ */
+final class TargetCpaOptInRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The available goals and corresponding options for Target CPA strategy.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation.TargetCpaOptInRecommendationOption options = 1;
+ */
+ private $options;
+ /**
+ * The recommended average CPA target. See required budget amount and impact
+ * of using this recommendation in options list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_target_cpa_micros = 2;
+ */
+ private $recommended_target_cpa_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\TargetCpaOptInRecommendation\TargetCpaOptInRecommendationOption[]|\Google\Protobuf\Internal\RepeatedField $options
+ * The available goals and corresponding options for Target CPA strategy.
+ * @type \Google\Protobuf\Int64Value $recommended_target_cpa_micros
+ * The recommended average CPA target. See required budget amount and impact
+ * of using this recommendation in options list.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The available goals and corresponding options for Target CPA strategy.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation.TargetCpaOptInRecommendationOption options = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOptions()
+ {
+ return $this->options;
+ }
+
+ /**
+ * The available goals and corresponding options for Target CPA strategy.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation.TargetCpaOptInRecommendationOption options = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\TargetCpaOptInRecommendation\TargetCpaOptInRecommendationOption[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOptions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\Recommendation\TargetCpaOptInRecommendation\TargetCpaOptInRecommendationOption::class);
+ $this->options = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The recommended average CPA target. See required budget amount and impact
+ * of using this recommendation in options list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_target_cpa_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRecommendedTargetCpaMicros()
+ {
+ return $this->recommended_target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRecommendedTargetCpaMicros()
+
+ * The recommended average CPA target. See required budget amount and impact
+ * of using this recommendation in options list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_target_cpa_micros = 2;
+ * @return int|string|null
+ */
+ public function getRecommendedTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getRecommendedTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The recommended average CPA target. See required budget amount and impact
+ * of using this recommendation in options list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_target_cpa_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRecommendedTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->recommended_target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The recommended average CPA target. See required budget amount and impact
+ * of using this recommendation in options list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value recommended_target_cpa_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRecommendedTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRecommendedTargetCpaMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TargetCpaOptInRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_TargetCpaOptInRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation/TargetCpaOptInRecommendationOption.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation/TargetCpaOptInRecommendationOption.php
new file mode 100644
index 000000000..d746edb53
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TargetCpaOptInRecommendation/TargetCpaOptInRecommendationOption.php
@@ -0,0 +1,248 @@
+google.ads.googleads.v2.resources.Recommendation.TargetCpaOptInRecommendation.TargetCpaOptInRecommendationOption
+ */
+final class TargetCpaOptInRecommendationOption extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The goal achieved by this option.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1;
+ */
+ private $goal = 0;
+ /**
+ * Average CPA target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 2;
+ */
+ private $target_cpa_micros = null;
+ /**
+ * The minimum campaign budget, in local currency for the account,
+ * required to achieve the target CPA.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
+ */
+ private $required_campaign_budget_amount_micros = null;
+ /**
+ * The impact estimate if this option is selected.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 4;
+ */
+ private $impact = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $goal
+ * The goal achieved by this option.
+ * @type \Google\Protobuf\Int64Value $target_cpa_micros
+ * Average CPA target.
+ * @type \Google\Protobuf\Int64Value $required_campaign_budget_amount_micros
+ * The minimum campaign budget, in local currency for the account,
+ * required to achieve the target CPA.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact $impact
+ * The impact estimate if this option is selected.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The goal achieved by this option.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1;
+ * @return int
+ */
+ public function getGoal()
+ {
+ return $this->goal;
+ }
+
+ /**
+ * The goal achieved by this option.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setGoal($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\TargetCpaOptInRecommendationGoalEnum_TargetCpaOptInRecommendationGoal::class);
+ $this->goal = $var;
+
+ return $this;
+ }
+
+ /**
+ * Average CPA target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetCpaMicros()
+ {
+ return $this->target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetCpaMicros()
+
+ * Average CPA target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 2;
+ * @return int|string|null
+ */
+ public function getTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average CPA target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Average CPA target.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetCpaMicros($wrappedVar);
+ }
+
+ /**
+ * The minimum campaign budget, in local currency for the account,
+ * required to achieve the target CPA.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getRequiredCampaignBudgetAmountMicros()
+ {
+ return $this->required_campaign_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getRequiredCampaignBudgetAmountMicros()
+
+ * The minimum campaign budget, in local currency for the account,
+ * required to achieve the target CPA.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
+ * @return int|string|null
+ */
+ public function getRequiredCampaignBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getRequiredCampaignBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The minimum campaign budget, in local currency for the account,
+ * required to achieve the target CPA.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setRequiredCampaignBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->required_campaign_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The minimum campaign budget, in local currency for the account,
+ * required to achieve the target CPA.
+ * Amount is specified in micros, where one million is equivalent to one
+ * currency unit.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setRequiredCampaignBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setRequiredCampaignBudgetAmountMicros($wrappedVar);
+ }
+
+ /**
+ * The impact estimate if this option is selected.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact
+ */
+ public function getImpact()
+ {
+ return $this->impact;
+ }
+
+ /**
+ * The impact estimate if this option is selected.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation.RecommendationImpact impact = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation\RecommendationImpact $var
+ * @return $this
+ */
+ public function setImpact($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation_RecommendationImpact::class);
+ $this->impact = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TargetCpaOptInRecommendationOption::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_TargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TextAdRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TextAdRecommendation.php
new file mode 100644
index 000000000..7612f1a52
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation/TextAdRecommendation.php
@@ -0,0 +1,214 @@
+google.ads.googleads.v2.resources.Recommendation.TextAdRecommendation
+ */
+final class TextAdRecommendation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Recommended ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 1;
+ */
+ private $ad = null;
+ /**
+ * Creation date of the recommended ad.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date = 2;
+ */
+ private $creation_date = null;
+ /**
+ * Date, if present, is the earliest when the recommendation will be auto
+ * applied.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue auto_apply_date = 3;
+ */
+ private $auto_apply_date = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Ad $ad
+ * Recommended ad.
+ * @type \Google\Protobuf\StringValue $creation_date
+ * Creation date of the recommended ad.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ * @type \Google\Protobuf\StringValue $auto_apply_date
+ * Date, if present, is the earliest when the recommendation will be auto
+ * applied.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Recommendation::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Recommended ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Ad
+ */
+ public function getAd()
+ {
+ return $this->ad;
+ }
+
+ /**
+ * Recommended ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Ad $var
+ * @return $this
+ */
+ public function setAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Ad::class);
+ $this->ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * Creation date of the recommended ad.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCreationDate()
+ {
+ return $this->creation_date;
+ }
+
+ /**
+ * Returns the unboxed value from getCreationDate()
+
+ * Creation date of the recommended ad.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date = 2;
+ * @return string|null
+ */
+ public function getCreationDateUnwrapped()
+ {
+ $wrapper = $this->getCreationDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Creation date of the recommended ad.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCreationDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->creation_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Creation date of the recommended ad.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue creation_date = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCreationDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCreationDate($wrappedVar);
+ }
+
+ /**
+ * Date, if present, is the earliest when the recommendation will be auto
+ * applied.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue auto_apply_date = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAutoApplyDate()
+ {
+ return $this->auto_apply_date;
+ }
+
+ /**
+ * Returns the unboxed value from getAutoApplyDate()
+
+ * Date, if present, is the earliest when the recommendation will be auto
+ * applied.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue auto_apply_date = 3;
+ * @return string|null
+ */
+ public function getAutoApplyDateUnwrapped()
+ {
+ $wrapper = $this->getAutoApplyDate();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Date, if present, is the earliest when the recommendation will be auto
+ * applied.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue auto_apply_date = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAutoApplyDate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->auto_apply_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Date, if present, is the earliest when the recommendation will be auto
+ * applied.
+ * YYYY-MM-DD format, e.g., 2018-04-17.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue auto_apply_date = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAutoApplyDateUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAutoApplyDate($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TextAdRecommendation::class, \Google\Ads\GoogleAds\V2\Resources\Recommendation_TextAdRecommendation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CallExtensionRecommendation.php b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CallExtensionRecommendation.php
new file mode 100644
index 000000000..ab06be494
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Recommendation_CallExtensionRecommendation.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.resources.RemarketingAction
+ */
+final class RemarketingAction extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the remarketing action.
+ * Remarketing action resource names have the form:
+ * `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Id of the remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The name of the remarketing action.
+ * This field is required and should not be empty when creating new
+ * remarketing actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ */
+ private $name = null;
+ /**
+ * The snippets used for tracking remarketing actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TagSnippet tag_snippets = 4;
+ */
+ private $tag_snippets;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the remarketing action.
+ * Remarketing action resource names have the form:
+ * `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * Id of the remarketing action.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the remarketing action.
+ * This field is required and should not be empty when creating new
+ * remarketing actions.
+ * @type \Google\Ads\GoogleAds\V2\Common\TagSnippet[]|\Google\Protobuf\Internal\RepeatedField $tag_snippets
+ * The snippets used for tracking remarketing actions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\RemarketingAction::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the remarketing action.
+ * Remarketing action resource names have the form:
+ * `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the remarketing action.
+ * Remarketing action resource names have the form:
+ * `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Id of the remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * Id of the remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the remarketing action.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The name of the remarketing action.
+ * This field is required and should not be empty when creating new
+ * remarketing actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the remarketing action.
+ * This field is required and should not be empty when creating new
+ * remarketing actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the remarketing action.
+ * This field is required and should not be empty when creating new
+ * remarketing actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the remarketing action.
+ * This field is required and should not be empty when creating new
+ * remarketing actions.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The snippets used for tracking remarketing actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TagSnippet tag_snippets = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTagSnippets()
+ {
+ return $this->tag_snippets;
+ }
+
+ /**
+ * The snippets used for tracking remarketing actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.TagSnippet tag_snippets = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\TagSnippet[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTagSnippets($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\TagSnippet::class);
+ $this->tag_snippets = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/RemarketingSetting.php b/src/Google/Ads/GoogleAds/V2/Resources/RemarketingSetting.php
new file mode 100644
index 000000000..822ac7f81
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/RemarketingSetting.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.resources.RemarketingSetting
+ */
+final class RemarketingSetting extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Google global site tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue google_global_site_tag = 1;
+ */
+ private $google_global_site_tag = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $google_global_site_tag
+ * The Google global site tag.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Customer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Google global site tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue google_global_site_tag = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGoogleGlobalSiteTag()
+ {
+ return $this->google_global_site_tag;
+ }
+
+ /**
+ * Returns the unboxed value from getGoogleGlobalSiteTag()
+
+ * The Google global site tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue google_global_site_tag = 1;
+ * @return string|null
+ */
+ public function getGoogleGlobalSiteTagUnwrapped()
+ {
+ $wrapper = $this->getGoogleGlobalSiteTag();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Google global site tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue google_global_site_tag = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGoogleGlobalSiteTag($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->google_global_site_tag = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Google global site tag.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue google_global_site_tag = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGoogleGlobalSiteTagUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGoogleGlobalSiteTag($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php b/src/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php
new file mode 100644
index 000000000..52ce211bc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/SearchTermView.php
@@ -0,0 +1,240 @@
+google.ads.googleads.v2.resources.SearchTermView
+ */
+final class SearchTermView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ */
+ private $search_term = null;
+ /**
+ * The ad group the search term served in.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ */
+ private $ad_group = null;
+ /**
+ * Indicates whether the search term is currently one of your
+ * targeted or excluded keywords.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4;
+ */
+ private $status = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`
+ * @type \Google\Protobuf\StringValue $search_term
+ * The search term.
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group the search term served in.
+ * @type int $status
+ * Indicates whether the search term is currently one of your
+ * targeted or excluded keywords.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\SearchTermView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the search term view.
+ * Search term view resource names have the form:
+ * `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSearchTerm()
+ {
+ return $this->search_term;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchTerm()
+
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @return string|null
+ */
+ public function getSearchTermUnwrapped()
+ {
+ $wrapper = $this->getSearchTerm();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSearchTerm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->search_term = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The search term.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSearchTermUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSearchTerm($wrappedVar);
+ }
+
+ /**
+ * The ad group the search term served in.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group the search term served in.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group the search term served in.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group the search term served in.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * Indicates whether the search term is currently one of your
+ * targeted or excluded keywords.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Indicates whether the search term is currently one of your
+ * targeted or excluded keywords.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SearchTermTargetingStatusEnum_SearchTermTargetingStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php b/src/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php
new file mode 100644
index 000000000..8372ddb10
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/SharedCriterion.php
@@ -0,0 +1,418 @@
+google.ads.googleads.v2.resources.SharedCriterion
+ */
+final class SharedCriterion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the shared criterion.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The shared set to which the shared criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 2;
+ */
+ private $shared_set = null;
+ /**
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ */
+ private $criterion_id = null;
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 4;
+ */
+ private $type = 0;
+ protected $criterion;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the shared criterion.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ * @type \Google\Protobuf\StringValue $shared_set
+ * The shared set to which the shared criterion belongs.
+ * @type \Google\Protobuf\Int64Value $criterion_id
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ * @type int $type
+ * The type of the criterion.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordInfo $keyword
+ * Keyword.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $youtube_video
+ * YouTube Video.
+ * @type \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $youtube_channel
+ * YouTube Channel.
+ * @type \Google\Ads\GoogleAds\V2\Common\PlacementInfo $placement
+ * Placement.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $mobile_app_category
+ * Mobile App Category.
+ * @type \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $mobile_application
+ * Mobile application.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\SharedCriterion::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the shared criterion.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the shared criterion.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The shared set to which the shared criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSharedSet()
+ {
+ return $this->shared_set;
+ }
+
+ /**
+ * Returns the unboxed value from getSharedSet()
+
+ * The shared set to which the shared criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 2;
+ * @return string|null
+ */
+ public function getSharedSetUnwrapped()
+ {
+ $wrapper = $this->getSharedSet();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The shared set to which the shared criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSharedSet($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->shared_set = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The shared set to which the shared criterion belongs.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue shared_set = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSharedSetUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSharedSet($wrappedVar);
+ }
+
+ /**
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCriterionId()
+ {
+ return $this->criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCriterionId()
+
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @return int|string|null
+ */
+ public function getCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the criterion.
+ * This field is ignored for mutates.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value criterion_id = 26;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCriterionId($wrappedVar);
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 4;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of the criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\CriterionTypeEnum_CriterionType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordInfo
+ */
+ public function getKeyword()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordInfo keyword = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordInfo $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordInfo::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo
+ */
+ public function getYoutubeVideo()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * YouTube Video.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo $var
+ * @return $this
+ */
+ public function setYoutubeVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeVideoInfo::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 6;
+ * @return \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo
+ */
+ public function getYoutubeChannel()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * YouTube Channel.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 6;
+ * @param \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo $var
+ * @return $this
+ */
+ public function setYoutubeChannel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\YouTubeChannelInfo::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 7;
+ * @return \Google\Ads\GoogleAds\V2\Common\PlacementInfo
+ */
+ public function getPlacement()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Placement.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PlacementInfo placement = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\PlacementInfo $var
+ * @return $this
+ */
+ public function setPlacement($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PlacementInfo::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile App Category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 8;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo
+ */
+ public function getMobileAppCategory()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Mobile App Category.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 8;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo $var
+ * @return $this
+ */
+ public function setMobileAppCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileAppCategoryInfo::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Mobile application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 9;
+ * @return \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo
+ */
+ public function getMobileApplication()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Mobile application.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 9;
+ * @param \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo $var
+ * @return $this
+ */
+ public function setMobileApplication($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\MobileApplicationInfo::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCriterion()
+ {
+ return $this->whichOneof("criterion");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/SharedSet.php b/src/Google/Ads/GoogleAds/V2/Resources/SharedSet.php
new file mode 100644
index 000000000..c9da961ed
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/SharedSet.php
@@ -0,0 +1,424 @@
+google.ads.googleads.v2.resources.SharedSet
+ */
+final class SharedSet extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the shared set.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * The type of this shared set: each shared set holds only a single kind
+ * of resource. Required. Immutable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SharedSetTypeEnum.SharedSetType type = 3;
+ */
+ private $type = 0;
+ /**
+ * The name of this shared set. Required.
+ * Shared Sets must have names that are unique among active shared sets of
+ * the same type.
+ * The length of this string should be between 1 and 255 UTF-8 bytes,
+ * inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The status of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SharedSetStatusEnum.SharedSetStatus status = 5;
+ */
+ private $status = 0;
+ /**
+ * The number of shared criteria within this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value member_count = 6;
+ */
+ private $member_count = null;
+ /**
+ * The number of campaigns associated with this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 7;
+ */
+ private $reference_count = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the shared set.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of this shared set. Read only.
+ * @type int $type
+ * The type of this shared set: each shared set holds only a single kind
+ * of resource. Required. Immutable.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of this shared set. Required.
+ * Shared Sets must have names that are unique among active shared sets of
+ * the same type.
+ * The length of this string should be between 1 and 255 UTF-8 bytes,
+ * inclusive.
+ * @type int $status
+ * The status of this shared set. Read only.
+ * @type \Google\Protobuf\Int64Value $member_count
+ * The number of shared criteria within this shared set. Read only.
+ * @type \Google\Protobuf\Int64Value $reference_count
+ * The number of campaigns associated with this shared set. Read only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\SharedSet::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the shared set.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the shared set.
+ * Shared set resource names have the form:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The type of this shared set: each shared set holds only a single kind
+ * of resource. Required. Immutable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SharedSetTypeEnum.SharedSetType type = 3;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * The type of this shared set: each shared set holds only a single kind
+ * of resource. Required. Immutable.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SharedSetTypeEnum.SharedSetType type = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SharedSetTypeEnum_SharedSetType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name of this shared set. Required.
+ * Shared Sets must have names that are unique among active shared sets of
+ * the same type.
+ * The length of this string should be between 1 and 255 UTF-8 bytes,
+ * inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of this shared set. Required.
+ * Shared Sets must have names that are unique among active shared sets of
+ * the same type.
+ * The length of this string should be between 1 and 255 UTF-8 bytes,
+ * inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of this shared set. Required.
+ * Shared Sets must have names that are unique among active shared sets of
+ * the same type.
+ * The length of this string should be between 1 and 255 UTF-8 bytes,
+ * inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of this shared set. Required.
+ * Shared Sets must have names that are unique among active shared sets of
+ * the same type.
+ * The length of this string should be between 1 and 255 UTF-8 bytes,
+ * inclusive.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The status of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SharedSetStatusEnum.SharedSetStatus status = 5;
+ * @return int
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * The status of this shared set. Read only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.SharedSetStatusEnum.SharedSetStatus status = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\SharedSetStatusEnum_SharedSetStatus::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of shared criteria within this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value member_count = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMemberCount()
+ {
+ return $this->member_count;
+ }
+
+ /**
+ * Returns the unboxed value from getMemberCount()
+
+ * The number of shared criteria within this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value member_count = 6;
+ * @return int|string|null
+ */
+ public function getMemberCountUnwrapped()
+ {
+ $wrapper = $this->getMemberCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of shared criteria within this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value member_count = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMemberCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->member_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of shared criteria within this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value member_count = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMemberCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMemberCount($wrappedVar);
+ }
+
+ /**
+ * The number of campaigns associated with this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 7;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getReferenceCount()
+ {
+ return $this->reference_count;
+ }
+
+ /**
+ * Returns the unboxed value from getReferenceCount()
+
+ * The number of campaigns associated with this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 7;
+ * @return int|string|null
+ */
+ public function getReferenceCountUnwrapped()
+ {
+ $wrapper = $this->getReferenceCount();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The number of campaigns associated with this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 7;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setReferenceCount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->reference_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The number of campaigns associated with this shared set. Read only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reference_count = 7;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setReferenceCountUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setReferenceCount($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php b/src/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php
new file mode 100644
index 000000000..c52ea2c8b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/ShoppingPerformanceView.php
@@ -0,0 +1,80 @@
+google.ads.googleads.v2.resources.ShoppingPerformanceView
+ */
+final class ShoppingPerformanceView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Shopping performance view.
+ * Shopping performance view resource names have the form:
+ * `customers/{customer_id}/shoppingPerformanceView`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Shopping performance view.
+ * Shopping performance view resource names have the form:
+ * `customers/{customer_id}/shoppingPerformanceView`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\ShoppingPerformanceView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Shopping performance view.
+ * Shopping performance view resource names have the form:
+ * `customers/{customer_id}/shoppingPerformanceView`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Shopping performance view.
+ * Shopping performance view resource names have the form:
+ * `customers/{customer_id}/shoppingPerformanceView`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php b/src/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php
new file mode 100644
index 000000000..54d550e1f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/TopicConstant.php
@@ -0,0 +1,253 @@
+google.ads.googleads.v2.resources.TopicConstant
+ */
+final class TopicConstant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the topic constant.
+ * topic constant resource names have the form:
+ * `topicConstants/{topic_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the topic.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * Resource name of parent of the topic constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant_parent = 3;
+ */
+ private $topic_constant_parent = null;
+ /**
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * {"Pets & Animals", "Pets", "Dogs"} represents the
+ * "Pets & Animals/Pets/Dogs" category. List of available topic categories at
+ * https://developers.google.com/adwords/api/docs/appendix/verticals
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue path = 4;
+ */
+ private $path;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the topic constant.
+ * topic constant resource names have the form:
+ * `topicConstants/{topic_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * The ID of the topic.
+ * @type \Google\Protobuf\StringValue $topic_constant_parent
+ * Resource name of parent of the topic constant.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $path
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * {"Pets & Animals", "Pets", "Dogs"} represents the
+ * "Pets & Animals/Pets/Dogs" category. List of available topic categories at
+ * https://developers.google.com/adwords/api/docs/appendix/verticals
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\TopicConstant::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the topic constant.
+ * topic constant resource names have the form:
+ * `topicConstants/{topic_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the topic constant.
+ * topic constant resource names have the form:
+ * `topicConstants/{topic_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the topic.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the topic.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the topic.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the topic.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * Resource name of parent of the topic constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant_parent = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTopicConstantParent()
+ {
+ return $this->topic_constant_parent;
+ }
+
+ /**
+ * Returns the unboxed value from getTopicConstantParent()
+
+ * Resource name of parent of the topic constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant_parent = 3;
+ * @return string|null
+ */
+ public function getTopicConstantParentUnwrapped()
+ {
+ $wrapper = $this->getTopicConstantParent();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of parent of the topic constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant_parent = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTopicConstantParent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->topic_constant_parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of parent of the topic constant.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue topic_constant_parent = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTopicConstantParentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTopicConstantParent($wrappedVar);
+ }
+
+ /**
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * {"Pets & Animals", "Pets", "Dogs"} represents the
+ * "Pets & Animals/Pets/Dogs" category. List of available topic categories at
+ * https://developers.google.com/adwords/api/docs/appendix/verticals
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue path = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPath()
+ {
+ return $this->path;
+ }
+
+ /**
+ * The category to target or exclude. Each subsequent element in the array
+ * describes a more specific sub-category. For example,
+ * {"Pets & Animals", "Pets", "Dogs"} represents the
+ * "Pets & Animals/Pets/Dogs" category. List of available topic categories at
+ * https://developers.google.com/adwords/api/docs/appendix/verticals
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue path = 4;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPath($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->path = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/TopicView.php b/src/Google/Ads/GoogleAds/V2/Resources/TopicView.php
new file mode 100644
index 000000000..904ee83ba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/TopicView.php
@@ -0,0 +1,75 @@
+google.ads.googleads.v2.resources.TopicView
+ */
+final class TopicView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the topic view.
+ * Topic view resource names have the form:
+ * `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the topic view.
+ * Topic view resource names have the form:
+ * `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\TopicView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the topic view.
+ * Topic view resource names have the form:
+ * `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the topic view.
+ * Topic view resource names have the form:
+ * `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/UserInterest.php b/src/Google/Ads/GoogleAds/V2/Resources/UserInterest.php
new file mode 100644
index 000000000..81c69d529
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/UserInterest.php
@@ -0,0 +1,395 @@
+google.ads.googleads.v2.resources.UserInterest
+ */
+final class UserInterest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the user interest.
+ * User interest resource names have the form:
+ * `customers/{customer_id}/userInterests/{user_interest_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Taxonomy type of the user interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2;
+ */
+ private $taxonomy_type = 0;
+ /**
+ * The ID of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value user_interest_id = 3;
+ */
+ private $user_interest_id = null;
+ /**
+ * The name of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * The parent of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_parent = 5;
+ */
+ private $user_interest_parent = null;
+ /**
+ * True if the user interest is launched to all channels and locales.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue launched_to_all = 6;
+ */
+ private $launched_to_all = null;
+ /**
+ * Availability information of the user interest.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CriterionCategoryAvailability availabilities = 7;
+ */
+ private $availabilities;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the user interest.
+ * User interest resource names have the form:
+ * `customers/{customer_id}/userInterests/{user_interest_id}`
+ * @type int $taxonomy_type
+ * Taxonomy type of the user interest.
+ * @type \Google\Protobuf\Int64Value $user_interest_id
+ * The ID of the user interest.
+ * @type \Google\Protobuf\StringValue $name
+ * The name of the user interest.
+ * @type \Google\Protobuf\StringValue $user_interest_parent
+ * The parent of the user interest.
+ * @type \Google\Protobuf\BoolValue $launched_to_all
+ * True if the user interest is launched to all channels and locales.
+ * @type \Google\Ads\GoogleAds\V2\Common\CriterionCategoryAvailability[]|\Google\Protobuf\Internal\RepeatedField $availabilities
+ * Availability information of the user interest.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\UserInterest::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the user interest.
+ * User interest resource names have the form:
+ * `customers/{customer_id}/userInterests/{user_interest_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the user interest.
+ * User interest resource names have the form:
+ * `customers/{customer_id}/userInterests/{user_interest_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Taxonomy type of the user interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2;
+ * @return int
+ */
+ public function getTaxonomyType()
+ {
+ return $this->taxonomy_type;
+ }
+
+ /**
+ * Taxonomy type of the user interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setTaxonomyType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType::class);
+ $this->taxonomy_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value user_interest_id = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getUserInterestId()
+ {
+ return $this->user_interest_id;
+ }
+
+ /**
+ * Returns the unboxed value from getUserInterestId()
+
+ * The ID of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value user_interest_id = 3;
+ * @return int|string|null
+ */
+ public function getUserInterestIdUnwrapped()
+ {
+ $wrapper = $this->getUserInterestId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value user_interest_id = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setUserInterestId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->user_interest_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The ID of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value user_interest_id = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setUserInterestIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setUserInterestId($wrappedVar);
+ }
+
+ /**
+ * The name of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * The name of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The name of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The name of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * The parent of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_parent = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUserInterestParent()
+ {
+ return $this->user_interest_parent;
+ }
+
+ /**
+ * Returns the unboxed value from getUserInterestParent()
+
+ * The parent of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_parent = 5;
+ * @return string|null
+ */
+ public function getUserInterestParentUnwrapped()
+ {
+ $wrapper = $this->getUserInterestParent();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The parent of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_parent = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUserInterestParent($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->user_interest_parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The parent of the user interest.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue user_interest_parent = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUserInterestParentUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUserInterestParent($wrappedVar);
+ }
+
+ /**
+ * True if the user interest is launched to all channels and locales.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue launched_to_all = 6;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getLaunchedToAll()
+ {
+ return $this->launched_to_all;
+ }
+
+ /**
+ * Returns the unboxed value from getLaunchedToAll()
+
+ * True if the user interest is launched to all channels and locales.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue launched_to_all = 6;
+ * @return bool|null
+ */
+ public function getLaunchedToAllUnwrapped()
+ {
+ $wrapper = $this->getLaunchedToAll();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * True if the user interest is launched to all channels and locales.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue launched_to_all = 6;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setLaunchedToAll($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->launched_to_all = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * True if the user interest is launched to all channels and locales.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue launched_to_all = 6;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setLaunchedToAllUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setLaunchedToAll($wrappedVar);
+ }
+
+ /**
+ * Availability information of the user interest.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CriterionCategoryAvailability availabilities = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAvailabilities()
+ {
+ return $this->availabilities;
+ }
+
+ /**
+ * Availability information of the user interest.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CriterionCategoryAvailability availabilities = 7;
+ * @param \Google\Ads\GoogleAds\V2\Common\CriterionCategoryAvailability[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAvailabilities($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CriterionCategoryAvailability::class);
+ $this->availabilities = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/UserList.php b/src/Google/Ads/GoogleAds/V2/Resources/UserList.php
new file mode 100644
index 000000000..73f899a90
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/UserList.php
@@ -0,0 +1,1237 @@
+google.ads.googleads.v2.resources.UserList
+ */
+final class UserList extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the user list.
+ * User list resource names have the form:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Id of the user list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ */
+ private $id = null;
+ /**
+ * A flag that indicates if a user may edit a list. Depends on the list
+ * ownership and list type. For example, external remarketing user lists are
+ * not editable.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue read_only = 3;
+ */
+ private $read_only = null;
+ /**
+ * Name of this user list. Depending on its access_reason, the user list name
+ * may not be unique (e.g. if access_reason=SHARED)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ */
+ private $name = null;
+ /**
+ * Description of this user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ */
+ private $description = null;
+ /**
+ * Membership status of this user list. Indicates whether a user list is open
+ * or active. Only open user lists can accumulate more users and can be
+ * targeted to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6;
+ */
+ private $membership_status = 0;
+ /**
+ * An ID from external system. It is used by user list sellers to correlate
+ * IDs on their systems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue integration_code = 7;
+ */
+ private $integration_code = null;
+ /**
+ * Number of days a user's cookie stays on your list since its most recent
+ * addition to the list. This field must be between 0 and 540 inclusive.
+ * However, for CRM based userlists, this field can be set to 10000 which
+ * means no expiration.
+ * It'll be ignored for logical_user_list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value membership_life_span = 8;
+ */
+ private $membership_life_span = null;
+ /**
+ * Estimated number of users in this user list, on the Google Display Network.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_display = 9;
+ */
+ private $size_for_display = null;
+ /**
+ * Size range in terms of number of users of the UserList, on the Google
+ * Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10;
+ */
+ private $size_range_for_display = 0;
+ /**
+ * Estimated number of users in this user list in the google.com domain.
+ * These are the users available for targeting in Search campaigns.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_search = 11;
+ */
+ private $size_for_search = null;
+ /**
+ * Size range in terms of number of users of the UserList, for Search ads.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12;
+ */
+ private $size_range_for_search = 0;
+ /**
+ * Type of this list.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListTypeEnum.UserListType type = 13;
+ */
+ private $type = 0;
+ /**
+ * Indicating the reason why this user list membership status is closed. It is
+ * only populated on lists that were automatically closed due to inactivity,
+ * and will be cleared once the list membership status becomes open.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14;
+ */
+ private $closing_reason = 0;
+ /**
+ * Indicates the reason this account has been granted access to the list.
+ * The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccessReasonEnum.AccessReason access_reason = 15;
+ */
+ private $access_reason = 0;
+ /**
+ * Indicates if this share is still enabled. When a UserList is shared with
+ * the user this field is set to ENABLED. Later the userList owner can decide
+ * to revoke the share and make it DISABLED.
+ * The default value of this field is set to ENABLED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16;
+ */
+ private $account_user_list_status = 0;
+ /**
+ * Indicates if this user list is eligible for Google Search Network.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_search = 17;
+ */
+ private $eligible_for_search = null;
+ /**
+ * Indicates this user list is eligible for Google Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_display = 18;
+ */
+ private $eligible_for_display = null;
+ protected $user_list;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the user list.
+ * User list resource names have the form:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ * @type \Google\Protobuf\Int64Value $id
+ * Id of the user list.
+ * @type \Google\Protobuf\BoolValue $read_only
+ * A flag that indicates if a user may edit a list. Depends on the list
+ * ownership and list type. For example, external remarketing user lists are
+ * not editable.
+ * This field is read-only.
+ * @type \Google\Protobuf\StringValue $name
+ * Name of this user list. Depending on its access_reason, the user list name
+ * may not be unique (e.g. if access_reason=SHARED)
+ * @type \Google\Protobuf\StringValue $description
+ * Description of this user list.
+ * @type int $membership_status
+ * Membership status of this user list. Indicates whether a user list is open
+ * or active. Only open user lists can accumulate more users and can be
+ * targeted to.
+ * @type \Google\Protobuf\StringValue $integration_code
+ * An ID from external system. It is used by user list sellers to correlate
+ * IDs on their systems.
+ * @type \Google\Protobuf\Int64Value $membership_life_span
+ * Number of days a user's cookie stays on your list since its most recent
+ * addition to the list. This field must be between 0 and 540 inclusive.
+ * However, for CRM based userlists, this field can be set to 10000 which
+ * means no expiration.
+ * It'll be ignored for logical_user_list.
+ * @type \Google\Protobuf\Int64Value $size_for_display
+ * Estimated number of users in this user list, on the Google Display Network.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ * @type int $size_range_for_display
+ * Size range in terms of number of users of the UserList, on the Google
+ * Display Network.
+ * This field is read-only.
+ * @type \Google\Protobuf\Int64Value $size_for_search
+ * Estimated number of users in this user list in the google.com domain.
+ * These are the users available for targeting in Search campaigns.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ * @type int $size_range_for_search
+ * Size range in terms of number of users of the UserList, for Search ads.
+ * This field is read-only.
+ * @type int $type
+ * Type of this list.
+ * This field is read-only.
+ * @type int $closing_reason
+ * Indicating the reason why this user list membership status is closed. It is
+ * only populated on lists that were automatically closed due to inactivity,
+ * and will be cleared once the list membership status becomes open.
+ * @type int $access_reason
+ * Indicates the reason this account has been granted access to the list.
+ * The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED.
+ * This field is read-only.
+ * @type int $account_user_list_status
+ * Indicates if this share is still enabled. When a UserList is shared with
+ * the user this field is set to ENABLED. Later the userList owner can decide
+ * to revoke the share and make it DISABLED.
+ * The default value of this field is set to ENABLED.
+ * @type \Google\Protobuf\BoolValue $eligible_for_search
+ * Indicates if this user list is eligible for Google Search Network.
+ * @type \Google\Protobuf\BoolValue $eligible_for_display
+ * Indicates this user list is eligible for Google Display Network.
+ * This field is read-only.
+ * @type \Google\Ads\GoogleAds\V2\Common\CrmBasedUserListInfo $crm_based_user_list
+ * User list of CRM users provided by the advertiser.
+ * @type \Google\Ads\GoogleAds\V2\Common\SimilarUserListInfo $similar_user_list
+ * User list which are similar to users from another UserList.
+ * These lists are readonly and automatically created by google.
+ * @type \Google\Ads\GoogleAds\V2\Common\RuleBasedUserListInfo $rule_based_user_list
+ * User list generated by a rule.
+ * @type \Google\Ads\GoogleAds\V2\Common\LogicalUserListInfo $logical_user_list
+ * User list that is a custom combination of user lists and user interests.
+ * @type \Google\Ads\GoogleAds\V2\Common\BasicUserListInfo $basic_user_list
+ * User list targeting as a collection of conversion or remarketing actions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\UserList::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the user list.
+ * User list resource names have the form:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the user list.
+ * User list resource names have the form:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Id of the user list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * Id of the user list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @return int|string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Id of the user list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Id of the user list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * A flag that indicates if a user may edit a list. Depends on the list
+ * ownership and list type. For example, external remarketing user lists are
+ * not editable.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue read_only = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getReadOnly()
+ {
+ return $this->read_only;
+ }
+
+ /**
+ * Returns the unboxed value from getReadOnly()
+
+ * A flag that indicates if a user may edit a list. Depends on the list
+ * ownership and list type. For example, external remarketing user lists are
+ * not editable.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue read_only = 3;
+ * @return bool|null
+ */
+ public function getReadOnlyUnwrapped()
+ {
+ $wrapper = $this->getReadOnly();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * A flag that indicates if a user may edit a list. Depends on the list
+ * ownership and list type. For example, external remarketing user lists are
+ * not editable.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue read_only = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setReadOnly($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->read_only = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * A flag that indicates if a user may edit a list. Depends on the list
+ * ownership and list type. For example, external remarketing user lists are
+ * not editable.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue read_only = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setReadOnlyUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setReadOnly($wrappedVar);
+ }
+
+ /**
+ * Name of this user list. Depending on its access_reason, the user list name
+ * may not be unique (e.g. if access_reason=SHARED)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns the unboxed value from getName()
+
+ * Name of this user list. Depending on its access_reason, the user list name
+ * may not be unique (e.g. if access_reason=SHARED)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @return string|null
+ */
+ public function getNameUnwrapped()
+ {
+ $wrapper = $this->getName();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Name of this user list. Depending on its access_reason, the user list name
+ * may not be unique (e.g. if access_reason=SHARED)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Name of this user list. Depending on its access_reason, the user list name
+ * may not be unique (e.g. if access_reason=SHARED)
+ *
+ * Generated from protobuf field .google.protobuf.StringValue name = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setNameUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setName($wrappedVar);
+ }
+
+ /**
+ * Description of this user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Returns the unboxed value from getDescription()
+
+ * Description of this user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @return string|null
+ */
+ public function getDescriptionUnwrapped()
+ {
+ $wrapper = $this->getDescription();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Description of this user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setDescription($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->description = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Description of this user list.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue description = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setDescriptionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setDescription($wrappedVar);
+ }
+
+ /**
+ * Membership status of this user list. Indicates whether a user list is open
+ * or active. Only open user lists can accumulate more users and can be
+ * targeted to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6;
+ * @return int
+ */
+ public function getMembershipStatus()
+ {
+ return $this->membership_status;
+ }
+
+ /**
+ * Membership status of this user list. Indicates whether a user list is open
+ * or active. Only open user lists can accumulate more users and can be
+ * targeted to.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6;
+ * @param int $var
+ * @return $this
+ */
+ public function setMembershipStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListMembershipStatusEnum_UserListMembershipStatus::class);
+ $this->membership_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * An ID from external system. It is used by user list sellers to correlate
+ * IDs on their systems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue integration_code = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getIntegrationCode()
+ {
+ return $this->integration_code;
+ }
+
+ /**
+ * Returns the unboxed value from getIntegrationCode()
+
+ * An ID from external system. It is used by user list sellers to correlate
+ * IDs on their systems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue integration_code = 7;
+ * @return string|null
+ */
+ public function getIntegrationCodeUnwrapped()
+ {
+ $wrapper = $this->getIntegrationCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * An ID from external system. It is used by user list sellers to correlate
+ * IDs on their systems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue integration_code = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setIntegrationCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->integration_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * An ID from external system. It is used by user list sellers to correlate
+ * IDs on their systems.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue integration_code = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setIntegrationCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setIntegrationCode($wrappedVar);
+ }
+
+ /**
+ * Number of days a user's cookie stays on your list since its most recent
+ * addition to the list. This field must be between 0 and 540 inclusive.
+ * However, for CRM based userlists, this field can be set to 10000 which
+ * means no expiration.
+ * It'll be ignored for logical_user_list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value membership_life_span = 8;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getMembershipLifeSpan()
+ {
+ return $this->membership_life_span;
+ }
+
+ /**
+ * Returns the unboxed value from getMembershipLifeSpan()
+
+ * Number of days a user's cookie stays on your list since its most recent
+ * addition to the list. This field must be between 0 and 540 inclusive.
+ * However, for CRM based userlists, this field can be set to 10000 which
+ * means no expiration.
+ * It'll be ignored for logical_user_list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value membership_life_span = 8;
+ * @return int|string|null
+ */
+ public function getMembershipLifeSpanUnwrapped()
+ {
+ $wrapper = $this->getMembershipLifeSpan();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Number of days a user's cookie stays on your list since its most recent
+ * addition to the list. This field must be between 0 and 540 inclusive.
+ * However, for CRM based userlists, this field can be set to 10000 which
+ * means no expiration.
+ * It'll be ignored for logical_user_list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value membership_life_span = 8;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setMembershipLifeSpan($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->membership_life_span = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Number of days a user's cookie stays on your list since its most recent
+ * addition to the list. This field must be between 0 and 540 inclusive.
+ * However, for CRM based userlists, this field can be set to 10000 which
+ * means no expiration.
+ * It'll be ignored for logical_user_list.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value membership_life_span = 8;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setMembershipLifeSpanUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setMembershipLifeSpan($wrappedVar);
+ }
+
+ /**
+ * Estimated number of users in this user list, on the Google Display Network.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_display = 9;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getSizeForDisplay()
+ {
+ return $this->size_for_display;
+ }
+
+ /**
+ * Returns the unboxed value from getSizeForDisplay()
+
+ * Estimated number of users in this user list, on the Google Display Network.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_display = 9;
+ * @return int|string|null
+ */
+ public function getSizeForDisplayUnwrapped()
+ {
+ $wrapper = $this->getSizeForDisplay();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Estimated number of users in this user list, on the Google Display Network.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_display = 9;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setSizeForDisplay($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->size_for_display = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Estimated number of users in this user list, on the Google Display Network.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_display = 9;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setSizeForDisplayUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setSizeForDisplay($wrappedVar);
+ }
+
+ /**
+ * Size range in terms of number of users of the UserList, on the Google
+ * Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10;
+ * @return int
+ */
+ public function getSizeRangeForDisplay()
+ {
+ return $this->size_range_for_display;
+ }
+
+ /**
+ * Size range in terms of number of users of the UserList, on the Google
+ * Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10;
+ * @param int $var
+ * @return $this
+ */
+ public function setSizeRangeForDisplay($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListSizeRangeEnum_UserListSizeRange::class);
+ $this->size_range_for_display = $var;
+
+ return $this;
+ }
+
+ /**
+ * Estimated number of users in this user list in the google.com domain.
+ * These are the users available for targeting in Search campaigns.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_search = 11;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getSizeForSearch()
+ {
+ return $this->size_for_search;
+ }
+
+ /**
+ * Returns the unboxed value from getSizeForSearch()
+
+ * Estimated number of users in this user list in the google.com domain.
+ * These are the users available for targeting in Search campaigns.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_search = 11;
+ * @return int|string|null
+ */
+ public function getSizeForSearchUnwrapped()
+ {
+ $wrapper = $this->getSizeForSearch();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Estimated number of users in this user list in the google.com domain.
+ * These are the users available for targeting in Search campaigns.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_search = 11;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setSizeForSearch($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->size_for_search = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Estimated number of users in this user list in the google.com domain.
+ * These are the users available for targeting in Search campaigns.
+ * This value is null if the number of users has not yet been determined.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value size_for_search = 11;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setSizeForSearchUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setSizeForSearch($wrappedVar);
+ }
+
+ /**
+ * Size range in terms of number of users of the UserList, for Search ads.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12;
+ * @return int
+ */
+ public function getSizeRangeForSearch()
+ {
+ return $this->size_range_for_search;
+ }
+
+ /**
+ * Size range in terms of number of users of the UserList, for Search ads.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setSizeRangeForSearch($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListSizeRangeEnum_UserListSizeRange::class);
+ $this->size_range_for_search = $var;
+
+ return $this;
+ }
+
+ /**
+ * Type of this list.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListTypeEnum.UserListType type = 13;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of this list.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListTypeEnum.UserListType type = 13;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListTypeEnum_UserListType::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicating the reason why this user list membership status is closed. It is
+ * only populated on lists that were automatically closed due to inactivity,
+ * and will be cleared once the list membership status becomes open.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14;
+ * @return int
+ */
+ public function getClosingReason()
+ {
+ return $this->closing_reason;
+ }
+
+ /**
+ * Indicating the reason why this user list membership status is closed. It is
+ * only populated on lists that were automatically closed due to inactivity,
+ * and will be cleared once the list membership status becomes open.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14;
+ * @param int $var
+ * @return $this
+ */
+ public function setClosingReason($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListClosingReasonEnum_UserListClosingReason::class);
+ $this->closing_reason = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicates the reason this account has been granted access to the list.
+ * The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccessReasonEnum.AccessReason access_reason = 15;
+ * @return int
+ */
+ public function getAccessReason()
+ {
+ return $this->access_reason;
+ }
+
+ /**
+ * Indicates the reason this account has been granted access to the list.
+ * The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccessReasonEnum.AccessReason access_reason = 15;
+ * @param int $var
+ * @return $this
+ */
+ public function setAccessReason($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AccessReasonEnum_AccessReason::class);
+ $this->access_reason = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicates if this share is still enabled. When a UserList is shared with
+ * the user this field is set to ENABLED. Later the userList owner can decide
+ * to revoke the share and make it DISABLED.
+ * The default value of this field is set to ENABLED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16;
+ * @return int
+ */
+ public function getAccountUserListStatus()
+ {
+ return $this->account_user_list_status;
+ }
+
+ /**
+ * Indicates if this share is still enabled. When a UserList is shared with
+ * the user this field is set to ENABLED. Later the userList owner can decide
+ * to revoke the share and make it DISABLED.
+ * The default value of this field is set to ENABLED.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16;
+ * @param int $var
+ * @return $this
+ */
+ public function setAccountUserListStatus($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\UserListAccessStatusEnum_UserListAccessStatus::class);
+ $this->account_user_list_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * Indicates if this user list is eligible for Google Search Network.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_search = 17;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getEligibleForSearch()
+ {
+ return $this->eligible_for_search;
+ }
+
+ /**
+ * Returns the unboxed value from getEligibleForSearch()
+
+ * Indicates if this user list is eligible for Google Search Network.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_search = 17;
+ * @return bool|null
+ */
+ public function getEligibleForSearchUnwrapped()
+ {
+ $wrapper = $this->getEligibleForSearch();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates if this user list is eligible for Google Search Network.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_search = 17;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setEligibleForSearch($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->eligible_for_search = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates if this user list is eligible for Google Search Network.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_search = 17;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setEligibleForSearchUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setEligibleForSearch($wrappedVar);
+ }
+
+ /**
+ * Indicates this user list is eligible for Google Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_display = 18;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getEligibleForDisplay()
+ {
+ return $this->eligible_for_display;
+ }
+
+ /**
+ * Returns the unboxed value from getEligibleForDisplay()
+
+ * Indicates this user list is eligible for Google Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_display = 18;
+ * @return bool|null
+ */
+ public function getEligibleForDisplayUnwrapped()
+ {
+ $wrapper = $this->getEligibleForDisplay();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates this user list is eligible for Google Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_display = 18;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setEligibleForDisplay($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->eligible_for_display = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates this user list is eligible for Google Display Network.
+ * This field is read-only.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue eligible_for_display = 18;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setEligibleForDisplayUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setEligibleForDisplay($wrappedVar);
+ }
+
+ /**
+ * User list of CRM users provided by the advertiser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CrmBasedUserListInfo crm_based_user_list = 19;
+ * @return \Google\Ads\GoogleAds\V2\Common\CrmBasedUserListInfo
+ */
+ public function getCrmBasedUserList()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * User list of CRM users provided by the advertiser.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.CrmBasedUserListInfo crm_based_user_list = 19;
+ * @param \Google\Ads\GoogleAds\V2\Common\CrmBasedUserListInfo $var
+ * @return $this
+ */
+ public function setCrmBasedUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\CrmBasedUserListInfo::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * User list which are similar to users from another UserList.
+ * These lists are readonly and automatically created by google.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.SimilarUserListInfo similar_user_list = 20;
+ * @return \Google\Ads\GoogleAds\V2\Common\SimilarUserListInfo
+ */
+ public function getSimilarUserList()
+ {
+ return $this->readOneof(20);
+ }
+
+ /**
+ * User list which are similar to users from another UserList.
+ * These lists are readonly and automatically created by google.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.SimilarUserListInfo similar_user_list = 20;
+ * @param \Google\Ads\GoogleAds\V2\Common\SimilarUserListInfo $var
+ * @return $this
+ */
+ public function setSimilarUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\SimilarUserListInfo::class);
+ $this->writeOneof(20, $var);
+
+ return $this;
+ }
+
+ /**
+ * User list generated by a rule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.RuleBasedUserListInfo rule_based_user_list = 21;
+ * @return \Google\Ads\GoogleAds\V2\Common\RuleBasedUserListInfo
+ */
+ public function getRuleBasedUserList()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * User list generated by a rule.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.RuleBasedUserListInfo rule_based_user_list = 21;
+ * @param \Google\Ads\GoogleAds\V2\Common\RuleBasedUserListInfo $var
+ * @return $this
+ */
+ public function setRuleBasedUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\RuleBasedUserListInfo::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * User list that is a custom combination of user lists and user interests.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LogicalUserListInfo logical_user_list = 22;
+ * @return \Google\Ads\GoogleAds\V2\Common\LogicalUserListInfo
+ */
+ public function getLogicalUserList()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * User list that is a custom combination of user lists and user interests.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.LogicalUserListInfo logical_user_list = 22;
+ * @param \Google\Ads\GoogleAds\V2\Common\LogicalUserListInfo $var
+ * @return $this
+ */
+ public function setLogicalUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\LogicalUserListInfo::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * User list targeting as a collection of conversion or remarketing actions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.BasicUserListInfo basic_user_list = 23;
+ * @return \Google\Ads\GoogleAds\V2\Common\BasicUserListInfo
+ */
+ public function getBasicUserList()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * User list targeting as a collection of conversion or remarketing actions.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.BasicUserListInfo basic_user_list = 23;
+ * @param \Google\Ads\GoogleAds\V2\Common\BasicUserListInfo $var
+ * @return $this
+ */
+ public function setBasicUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\BasicUserListInfo::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getUserList()
+ {
+ return $this->whichOneof("user_list");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php b/src/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php
new file mode 100644
index 000000000..317b4db56
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/UserLocationView.php
@@ -0,0 +1,205 @@
+google.ads.googleads.v2.resources.UserLocationView
+ */
+final class UserLocationView extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the user location view.
+ * UserLocation view resource names have the form:
+ * `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 2;
+ */
+ private $country_criterion_id = null;
+ /**
+ * Indicates whether location was targeted or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targeting_location = 3;
+ */
+ private $targeting_location = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the user location view.
+ * UserLocation view resource names have the form:
+ * `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`
+ * @type \Google\Protobuf\Int64Value $country_criterion_id
+ * Criterion Id for the country.
+ * @type \Google\Protobuf\BoolValue $targeting_location
+ * Indicates whether location was targeted or not.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\UserLocationView::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the user location view.
+ * UserLocation view resource names have the form:
+ * `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the user location view.
+ * UserLocation view resource names have the form:
+ * `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCountryCriterionId()
+ {
+ return $this->country_criterion_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCriterionId()
+
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 2;
+ * @return int|string|null
+ */
+ public function getCountryCriterionIdUnwrapped()
+ {
+ $wrapper = $this->getCountryCriterionId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCountryCriterionId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->country_criterion_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Criterion Id for the country.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value country_criterion_id = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCountryCriterionIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCountryCriterionId($wrappedVar);
+ }
+
+ /**
+ * Indicates whether location was targeted or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targeting_location = 3;
+ * @return \Google\Protobuf\BoolValue
+ */
+ public function getTargetingLocation()
+ {
+ return $this->targeting_location;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetingLocation()
+
+ * Indicates whether location was targeted or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targeting_location = 3;
+ * @return bool|null
+ */
+ public function getTargetingLocationUnwrapped()
+ {
+ $wrapper = $this->getTargetingLocation();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Indicates whether location was targeted or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targeting_location = 3;
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setTargetingLocation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->targeting_location = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Indicates whether location was targeted or not.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue targeting_location = 3;
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setTargetingLocationUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\BoolValue(['value' => $var]);
+ return $this->setTargetingLocation($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Resources/Video.php b/src/Google/Ads/GoogleAds/V2/Resources/Video.php
new file mode 100644
index 000000000..fa7ff5776
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Resources/Video.php
@@ -0,0 +1,327 @@
+google.ads.googleads.v2.resources.Video
+ */
+final class Video extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the video.
+ * Video resource names have the form:
+ * `customers/{customer_id}/videos/{video_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * The ID of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue id = 2;
+ */
+ private $id = null;
+ /**
+ * The owner channel id of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 3;
+ */
+ private $channel_id = null;
+ /**
+ * The duration of the video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value duration_millis = 4;
+ */
+ private $duration_millis = null;
+ /**
+ * The title of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue title = 5;
+ */
+ private $title = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the video.
+ * Video resource names have the form:
+ * `customers/{customer_id}/videos/{video_id}`
+ * @type \Google\Protobuf\StringValue $id
+ * The ID of the video.
+ * @type \Google\Protobuf\StringValue $channel_id
+ * The owner channel id of the video.
+ * @type \Google\Protobuf\Int64Value $duration_millis
+ * The duration of the video in milliseconds.
+ * @type \Google\Protobuf\StringValue $title
+ * The title of the video.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Resources\Video::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the video.
+ * Video resource names have the form:
+ * `customers/{customer_id}/videos/{video_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the video.
+ * Video resource names have the form:
+ * `customers/{customer_id}/videos/{video_id}`
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ID of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the unboxed value from getId()
+
+ * The ID of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue id = 2;
+ * @return string|null
+ */
+ public function getIdUnwrapped()
+ {
+ $wrapper = $this->getId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ID of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ID of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setId($wrappedVar);
+ }
+
+ /**
+ * The owner channel id of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getChannelId()
+ {
+ return $this->channel_id;
+ }
+
+ /**
+ * Returns the unboxed value from getChannelId()
+
+ * The owner channel id of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 3;
+ * @return string|null
+ */
+ public function getChannelIdUnwrapped()
+ {
+ $wrapper = $this->getChannelId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The owner channel id of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setChannelId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->channel_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The owner channel id of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue channel_id = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setChannelIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setChannelId($wrappedVar);
+ }
+
+ /**
+ * The duration of the video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value duration_millis = 4;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getDurationMillis()
+ {
+ return $this->duration_millis;
+ }
+
+ /**
+ * Returns the unboxed value from getDurationMillis()
+
+ * The duration of the video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value duration_millis = 4;
+ * @return int|string|null
+ */
+ public function getDurationMillisUnwrapped()
+ {
+ $wrapper = $this->getDurationMillis();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The duration of the video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value duration_millis = 4;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setDurationMillis($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->duration_millis = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * The duration of the video in milliseconds.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value duration_millis = 4;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setDurationMillisUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setDurationMillis($wrappedVar);
+ }
+
+ /**
+ * The title of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue title = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getTitle()
+ {
+ return $this->title;
+ }
+
+ /**
+ * Returns the unboxed value from getTitle()
+
+ * The title of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue title = 5;
+ * @return string|null
+ */
+ public function getTitleUnwrapped()
+ {
+ $wrapper = $this->getTitle();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The title of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue title = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setTitle($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->title = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The title of the video.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue title = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTitleUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setTitle($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalOperation.php
new file mode 100644
index 000000000..c981b5237
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalOperation.php
@@ -0,0 +1,167 @@
+google.ads.googleads.v2.services.AccountBudgetProposalOperation
+ */
+final class AccountBudgetProposalOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which budget fields are modified. While budgets
+ * may be modified, proposals that propose such modifications are final.
+ * Therefore, update operations are not supported for proposals.
+ * Proposals that modify budgets have the 'update' proposal type. Specifying
+ * a mask for any other proposal type is considered an error.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which budget fields are modified. While budgets
+ * may be modified, proposals that propose such modifications are final.
+ * Therefore, update operations are not supported for proposals.
+ * Proposals that modify budgets have the 'update' proposal type. Specifying
+ * a mask for any other proposal type is considered an error.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal $create
+ * Create operation: A new proposal to create a new budget, edit an
+ * existing budget, end an actively running budget, or remove an approved
+ * budget scheduled to start in the future.
+ * No resource name is expected for the new proposal.
+ * @type string $remove
+ * Remove operation: A resource name for the removed proposal is expected,
+ * in this format:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ * A request may be cancelled iff it is pending.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which budget fields are modified. While budgets
+ * may be modified, proposals that propose such modifications are final.
+ * Therefore, update operations are not supported for proposals.
+ * Proposals that modify budgets have the 'update' proposal type. Specifying
+ * a mask for any other proposal type is considered an error.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which budget fields are modified. While budgets
+ * may be modified, proposals that propose such modifications are final.
+ * Therefore, update operations are not supported for proposals.
+ * Proposals that modify budgets have the 'update' proposal type. Specifying
+ * a mask for any other proposal type is considered an error.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: A new proposal to create a new budget, edit an
+ * existing budget, end an actively running budget, or remove an approved
+ * budget scheduled to start in the future.
+ * No resource name is expected for the new proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudgetProposal create = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Create operation: A new proposal to create a new budget, edit an
+ * existing budget, end an actively running budget, or remove an approved
+ * budget scheduled to start in the future.
+ * No resource name is expected for the new proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudgetProposal create = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed proposal is expected,
+ * in this format:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ * A request may be cancelled iff it is pending.
+ *
+ * Generated from protobuf field string remove = 1;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed proposal is expected,
+ * in this format:
+ * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ * A request may be cancelled iff it is pending.
+ *
+ * Generated from protobuf field string remove = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClient.php
new file mode 100644
index 000000000..516b27540
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AccountBudgetProposalService/GetAccountBudgetProposal',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes account budget proposals. Operation statuses
+ * are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAccountBudgetProposal(\Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AccountBudgetProposalService/MutateAccountBudgetProposal',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClient.php
new file mode 100644
index 000000000..abefb83a0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AccountBudgetService/GetAccountBudget',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AccountBudget', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClient.php
new file mode 100644
index 000000000..76ba6820b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupAdAssetViewService/GetAdGroupAdAssetView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelOperation.php
new file mode 100644
index 000000000..9e6376383
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelOperation.php
@@ -0,0 +1,110 @@
+google.ads.googleads.v2.services.AdGroupAdLabelOperation
+ */
+final class AdGroupAdLabelOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel $create
+ * Create operation: No resource name is expected for the new ad group ad
+ * label.
+ * @type string $remove
+ * Remove operation: A resource name for the ad group ad label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}
+ * _{label_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group ad
+ * label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdLabel create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group ad
+ * label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdLabel create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the ad group ad label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}
+ * _{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the ad group ad label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}
+ * _{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClient.php
new file mode 100644
index 000000000..312980db7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupAdLabelService/GetAdGroupAdLabel',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates and removes ad group ad labels.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupAdLabels(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupAdLabelService/MutateAdGroupAdLabels',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdOperation.php
new file mode 100644
index 000000000..b78d96ac3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdOperation.php
@@ -0,0 +1,200 @@
+google.ads.googleads.v2.services.AdGroupAdOperation
+ */
+final class AdGroupAdOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ /**
+ * Configuration for how policies are validated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyValidationParameter policy_validation_parameter = 5;
+ */
+ private $policy_validation_parameter = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyValidationParameter $policy_validation_parameter
+ * Configuration for how policies are validated.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAd $create
+ * Create operation: No resource name is expected for the new ad.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAd $update
+ * Update operation: The ad is expected to have a valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed ad is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Configuration for how policies are validated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyValidationParameter policy_validation_parameter = 5;
+ * @return \Google\Ads\GoogleAds\V2\Common\PolicyValidationParameter
+ */
+ public function getPolicyValidationParameter()
+ {
+ return $this->policy_validation_parameter;
+ }
+
+ /**
+ * Configuration for how policies are validated.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.PolicyValidationParameter policy_validation_parameter = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyValidationParameter $var
+ * @return $this
+ */
+ public function setPolicyValidationParameter($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\PolicyValidationParameter::class);
+ $this->policy_validation_parameter = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAd
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAd $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAd::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAd
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The ad is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAd $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAd::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClient.php
new file mode 100644
index 000000000..7bb394de0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupAdService/GetAdGroupAd',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupAd', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes ads. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupAds(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupAdService/MutateAdGroupAds',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClient.php
new file mode 100644
index 000000000..36e8aa679
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupAudienceViewService/GetAdGroupAudienceView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupAudienceView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierOperation.php
new file mode 100644
index 000000000..d09536e36
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.AdGroupBidModifierOperation
+ */
+final class AdGroupBidModifierOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier $create
+ * Create operation: No resource name is expected for the new ad group bid
+ * modifier.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier $update
+ * Update operation: The ad group bid modifier is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed ad group bid modifier
+ * is expected, in this format:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group bid
+ * modifier.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group bid
+ * modifier.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad group bid modifier is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The ad group bid modifier is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group bid modifier
+ * is expected, in this format:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group bid modifier
+ * is expected, in this format:
+ * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClient.php
new file mode 100644
index 000000000..700491296
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupBidModifierService/GetAdGroupBidModifier',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes ad group bid modifiers.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifiersRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupBidModifiers(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifiersRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupBidModifierService/MutateAdGroupBidModifiers',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifiersResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelOperation.php
new file mode 100644
index 000000000..6f1f7f573
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.AdGroupCriterionLabelOperation
+ */
+final class AdGroupCriterionLabelOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel $create
+ * Create operation: No resource name is expected for the new ad group
+ * label.
+ * @type string $remove
+ * Remove operation: A resource name for the ad group criterion label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group
+ * label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionLabel create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group
+ * label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionLabel create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the ad group criterion label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the ad group criterion label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClient.php
new file mode 100644
index 000000000..6ba775285
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupCriterionLabelService/GetAdGroupCriterionLabel',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates and removes ad group criterion labels.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupCriterionLabels(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupCriterionLabelService/MutateAdGroupCriterionLabels',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionOperation.php
new file mode 100644
index 000000000..8bd77d79a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionOperation.php
@@ -0,0 +1,231 @@
+google.ads.googleads.v2.services.AdGroupCriterionOperation
+ */
+final class AdGroupCriterionOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ /**
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyViolationKey exempt_policy_violation_keys = 5;
+ */
+ private $exempt_policy_violation_keys;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey[]|\Google\Protobuf\Internal\RepeatedField $exempt_policy_violation_keys
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion $create
+ * Create operation: No resource name is expected for the new criterion.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion $update
+ * Update operation: The criterion is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyViolationKey exempt_policy_violation_keys = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getExemptPolicyViolationKeys()
+ {
+ return $this->exempt_policy_violation_keys;
+ }
+
+ /**
+ * The list of policy violation keys that should not cause a
+ * PolicyViolationError to be reported. Not all policy violations are
+ * exemptable, please refer to the is_exemptible field in the returned
+ * PolicyViolationError.
+ * Resources violating these polices will be saved, but will not be eligible
+ * to serve. They may begin serving at a later time due to a change in
+ * policies, re-review of the resource, or a change in advertiser
+ * certificates.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.PolicyViolationKey exempt_policy_violation_keys = 5;
+ * @param \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setExemptPolicyViolationKeys($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\PolicyViolationKey::class);
+ $this->exempt_policy_violation_keys = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The criterion is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The criterion is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClient.php
new file mode 100644
index 000000000..69e085798
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupCriterionService/GetAdGroupCriterion',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes criteria. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriteriaRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupCriteria(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriteriaRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupCriterionService/MutateAdGroupCriteria',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriteriaResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClient.php
new file mode 100644
index 000000000..324bbeaba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupCriterionSimulationService/GetAdGroupCriterionSimulation',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionSimulation', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingOperation.php
new file mode 100644
index 000000000..1421ae079
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.AdGroupExtensionSettingOperation
+ */
+final class AdGroupExtensionSettingOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting $create
+ * Create operation: No resource name is expected for the new ad group
+ * extension setting.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting $update
+ * Update operation: The ad group extension setting is expected to have a
+ * valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed ad group extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group
+ * extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group
+ * extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad group extension setting is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The ad group extension setting is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClient.php
new file mode 100644
index 000000000..da3748f0d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupExtensionSettingService/GetAdGroupExtensionSetting',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes ad group extension settings. Operation
+ * statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupExtensionSettings(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupExtensionSettingService/MutateAdGroupExtensionSettings',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedOperation.php
new file mode 100644
index 000000000..eb7a6daf7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.AdGroupFeedOperation
+ */
+final class AdGroupFeedOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed $create
+ * Create operation: No resource name is expected for the new ad group feed.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed $update
+ * Update operation: The ad group feed is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed ad group feed is
+ * expected, in this format:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad group feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The ad group feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group feed is
+ * expected, in this format:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group feed is
+ * expected, in this format:
+ * `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClient.php
new file mode 100644
index 000000000..1ffcf6870
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupFeedService/GetAdGroupFeed',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupFeed', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes ad group feeds. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupFeeds(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupFeedService/MutateAdGroupFeeds',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelOperation.php
new file mode 100644
index 000000000..3491aaa9f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.AdGroupLabelOperation
+ */
+final class AdGroupLabelOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel $create
+ * Create operation: No resource name is expected for the new ad group
+ * label.
+ * @type string $remove
+ * Remove operation: A resource name for the ad group label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group
+ * label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupLabel create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group
+ * label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupLabel create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the ad group label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the ad group label
+ * being removed, in this format:
+ * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClient.php
new file mode 100644
index 000000000..0bd4092dc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupLabelService/GetAdGroupLabel',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupLabel', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates and removes ad group labels.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroupLabels(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupLabelService/MutateAdGroupLabels',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupOperation.php
new file mode 100644
index 000000000..5cec7af20
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupOperation.php
@@ -0,0 +1,166 @@
+google.ads.googleads.v2.services.AdGroupOperation
+ */
+final class AdGroupOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroup $create
+ * Create operation: No resource name is expected for the new ad group.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroup $update
+ * Update operation: The ad group is expected to have a valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed ad group is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroup
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroup $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroup::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad group is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroup
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The ad group is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroup $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroup::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed ad group is expected,
+ * in this format:
+ * `customers/{customer_id}/adGroups/{ad_group_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClient.php
new file mode 100644
index 000000000..2603cbbd3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupService/GetAdGroup',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroup', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes ad groups. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdGroups(\Google\Ads\GoogleAds\V2\Services\MutateAdGroupsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdGroupService/MutateAdGroups',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdGroupsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClient.php
new file mode 100644
index 000000000..7c79fb918
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdGroupSimulationService/GetAdGroupSimulation',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdGroupSimulation', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdOperation.php
new file mode 100644
index 000000000..8b894115d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdOperation.php
@@ -0,0 +1,110 @@
+google.ads.googleads.v2.services.AdOperation
+ */
+final class AdOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Ad $update
+ * Update operation: The ad is expected to have a valid resource name
+ * in this format:
+ * `customers/{customer_id}/ads/{ad_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad is expected to have a valid resource name
+ * in this format:
+ * `customers/{customer_id}/ads/{ad_id}`
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad update = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Ad
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Update operation: The ad is expected to have a valid resource name
+ * in this format:
+ * `customers/{customer_id}/ads/{ad_id}`
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad update = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Ad $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Ad::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdParameterOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AdParameterOperation.php
new file mode 100644
index 000000000..27d2baa13
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdParameterOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.AdParameterOperation
+ */
+final class AdParameterOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdParameter $create
+ * Create operation: No resource name is expected for the new ad parameter.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdParameter $update
+ * Update operation: The ad parameter is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the ad parameter to remove is
+ * expected in this format:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdParameterService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad parameter.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdParameter
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new ad parameter.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdParameter $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdParameter::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The ad parameter is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdParameter
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The ad parameter is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdParameter $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdParameter::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the ad parameter to remove is
+ * expected in this format:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the ad parameter to remove is
+ * expected in this format:
+ * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClient.php
new file mode 100644
index 000000000..f27755cd6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdParameterService/GetAdParameter',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdParameter', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes ad parameters. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdParametersRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAdParameters(\Google\Ads\GoogleAds\V2\Services\MutateAdParametersRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdParameterService/MutateAdParameters',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdParametersResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClient.php
new file mode 100644
index 000000000..80c25c21f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdScheduleViewService/GetAdScheduleView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AdScheduleView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AdServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AdServiceClient.php
new file mode 100644
index 000000000..ea87d4d3f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AdServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AdService/GetAd',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Ad', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Updates ads. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAds(\Google\Ads\GoogleAds\V2\Services\MutateAdsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AdService/MutateAds',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAdsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsRequest.php
new file mode 100644
index 000000000..994c608bc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsRequest.php
@@ -0,0 +1,179 @@
+google.ads.googleads.v2.services.AddMutateJobOperationsRequest
+ */
+final class AddMutateJobOperationsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the MutateJob.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * A token used to enforce sequencing.
+ * The first AddMutateJobOperations request for a MutateJob should not set
+ * sequence_token. Subsequent requests must set sequence_token to the value of
+ * next_sequence_token received in the previous AddMutateJobOperations
+ * response.
+ *
+ * Generated from protobuf field string sequence_token = 2;
+ */
+ private $sequence_token = '';
+ /**
+ * The list of mutates being added.
+ * Operations can use negative integers as temp ids to signify dependencies
+ * between entities created in this MutateJob. For example, a customer with
+ * id = 1234 can create a campaign and an ad group in that same campaign by
+ * creating a campaign in the first operation with the resource name
+ * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
+ * in the second operation with the campaign field also set to
+ * "customers/1234/campaigns/-1".
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperation mutate_operations = 3;
+ */
+ private $mutate_operations;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the MutateJob.
+ * @type string $sequence_token
+ * A token used to enforce sequencing.
+ * The first AddMutateJobOperations request for a MutateJob should not set
+ * sequence_token. Subsequent requests must set sequence_token to the value of
+ * next_sequence_token received in the previous AddMutateJobOperations
+ * response.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateOperation[]|\Google\Protobuf\Internal\RepeatedField $mutate_operations
+ * The list of mutates being added.
+ * Operations can use negative integers as temp ids to signify dependencies
+ * between entities created in this MutateJob. For example, a customer with
+ * id = 1234 can create a campaign and an ad group in that same campaign by
+ * creating a campaign in the first operation with the resource name
+ * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
+ * in the second operation with the campaign field also set to
+ * "customers/1234/campaigns/-1".
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the MutateJob.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the MutateJob.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * A token used to enforce sequencing.
+ * The first AddMutateJobOperations request for a MutateJob should not set
+ * sequence_token. Subsequent requests must set sequence_token to the value of
+ * next_sequence_token received in the previous AddMutateJobOperations
+ * response.
+ *
+ * Generated from protobuf field string sequence_token = 2;
+ * @return string
+ */
+ public function getSequenceToken()
+ {
+ return $this->sequence_token;
+ }
+
+ /**
+ * A token used to enforce sequencing.
+ * The first AddMutateJobOperations request for a MutateJob should not set
+ * sequence_token. Subsequent requests must set sequence_token to the value of
+ * next_sequence_token received in the previous AddMutateJobOperations
+ * response.
+ *
+ * Generated from protobuf field string sequence_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setSequenceToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->sequence_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of mutates being added.
+ * Operations can use negative integers as temp ids to signify dependencies
+ * between entities created in this MutateJob. For example, a customer with
+ * id = 1234 can create a campaign and an ad group in that same campaign by
+ * creating a campaign in the first operation with the resource name
+ * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
+ * in the second operation with the campaign field also set to
+ * "customers/1234/campaigns/-1".
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperation mutate_operations = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMutateOperations()
+ {
+ return $this->mutate_operations;
+ }
+
+ /**
+ * The list of mutates being added.
+ * Operations can use negative integers as temp ids to signify dependencies
+ * between entities created in this MutateJob. For example, a customer with
+ * id = 1234 can create a campaign and an ad group in that same campaign by
+ * creating a campaign in the first operation with the resource name
+ * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
+ * in the second operation with the campaign field also set to
+ * "customers/1234/campaigns/-1".
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperation mutate_operations = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMutateOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateOperation::class);
+ $this->mutate_operations = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsResponse.php
new file mode 100644
index 000000000..d2a141164
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AddMutateJobOperationsResponse.php
@@ -0,0 +1,109 @@
+google.ads.googleads.v2.services.AddMutateJobOperationsResponse
+ */
+final class AddMutateJobOperationsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The total number of operations added so far for this job.
+ *
+ * Generated from protobuf field int64 total_operations = 1;
+ */
+ private $total_operations = 0;
+ /**
+ * The sequence token to be used when calling AddMutateJobOperations again if
+ * more operations need to be added. The next AddMutateJobOperations request
+ * must set the sequence_token field to the value of this field.
+ *
+ * Generated from protobuf field string next_sequence_token = 2;
+ */
+ private $next_sequence_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int|string $total_operations
+ * The total number of operations added so far for this job.
+ * @type string $next_sequence_token
+ * The sequence token to be used when calling AddMutateJobOperations again if
+ * more operations need to be added. The next AddMutateJobOperations request
+ * must set the sequence_token field to the value of this field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The total number of operations added so far for this job.
+ *
+ * Generated from protobuf field int64 total_operations = 1;
+ * @return int|string
+ */
+ public function getTotalOperations()
+ {
+ return $this->total_operations;
+ }
+
+ /**
+ * The total number of operations added so far for this job.
+ *
+ * Generated from protobuf field int64 total_operations = 1;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setTotalOperations($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->total_operations = $var;
+
+ return $this;
+ }
+
+ /**
+ * The sequence token to be used when calling AddMutateJobOperations again if
+ * more operations need to be added. The next AddMutateJobOperations request
+ * must set the sequence_token field to the value of this field.
+ *
+ * Generated from protobuf field string next_sequence_token = 2;
+ * @return string
+ */
+ public function getNextSequenceToken()
+ {
+ return $this->next_sequence_token;
+ }
+
+ /**
+ * The sequence token to be used when calling AddMutateJobOperations again if
+ * more operations need to be added. The next AddMutateJobOperations request
+ * must set the sequence_token field to the value of this field.
+ *
+ * Generated from protobuf field string next_sequence_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextSequenceToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_sequence_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClient.php
new file mode 100644
index 000000000..e0bbafbbf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AgeRangeViewService/GetAgeRangeView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\AgeRangeView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation.php
new file mode 100644
index 000000000..215d70e73
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation.php
@@ -0,0 +1,307 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation
+ */
+final class ApplyRecommendationOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the recommendation to apply.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ protected $apply_parameters;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the recommendation to apply.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CampaignBudgetParameters $campaign_budget
+ * Optional parameters to use when applying a campaign budget
+ * recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\TextAdParameters $text_ad
+ * Optional parameters to use when applying a text ad recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\KeywordParameters $keyword
+ * Optional parameters to use when applying keyword recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\TargetCpaOptInParameters $target_cpa_opt_in
+ * Optional parameters to use when applying target CPA opt-in
+ * recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CalloutExtensionParameters $callout_extension
+ * Parameters to use when applying callout extension recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CallExtensionParameters $call_extension
+ * Parameters to use when applying call extension recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\SitelinkExtensionParameters $sitelink_extension
+ * Parameters to use when applying sitelink extension recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\MoveUnusedBudgetParameters $move_unused_budget
+ * Parameters to use when applying move unused budget recommendation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the recommendation to apply.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the recommendation to apply.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional parameters to use when applying a campaign budget
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.CampaignBudgetParameters campaign_budget = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CampaignBudgetParameters
+ */
+ public function getCampaignBudget()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Optional parameters to use when applying a campaign budget
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.CampaignBudgetParameters campaign_budget = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CampaignBudgetParameters $var
+ * @return $this
+ */
+ public function setCampaignBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_CampaignBudgetParameters::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Optional parameters to use when applying a text ad recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.TextAdParameters text_ad = 3;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\TextAdParameters
+ */
+ public function getTextAd()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Optional parameters to use when applying a text ad recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.TextAdParameters text_ad = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\TextAdParameters $var
+ * @return $this
+ */
+ public function setTextAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_TextAdParameters::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Optional parameters to use when applying keyword recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.KeywordParameters keyword = 4;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\KeywordParameters
+ */
+ public function getKeyword()
+ {
+ return $this->readOneof(4);
+ }
+
+ /**
+ * Optional parameters to use when applying keyword recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.KeywordParameters keyword = 4;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\KeywordParameters $var
+ * @return $this
+ */
+ public function setKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_KeywordParameters::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * Optional parameters to use when applying target CPA opt-in
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.TargetCpaOptInParameters target_cpa_opt_in = 5;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\TargetCpaOptInParameters
+ */
+ public function getTargetCpaOptIn()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * Optional parameters to use when applying target CPA opt-in
+ * recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.TargetCpaOptInParameters target_cpa_opt_in = 5;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\TargetCpaOptInParameters $var
+ * @return $this
+ */
+ public function setTargetCpaOptIn($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_TargetCpaOptInParameters::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Parameters to use when applying callout extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.CalloutExtensionParameters callout_extension = 6;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CalloutExtensionParameters
+ */
+ public function getCalloutExtension()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * Parameters to use when applying callout extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.CalloutExtensionParameters callout_extension = 6;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CalloutExtensionParameters $var
+ * @return $this
+ */
+ public function setCalloutExtension($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_CalloutExtensionParameters::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Parameters to use when applying call extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.CallExtensionParameters call_extension = 7;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CallExtensionParameters
+ */
+ public function getCallExtension()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * Parameters to use when applying call extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.CallExtensionParameters call_extension = 7;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\CallExtensionParameters $var
+ * @return $this
+ */
+ public function setCallExtension($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_CallExtensionParameters::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * Parameters to use when applying sitelink extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.SitelinkExtensionParameters sitelink_extension = 8;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\SitelinkExtensionParameters
+ */
+ public function getSitelinkExtension()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * Parameters to use when applying sitelink extension recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.SitelinkExtensionParameters sitelink_extension = 8;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\SitelinkExtensionParameters $var
+ * @return $this
+ */
+ public function setSitelinkExtension($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_SitelinkExtensionParameters::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * Parameters to use when applying move unused budget recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters move_unused_budget = 9;
+ * @return \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\MoveUnusedBudgetParameters
+ */
+ public function getMoveUnusedBudget()
+ {
+ return $this->readOneof(9);
+ }
+
+ /**
+ * Parameters to use when applying move unused budget recommendation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters move_unused_budget = 9;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation\MoveUnusedBudgetParameters $var
+ * @return $this
+ */
+ public function setMoveUnusedBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_MoveUnusedBudgetParameters::class);
+ $this->writeOneof(9, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getApplyParameters()
+ {
+ return $this->whichOneof("apply_parameters");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CallExtensionParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CallExtensionParameters.php
new file mode 100644
index 000000000..a97d6ce7c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CallExtensionParameters.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.CallExtensionParameters
+ */
+final class CallExtensionParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Call extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CallFeedItem call_extensions = 1;
+ */
+ private $call_extensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CallFeedItem[]|\Google\Protobuf\Internal\RepeatedField $call_extensions
+ * Call extensions to be added. This is a required field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Call extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CallFeedItem call_extensions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCallExtensions()
+ {
+ return $this->call_extensions;
+ }
+
+ /**
+ * Call extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CallFeedItem call_extensions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CallFeedItem[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCallExtensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CallFeedItem::class);
+ $this->call_extensions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CallExtensionParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_CallExtensionParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CalloutExtensionParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CalloutExtensionParameters.php
new file mode 100644
index 000000000..86101fcd6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CalloutExtensionParameters.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.CalloutExtensionParameters
+ */
+final class CalloutExtensionParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Callout extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CalloutFeedItem callout_extensions = 1;
+ */
+ private $callout_extensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem[]|\Google\Protobuf\Internal\RepeatedField $callout_extensions
+ * Callout extensions to be added. This is a required field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Callout extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CalloutFeedItem callout_extensions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCalloutExtensions()
+ {
+ return $this->callout_extensions;
+ }
+
+ /**
+ * Callout extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.CalloutFeedItem callout_extensions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCalloutExtensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\CalloutFeedItem::class);
+ $this->callout_extensions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CalloutExtensionParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_CalloutExtensionParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CampaignBudgetParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CampaignBudgetParameters.php
new file mode 100644
index 000000000..7b71c7ed5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/CampaignBudgetParameters.php
@@ -0,0 +1,105 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.CampaignBudgetParameters
+ */
+final class CampaignBudgetParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * New budget amount to set for target budget resource. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_budget_amount_micros = 1;
+ */
+ private $new_budget_amount_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $new_budget_amount_micros
+ * New budget amount to set for target budget resource. This is a required
+ * field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * New budget amount to set for target budget resource. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_budget_amount_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getNewBudgetAmountMicros()
+ {
+ return $this->new_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getNewBudgetAmountMicros()
+
+ * New budget amount to set for target budget resource. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_budget_amount_micros = 1;
+ * @return int|string|null
+ */
+ public function getNewBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getNewBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * New budget amount to set for target budget resource. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_budget_amount_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setNewBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->new_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * New budget amount to set for target budget resource. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_budget_amount_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setNewBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setNewBudgetAmountMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CampaignBudgetParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_CampaignBudgetParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/KeywordParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/KeywordParameters.php
new file mode 100644
index 000000000..55e841ddf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/KeywordParameters.php
@@ -0,0 +1,202 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.KeywordParameters
+ */
+final class KeywordParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ad group resource to add keyword to. This is a required field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 1;
+ */
+ private $ad_group = null;
+ /**
+ * The match type of the keyword. This is a required field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+ */
+ private $match_type = 0;
+ /**
+ * Optional, CPC bid to set for the keyword. If not set, keyword will use
+ * bid based on bidding strategy used by target ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 3;
+ */
+ private $cpc_bid_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $ad_group
+ * The ad group resource to add keyword to. This is a required field.
+ * @type int $match_type
+ * The match type of the keyword. This is a required field.
+ * @type \Google\Protobuf\Int64Value $cpc_bid_micros
+ * Optional, CPC bid to set for the keyword. If not set, keyword will use
+ * bid based on bidding strategy used by target ad group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ad group resource to add keyword to. This is a required field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getAdGroup()
+
+ * The ad group resource to add keyword to. This is a required field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 1;
+ * @return string|null
+ */
+ public function getAdGroupUnwrapped()
+ {
+ $wrapper = $this->getAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The ad group resource to add keyword to. This is a required field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The ad group resource to add keyword to. This is a required field.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue ad_group = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdGroup($wrappedVar);
+ }
+
+ /**
+ * The match type of the keyword. This is a required field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+ * @return int
+ */
+ public function getMatchType()
+ {
+ return $this->match_type;
+ }
+
+ /**
+ * The match type of the keyword. This is a required field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setMatchType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordMatchTypeEnum_KeywordMatchType::class);
+ $this->match_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional, CPC bid to set for the keyword. If not set, keyword will use
+ * bid based on bidding strategy used by target ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCpcBidMicros()
+ {
+ return $this->cpc_bid_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCpcBidMicros()
+
+ * Optional, CPC bid to set for the keyword. If not set, keyword will use
+ * bid based on bidding strategy used by target ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 3;
+ * @return int|string|null
+ */
+ public function getCpcBidMicrosUnwrapped()
+ {
+ $wrapper = $this->getCpcBidMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Optional, CPC bid to set for the keyword. If not set, keyword will use
+ * bid based on bidding strategy used by target ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCpcBidMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cpc_bid_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Optional, CPC bid to set for the keyword. If not set, keyword will use
+ * bid based on bidding strategy used by target ad group.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cpc_bid_micros = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCpcBidMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCpcBidMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(KeywordParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_KeywordParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/MoveUnusedBudgetParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/MoveUnusedBudgetParameters.php
new file mode 100644
index 000000000..744a538ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/MoveUnusedBudgetParameters.php
@@ -0,0 +1,105 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters
+ */
+final class MoveUnusedBudgetParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Budget amount to move from excess budget to constrained budget. This is
+ * a required field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_micros_to_move = 1;
+ */
+ private $budget_micros_to_move = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $budget_micros_to_move
+ * Budget amount to move from excess budget to constrained budget. This is
+ * a required field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Budget amount to move from excess budget to constrained budget. This is
+ * a required field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_micros_to_move = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getBudgetMicrosToMove()
+ {
+ return $this->budget_micros_to_move;
+ }
+
+ /**
+ * Returns the unboxed value from getBudgetMicrosToMove()
+
+ * Budget amount to move from excess budget to constrained budget. This is
+ * a required field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_micros_to_move = 1;
+ * @return int|string|null
+ */
+ public function getBudgetMicrosToMoveUnwrapped()
+ {
+ $wrapper = $this->getBudgetMicrosToMove();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Budget amount to move from excess budget to constrained budget. This is
+ * a required field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_micros_to_move = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setBudgetMicrosToMove($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->budget_micros_to_move = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Budget amount to move from excess budget to constrained budget. This is
+ * a required field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value budget_micros_to_move = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setBudgetMicrosToMoveUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setBudgetMicrosToMove($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(MoveUnusedBudgetParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_MoveUnusedBudgetParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/SitelinkExtensionParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/SitelinkExtensionParameters.php
new file mode 100644
index 000000000..f8104aba2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/SitelinkExtensionParameters.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.SitelinkExtensionParameters
+ */
+final class SitelinkExtensionParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Sitelink extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.SitelinkFeedItem sitelink_extensions = 1;
+ */
+ private $sitelink_extensions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem[]|\Google\Protobuf\Internal\RepeatedField $sitelink_extensions
+ * Sitelink extensions to be added. This is a required field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Sitelink extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.SitelinkFeedItem sitelink_extensions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getSitelinkExtensions()
+ {
+ return $this->sitelink_extensions;
+ }
+
+ /**
+ * Sitelink extensions to be added. This is a required field.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.common.SitelinkFeedItem sitelink_extensions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setSitelinkExtensions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Common\SitelinkFeedItem::class);
+ $this->sitelink_extensions = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(SitelinkExtensionParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_SitelinkExtensionParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TargetCpaOptInParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TargetCpaOptInParameters.php
new file mode 100644
index 000000000..088d8f22a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TargetCpaOptInParameters.php
@@ -0,0 +1,168 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.TargetCpaOptInParameters
+ */
+final class TargetCpaOptInParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Average CPA to use for Target CPA bidding strategy. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ */
+ private $target_cpa_micros = null;
+ /**
+ * Optional, budget amount to set for the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_campaign_budget_amount_micros = 2;
+ */
+ private $new_campaign_budget_amount_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\Int64Value $target_cpa_micros
+ * Average CPA to use for Target CPA bidding strategy. This is a required
+ * field.
+ * @type \Google\Protobuf\Int64Value $new_campaign_budget_amount_micros
+ * Optional, budget amount to set for the campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Average CPA to use for Target CPA bidding strategy. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getTargetCpaMicros()
+ {
+ return $this->target_cpa_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getTargetCpaMicros()
+
+ * Average CPA to use for Target CPA bidding strategy. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @return int|string|null
+ */
+ public function getTargetCpaMicrosUnwrapped()
+ {
+ $wrapper = $this->getTargetCpaMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Average CPA to use for Target CPA bidding strategy. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setTargetCpaMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->target_cpa_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Average CPA to use for Target CPA bidding strategy. This is a required
+ * field.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value target_cpa_micros = 1;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setTargetCpaMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setTargetCpaMicros($wrappedVar);
+ }
+
+ /**
+ * Optional, budget amount to set for the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_campaign_budget_amount_micros = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getNewCampaignBudgetAmountMicros()
+ {
+ return $this->new_campaign_budget_amount_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getNewCampaignBudgetAmountMicros()
+
+ * Optional, budget amount to set for the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_campaign_budget_amount_micros = 2;
+ * @return int|string|null
+ */
+ public function getNewCampaignBudgetAmountMicrosUnwrapped()
+ {
+ $wrapper = $this->getNewCampaignBudgetAmountMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Optional, budget amount to set for the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_campaign_budget_amount_micros = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setNewCampaignBudgetAmountMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->new_campaign_budget_amount_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Optional, budget amount to set for the campaign.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value new_campaign_budget_amount_micros = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setNewCampaignBudgetAmountMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setNewCampaignBudgetAmountMicros($wrappedVar);
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TargetCpaOptInParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_TargetCpaOptInParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TextAdParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TextAdParameters.php
new file mode 100644
index 000000000..392741cb1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation/TextAdParameters.php
@@ -0,0 +1,74 @@
+google.ads.googleads.v2.services.ApplyRecommendationOperation.TextAdParameters
+ */
+final class TextAdParameters extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * New ad to add to recommended ad group. All necessary fields need to be
+ * set in this message. This is a required field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 1;
+ */
+ private $ad = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Ad $ad
+ * New ad to add to recommended ad group. All necessary fields need to be
+ * set in this message. This is a required field.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * New ad to add to recommended ad group. All necessary fields need to be
+ * set in this message. This is a required field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Ad
+ */
+ public function getAd()
+ {
+ return $this->ad;
+ }
+
+ /**
+ * New ad to add to recommended ad group. All necessary fields need to be
+ * set in this message. This is a required field.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Ad ad = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Ad $var
+ * @return $this
+ */
+ public function setAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Ad::class);
+ $this->ad = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TextAdParameters::class, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation_TextAdParameters::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_CallExtensionParameters.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_CallExtensionParameters.php
new file mode 100644
index 000000000..63a81a428
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationOperation_CallExtensionParameters.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.services.ApplyRecommendationRequest
+ */
+final class ApplyRecommendationRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to apply recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ApplyRecommendationOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried
+ * out as a transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer with the recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to apply recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried
+ * out as a transaction if and only if they are all valid.
+ * Default is false.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to apply recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ApplyRecommendationOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to apply recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ApplyRecommendationOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried
+ * out as a transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried
+ * out as a transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResponse.php
new file mode 100644
index 000000000..102de461c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.ApplyRecommendationResponse
+ */
+final class ApplyRecommendationResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Results of operations to apply recommendations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ApplyRecommendationResult results = 1;
+ */
+ private $results;
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 2;
+ */
+ private $partial_failure_error = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * Results of operations to apply recommendations.
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Results of operations to apply recommendations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ApplyRecommendationResult results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * Results of operations to apply recommendations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ApplyRecommendationResult results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 2;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 2;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResult.php b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResult.php
new file mode 100644
index 000000000..abda21fd6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ApplyRecommendationResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.ApplyRecommendationResult
+ */
+final class ApplyRecommendationResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful applies.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful applies.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful applies.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful applies.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AssetOperation.php b/src/Google/Ads/GoogleAds/V2/Services/AssetOperation.php
new file mode 100644
index 000000000..425a1b034
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AssetOperation.php
@@ -0,0 +1,72 @@
+google.ads.googleads.v2.services.AssetOperation
+ */
+final class AssetOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Asset $create
+ * Create operation: No resource name is expected for the new asset.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AssetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Asset create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Asset
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new asset.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Asset create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Asset $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Asset::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/AssetServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/AssetServiceClient.php
new file mode 100644
index 000000000..91f63c1dd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/AssetServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.AssetService/GetAsset',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Asset', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates assets. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAssetsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateAssets(\Google\Ads\GoogleAds\V2\Services\MutateAssetsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.AssetService/MutateAssets',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateAssetsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyOperation.php b/src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyOperation.php
new file mode 100644
index 000000000..1ba5e10d4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.BiddingStrategyOperation
+ */
+final class BiddingStrategyOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy $create
+ * Create operation: No resource name is expected for the new bidding
+ * strategy.
+ * @type \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy $update
+ * Update operation: The bidding strategy is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed bidding strategy is
+ * expected, in this format:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BiddingStrategyService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new bidding
+ * strategy.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new bidding
+ * strategy.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The bidding strategy is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The bidding strategy is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed bidding strategy is
+ * expected, in this format:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed bidding strategy is
+ * expected, in this format:
+ * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClient.php
new file mode 100644
index 000000000..2bf0bee32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.BiddingStrategyService/GetBiddingStrategy',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\BiddingStrategy', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes bidding strategies. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategiesRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateBiddingStrategies(\Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategiesRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.BiddingStrategyService/MutateBiddingStrategies',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategiesResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/BillingSetupOperation.php b/src/Google/Ads/GoogleAds/V2/Services/BillingSetupOperation.php
new file mode 100644
index 000000000..8ba580f16
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/BillingSetupOperation.php
@@ -0,0 +1,111 @@
+google.ads.googleads.v2.services.BillingSetupOperation
+ */
+final class BillingSetupOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\BillingSetup $create
+ * Creates a billing setup. No resource name is expected for the new billing
+ * setup.
+ * @type string $remove
+ * Resource name of the billing setup to remove. A setup cannot be
+ * removed unless it is in a pending state or its scheduled start time is in
+ * the future. The resource name looks like
+ * `customers/{customer_id}/billingSetups/{billing_id}`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BillingSetupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Creates a billing setup. No resource name is expected for the new billing
+ * setup.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup create = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\BillingSetup
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Creates a billing setup. No resource name is expected for the new billing
+ * setup.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup create = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\BillingSetup $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\BillingSetup::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Resource name of the billing setup to remove. A setup cannot be
+ * removed unless it is in a pending state or its scheduled start time is in
+ * the future. The resource name looks like
+ * `customers/{customer_id}/billingSetups/{billing_id}`.
+ *
+ * Generated from protobuf field string remove = 1;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Resource name of the billing setup to remove. A setup cannot be
+ * removed unless it is in a pending state or its scheduled start time is in
+ * the future. The resource name looks like
+ * `customers/{customer_id}/billingSetups/{billing_id}`.
+ *
+ * Generated from protobuf field string remove = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClient.php
new file mode 100644
index 000000000..eab92e405
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.BillingSetupService/GetBillingSetup',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\BillingSetup', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates a billing setup, or cancels an existing billing setup.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateBillingSetupRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateBillingSetup(\Google\Ads\GoogleAds\V2\Services\MutateBillingSetupRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.BillingSetupService/MutateBillingSetup',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateBillingSetupResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CallConversion.php b/src/Google/Ads/GoogleAds/V2/Services/CallConversion.php
new file mode 100644
index 000000000..599a18448
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CallConversion.php
@@ -0,0 +1,465 @@
+google.ads.googleads.v2.services.CallConversion
+ */
+final class CallConversion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign. e.g. "+16502531234".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ */
+ private $caller_id = null;
+ /**
+ * The date time at which the call occurred. The timezone must be specified.
+ * The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm",
+ * e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ */
+ private $call_start_date_time = null;
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ */
+ private $conversion_action = null;
+ /**
+ * The date time at which the conversion occurred. Must be after the call
+ * time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ */
+ private $conversion_date_time = null;
+ /**
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 5;
+ */
+ private $conversion_value = null;
+ /**
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 6;
+ */
+ private $currency_code = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $caller_id
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign. e.g. "+16502531234".
+ * @type \Google\Protobuf\StringValue $call_start_date_time
+ * The date time at which the call occurred. The timezone must be specified.
+ * The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm",
+ * e.g. "2019-01-01 12:32:45-08:00".
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ * @type \Google\Protobuf\StringValue $conversion_date_time
+ * The date time at which the conversion occurred. Must be after the call
+ * time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ * @type \Google\Protobuf\DoubleValue $conversion_value
+ * The value of the conversion for the advertiser.
+ * @type \Google\Protobuf\StringValue $currency_code
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign. e.g. "+16502531234".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallerId()
+ {
+ return $this->caller_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCallerId()
+
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign. e.g. "+16502531234".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @return string|null
+ */
+ public function getCallerIdUnwrapped()
+ {
+ $wrapper = $this->getCallerId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign. e.g. "+16502531234".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallerId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->caller_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign. e.g. "+16502531234".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallerIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallerId($wrappedVar);
+ }
+
+ /**
+ * The date time at which the call occurred. The timezone must be specified.
+ * The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm",
+ * e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallStartDateTime()
+ {
+ return $this->call_start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getCallStartDateTime()
+
+ * The date time at which the call occurred. The timezone must be specified.
+ * The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm",
+ * e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @return string|null
+ */
+ public function getCallStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getCallStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the call occurred. The timezone must be specified.
+ * The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm",
+ * e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->call_start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the call occurred. The timezone must be specified.
+ * The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm",
+ * e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallStartDateTime($wrappedVar);
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The date time at which the conversion occurred. Must be after the call
+ * time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionDateTime()
+ {
+ return $this->conversion_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionDateTime()
+
+ * The date time at which the conversion occurred. Must be after the call
+ * time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @return string|null
+ */
+ public function getConversionDateTimeUnwrapped()
+ {
+ $wrapper = $this->getConversionDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the conversion occurred. Must be after the call
+ * time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the conversion occurred. Must be after the call
+ * time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionDateTime($wrappedVar);
+ }
+
+ /**
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 5;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversionValue()
+ {
+ return $this->conversion_value;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionValue()
+
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 5;
+ * @return float|null
+ */
+ public function getConversionValueUnwrapped()
+ {
+ $wrapper = $this->getConversionValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 5;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversionValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversion_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 5;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversionValue($wrappedVar);
+ }
+
+ /**
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrencyCode()
+
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 6;
+ * @return string|null
+ */
+ public function getCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCurrencyCode($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CallConversionResult.php b/src/Google/Ads/GoogleAds/V2/Services/CallConversionResult.php
new file mode 100644
index 000000000..e44ff95fc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CallConversionResult.php
@@ -0,0 +1,303 @@
+google.ads.googleads.v2.services.CallConversionResult
+ */
+final class CallConversionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ */
+ private $caller_id = null;
+ /**
+ * The date time at which the call occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ */
+ private $call_start_date_time = null;
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ */
+ private $conversion_action = null;
+ /**
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ */
+ private $conversion_date_time = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $caller_id
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign.
+ * @type \Google\Protobuf\StringValue $call_start_date_time
+ * The date time at which the call occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action associated with this conversion.
+ * @type \Google\Protobuf\StringValue $conversion_date_time
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallerId()
+ {
+ return $this->caller_id;
+ }
+
+ /**
+ * Returns the unboxed value from getCallerId()
+
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @return string|null
+ */
+ public function getCallerIdUnwrapped()
+ {
+ $wrapper = $this->getCallerId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallerId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->caller_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The caller id from which this call was placed. Caller id is expected to be
+ * in E.164 format with preceding '+' sign.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue caller_id = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallerIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallerId($wrappedVar);
+ }
+
+ /**
+ * The date time at which the call occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCallStartDateTime()
+ {
+ return $this->call_start_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getCallStartDateTime()
+
+ * The date time at which the call occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @return string|null
+ */
+ public function getCallStartDateTimeUnwrapped()
+ {
+ $wrapper = $this->getCallStartDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the call occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCallStartDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->call_start_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the call occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue call_start_date_time = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCallStartDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCallStartDateTime($wrappedVar);
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionDateTime()
+ {
+ return $this->conversion_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionDateTime()
+
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @return string|null
+ */
+ public function getConversionDateTimeUnwrapped()
+ {
+ $wrapper = $this->getConversionDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionDateTime($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClient.php
new file mode 100644
index 000000000..01e4f4750
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignAudienceViewService/GetCampaignAudienceView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignAudienceView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierOperation.php
new file mode 100644
index 000000000..5242874d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.CampaignBidModifierOperation
+ */
+final class CampaignBidModifierOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier $create
+ * Create operation: No resource name is expected for the new campaign bid
+ * modifier.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier $update
+ * Update operation: The campaign bid modifier is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed campaign bid modifier
+ * is expected, in this format:
+ * `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign bid
+ * modifier.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign bid
+ * modifier.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign bid modifier is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The campaign bid modifier is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign bid modifier
+ * is expected, in this format:
+ * `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign bid modifier
+ * is expected, in this format:
+ * `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClient.php
new file mode 100644
index 000000000..7bd902b92
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignBidModifierService/GetCampaignBidModifier',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes campaign bid modifiers.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifiersRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignBidModifiers(\Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifiersRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignBidModifierService/MutateCampaignBidModifiers',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifiersResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetOperation.php
new file mode 100644
index 000000000..c4aa0935d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.CampaignBudgetOperation
+ */
+final class CampaignBudgetOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignBudget $create
+ * Create operation: No resource name is expected for the new budget.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignBudget $update
+ * Update operation: The campaign budget is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed budget is expected, in
+ * this format:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBudgetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignBudget
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new budget.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignBudget $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignBudget::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign budget is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignBudget
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The campaign budget is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignBudget $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignBudget::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed budget is expected, in
+ * this format:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed budget is expected, in
+ * this format:
+ * `customers/{customer_id}/campaignBudgets/{budget_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClient.php
new file mode 100644
index 000000000..13a995c35
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignBudgetService/GetCampaignBudget',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignBudget', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes campaign budgets. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignBudgets(\Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignBudgetService/MutateCampaignBudgets',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionOperation.php
new file mode 100644
index 000000000..923bb8e7d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.CampaignCriterionOperation
+ */
+final class CampaignCriterionOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion $create
+ * Create operation: No resource name is expected for the new criterion.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion $update
+ * Update operation: The criterion is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The criterion is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The criterion is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClient.php
new file mode 100644
index 000000000..dbbba86a5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignCriterionService/GetCampaignCriterion',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignCriterion', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes criteria. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriteriaRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignCriteria(\Google\Ads\GoogleAds\V2\Services\MutateCampaignCriteriaRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignCriterionService/MutateCampaignCriteria',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignCriteriaResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClient.php
new file mode 100644
index 000000000..bf5015878
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignCriterionSimulationService/GetCampaignCriterionSimulation',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignCriterionSimulation', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignDraftOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignDraftOperation.php
new file mode 100644
index 000000000..1e5418a0d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignDraftOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.CampaignDraftOperation
+ */
+final class CampaignDraftOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignDraft $create
+ * Create operation: No resource name is expected for the new campaign
+ * draft.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignDraft $update
+ * Update operation: The campaign draft is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: The campaign draft is expected to have a valid
+ * resource name, in this format:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign
+ * draft.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignDraft
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign
+ * draft.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignDraft $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignDraft::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign draft is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignDraft
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The campaign draft is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignDraft $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignDraft::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: The campaign draft is expected to have a valid
+ * resource name, in this format:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: The campaign draft is expected to have a valid
+ * resource name, in this format:
+ * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClient.php
new file mode 100644
index 000000000..c18790aeb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignDraftService/GetCampaignDraft',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignDraft', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes campaign drafts. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignDrafts(\Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignDraftService/MutateCampaignDrafts',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Promotes the changes in a draft back to the base campaign.
+ *
+ * This method returns a Long Running Operation (LRO) indicating if the
+ * Promote is done. Use [Operations.GetOperation] to poll the LRO until it
+ * is done. Only a done status is returned in the response. See the status
+ * in the Campaign Draft resource to determine if the promotion was
+ * successful. If the LRO failed, use
+ * [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v2.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of
+ * error reasons.
+ * @param \Google\Ads\GoogleAds\V2\Services\PromoteCampaignDraftRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function PromoteCampaignDraft(\Google\Ads\GoogleAds\V2\Services\PromoteCampaignDraftRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignDraftService/PromoteCampaignDraft',
+ $argument,
+ ['\Google\LongRunning\Operation', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns all errors that occurred during CampaignDraft promote. Throws an
+ * error if called before campaign draft is promoted.
+ * Supports standard list paging.
+ * @param \Google\Ads\GoogleAds\V2\Services\ListCampaignDraftAsyncErrorsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function ListCampaignDraftAsyncErrors(\Google\Ads\GoogleAds\V2\Services\ListCampaignDraftAsyncErrorsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignDraftService/ListCampaignDraftAsyncErrors',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ListCampaignDraftAsyncErrorsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentOperation.php
new file mode 100644
index 000000000..a164f23e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentOperation.php
@@ -0,0 +1,141 @@
+google.ads.googleads.v2.services.CampaignExperimentOperation
+ */
+final class CampaignExperimentOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment $update
+ * Update operation: The campaign experiment is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: The campaign experiment is expected to have a valid
+ * resource name, in this format:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign experiment is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment update = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Update operation: The campaign experiment is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment update = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: The campaign experiment is expected to have a valid
+ * resource name, in this format:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: The campaign experiment is expected to have a valid
+ * resource name, in this format:
+ * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClient.php
new file mode 100644
index 000000000..02f44a5ad
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/GetCampaignExperiment',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignExperiment', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates a campaign experiment based on a campaign draft. The draft campaign
+ * will be forked into a real campaign (called the experiment campaign) that
+ * will begin serving ads if successfully created.
+ *
+ * The campaign experiment is created immediately with status INITIALIZING.
+ * This method return a long running operation that tracks the forking of the
+ * draft campaign. If the forking fails, a list of errors can be retrieved
+ * using the ListCampaignExperimentAsyncErrors method. The operation's
+ * metadata will be a StringValue containing the resource name of the created
+ * campaign experiment.
+ * @param \Google\Ads\GoogleAds\V2\Services\CreateCampaignExperimentRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function CreateCampaignExperiment(\Google\Ads\GoogleAds\V2\Services\CreateCampaignExperimentRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/CreateCampaignExperiment',
+ $argument,
+ ['\Google\LongRunning\Operation', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Updates campaign experiments. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignExperiments(\Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/MutateCampaignExperiments',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Graduates a campaign experiment to a full campaign. The base and experiment
+ * campaigns will start running independently with their own budgets.
+ * @param \Google\Ads\GoogleAds\V2\Services\GraduateCampaignExperimentRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function GraduateCampaignExperiment(\Google\Ads\GoogleAds\V2\Services\GraduateCampaignExperimentRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/GraduateCampaignExperiment',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\GraduateCampaignExperimentResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Promotes the changes in a experiment campaign back to the base campaign.
+ *
+ * The campaign experiment is updated immediately with status PROMOTING.
+ * This method return a long running operation that tracks the promoting of
+ * the experiment campaign. If the promoting fails, a list of errors can be
+ * retrieved using the ListCampaignExperimentAsyncErrors method.
+ * @param \Google\Ads\GoogleAds\V2\Services\PromoteCampaignExperimentRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function PromoteCampaignExperiment(\Google\Ads\GoogleAds\V2\Services\PromoteCampaignExperimentRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/PromoteCampaignExperiment',
+ $argument,
+ ['\Google\LongRunning\Operation', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Immediately ends a campaign experiment, changing the experiment's scheduled
+ * end date and without waiting for end of day. End date is updated to be the
+ * time of the request.
+ * @param \Google\Ads\GoogleAds\V2\Services\EndCampaignExperimentRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function EndCampaignExperiment(\Google\Ads\GoogleAds\V2\Services\EndCampaignExperimentRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/EndCampaignExperiment',
+ $argument,
+ ['\Google\Protobuf\GPBEmpty', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns all errors that occurred during CampaignExperiment create or
+ * promote (whichever occurred last).
+ * Supports standard list paging.
+ * @param \Google\Ads\GoogleAds\V2\Services\ListCampaignExperimentAsyncErrorsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function ListCampaignExperimentAsyncErrors(\Google\Ads\GoogleAds\V2\Services\ListCampaignExperimentAsyncErrorsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExperimentService/ListCampaignExperimentAsyncErrors',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ListCampaignExperimentAsyncErrorsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingOperation.php
new file mode 100644
index 000000000..afeff091e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.CampaignExtensionSettingOperation
+ */
+final class CampaignExtensionSettingOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting $create
+ * Create operation: No resource name is expected for the new campaign
+ * extension setting.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting $update
+ * Update operation: The campaign extension setting is expected to have a
+ * valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed campaign extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign
+ * extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign
+ * extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign extension setting is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The campaign extension setting is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClient.php
new file mode 100644
index 000000000..d93f9cd6a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignExtensionSettingService/GetCampaignExtensionSetting',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes campaign extension settings. Operation
+ * statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignExtensionSettings(\Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignExtensionSettingService/MutateCampaignExtensionSettings',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignFeedOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignFeedOperation.php
new file mode 100644
index 000000000..03575f2e1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignFeedOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.CampaignFeedOperation
+ */
+final class CampaignFeedOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignFeed $create
+ * Create operation: No resource name is expected for the new campaign feed.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignFeed $update
+ * Update operation: The campaign feed is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed campaign feed is
+ * expected, in this format:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignFeed
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignFeed $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignFeed::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignFeed
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The campaign feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignFeed $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignFeed::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign feed is
+ * expected, in this format:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign feed is
+ * expected, in this format:
+ * `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClient.php
new file mode 100644
index 000000000..30eee3491
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignFeedService/GetCampaignFeed',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignFeed', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes campaign feeds. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignFeeds(\Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignFeedService/MutateCampaignFeeds',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignLabelOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignLabelOperation.php
new file mode 100644
index 000000000..419d3c420
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignLabelOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.CampaignLabelOperation
+ */
+final class CampaignLabelOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignLabel $create
+ * Create operation: No resource name is expected for the new campaign-label
+ * relationship.
+ * @type string $remove
+ * Remove operation: A resource name for the campaign-label relationship
+ * being removed, in this format:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign-label
+ * relationship.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignLabel create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignLabel
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign-label
+ * relationship.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignLabel create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignLabel $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignLabel::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the campaign-label relationship
+ * being removed, in this format:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the campaign-label relationship
+ * being removed, in this format:
+ * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClient.php
new file mode 100644
index 000000000..001310806
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignLabelService/GetCampaignLabel',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignLabel', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates and removes campaign-label relationships.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignLabels(\Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignLabelService/MutateCampaignLabels',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignOperation.php
new file mode 100644
index 000000000..1195d0247
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.CampaignOperation
+ */
+final class CampaignOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign $create
+ * Create operation: No resource name is expected for the new campaign.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign $update
+ * Update operation: The campaign is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed campaign is
+ * expected, in this format:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The campaign is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The campaign is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign is
+ * expected, in this format:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign is
+ * expected, in this format:
+ * `customers/{customer_id}/campaigns/{campaign_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignServiceClient.php
new file mode 100644
index 000000000..7fa2f3dc8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignService/GetCampaign',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Campaign', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes campaigns. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaigns(\Google\Ads\GoogleAds\V2\Services\MutateCampaignsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignService/MutateCampaigns',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetOperation.php
new file mode 100644
index 000000000..9f2590533
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.CampaignSharedSetOperation
+ */
+final class CampaignSharedSetOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet $create
+ * Create operation: No resource name is expected for the new campaign
+ * shared set.
+ * @type string $remove
+ * Remove operation: A resource name for the removed campaign shared set is
+ * expected, in this format:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignSharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign
+ * shared set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignSharedSet create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new campaign
+ * shared set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignSharedSet create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign shared set is
+ * expected, in this format:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed campaign shared set is
+ * expected, in this format:
+ * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClient.php
new file mode 100644
index 000000000..35548a8bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CampaignSharedSetService/GetCampaignSharedSet',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or removes campaign shared sets. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCampaignSharedSets(\Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CampaignSharedSetService/MutateCampaignSharedSets',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClient.php
new file mode 100644
index 000000000..ad28cefbd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CarrierConstantService/GetCarrierConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CarrierConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClient.php
new file mode 100644
index 000000000..7dad1fef1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ChangeStatusService/GetChangeStatus',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ChangeStatus', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ClickConversion.php b/src/Google/Ads/GoogleAds/V2/Services/ClickConversion.php
new file mode 100644
index 000000000..eb8eee5c0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ClickConversion.php
@@ -0,0 +1,495 @@
+google.ads.googleads.v2.services.ClickConversion
+ */
+final class ClickConversion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Google click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ */
+ private $gclid = null;
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ */
+ private $conversion_action = null;
+ /**
+ * The date time at which the conversion occurred. Must be after
+ * the click time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ */
+ private $conversion_date_time = null;
+ /**
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 4;
+ */
+ private $conversion_value = null;
+ /**
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ */
+ private $currency_code = null;
+ /**
+ * The order ID associated with the conversion. An order id can only be used
+ * for one conversion per conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 6;
+ */
+ private $order_id = null;
+ /**
+ * Additional data about externally attributed conversions. This field
+ * is required for conversions with an externally attributed conversion
+ * action, but should not be set otherwise.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ExternalAttributionData external_attribution_data = 7;
+ */
+ private $external_attribution_data = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $gclid
+ * The Google click ID (gclid) associated with this conversion.
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ * @type \Google\Protobuf\StringValue $conversion_date_time
+ * The date time at which the conversion occurred. Must be after
+ * the click time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ * @type \Google\Protobuf\DoubleValue $conversion_value
+ * The value of the conversion for the advertiser.
+ * @type \Google\Protobuf\StringValue $currency_code
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ * @type \Google\Protobuf\StringValue $order_id
+ * The order ID associated with the conversion. An order id can only be used
+ * for one conversion per conversion action.
+ * @type \Google\Ads\GoogleAds\V2\Services\ExternalAttributionData $external_attribution_data
+ * Additional data about externally attributed conversions. This field
+ * is required for conversions with an externally attributed conversion
+ * action, but should not be set otherwise.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Google click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGclid()
+ {
+ return $this->gclid;
+ }
+
+ /**
+ * Returns the unboxed value from getGclid()
+
+ * The Google click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @return string|null
+ */
+ public function getGclidUnwrapped()
+ {
+ $wrapper = $this->getGclid();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Google click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGclid($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->gclid = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Google click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGclidUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGclid($wrappedVar);
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action associated with this conversion.
+ * Note: Although this resource name consists of a customer id and a
+ * conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The date time at which the conversion occurred. Must be after
+ * the click time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionDateTime()
+ {
+ return $this->conversion_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionDateTime()
+
+ * The date time at which the conversion occurred. Must be after
+ * the click time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @return string|null
+ */
+ public function getConversionDateTimeUnwrapped()
+ {
+ $wrapper = $this->getConversionDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the conversion occurred. Must be after
+ * the click time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the conversion occurred. Must be after
+ * the click time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionDateTime($wrappedVar);
+ }
+
+ /**
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 4;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getConversionValue()
+ {
+ return $this->conversion_value;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionValue()
+
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 4;
+ * @return float|null
+ */
+ public function getConversionValueUnwrapped()
+ {
+ $wrapper = $this->getConversionValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 4;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setConversionValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->conversion_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The value of the conversion for the advertiser.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue conversion_value = 4;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setConversionValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setConversionValue($wrappedVar);
+ }
+
+ /**
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrencyCode()
+
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @return string|null
+ */
+ public function getCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Currency associated with the conversion value. This is the ISO 4217
+ * 3-character currency code. For example: USD, EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCurrencyCode($wrappedVar);
+ }
+
+ /**
+ * The order ID associated with the conversion. An order id can only be used
+ * for one conversion per conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 6;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getOrderId()
+ {
+ return $this->order_id;
+ }
+
+ /**
+ * Returns the unboxed value from getOrderId()
+
+ * The order ID associated with the conversion. An order id can only be used
+ * for one conversion per conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 6;
+ * @return string|null
+ */
+ public function getOrderIdUnwrapped()
+ {
+ $wrapper = $this->getOrderId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The order ID associated with the conversion. An order id can only be used
+ * for one conversion per conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 6;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setOrderId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->order_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The order ID associated with the conversion. An order id can only be used
+ * for one conversion per conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 6;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setOrderIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setOrderId($wrappedVar);
+ }
+
+ /**
+ * Additional data about externally attributed conversions. This field
+ * is required for conversions with an externally attributed conversion
+ * action, but should not be set otherwise.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ExternalAttributionData external_attribution_data = 7;
+ * @return \Google\Ads\GoogleAds\V2\Services\ExternalAttributionData
+ */
+ public function getExternalAttributionData()
+ {
+ return $this->external_attribution_data;
+ }
+
+ /**
+ * Additional data about externally attributed conversions. This field
+ * is required for conversions with an externally attributed conversion
+ * action, but should not be set otherwise.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ExternalAttributionData external_attribution_data = 7;
+ * @param \Google\Ads\GoogleAds\V2\Services\ExternalAttributionData $var
+ * @return $this
+ */
+ public function setExternalAttributionData($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ExternalAttributionData::class);
+ $this->external_attribution_data = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ClickConversionResult.php b/src/Google/Ads/GoogleAds/V2/Services/ClickConversionResult.php
new file mode 100644
index 000000000..1dfce2302
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ClickConversionResult.php
@@ -0,0 +1,228 @@
+google.ads.googleads.v2.services.ClickConversionResult
+ */
+final class ClickConversionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The Google Click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ */
+ private $gclid = null;
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ */
+ private $conversion_action = null;
+ /**
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ */
+ private $conversion_date_time = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $gclid
+ * The Google Click ID (gclid) associated with this conversion.
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action associated with this conversion.
+ * @type \Google\Protobuf\StringValue $conversion_date_time
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The Google Click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGclid()
+ {
+ return $this->gclid;
+ }
+
+ /**
+ * Returns the unboxed value from getGclid()
+
+ * The Google Click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @return string|null
+ */
+ public function getGclidUnwrapped()
+ {
+ $wrapper = $this->getGclid();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The Google Click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGclid($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->gclid = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The Google Click ID (gclid) associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGclidUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGclid($wrappedVar);
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action associated with this conversion.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionDateTime()
+ {
+ return $this->conversion_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionDateTime()
+
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @return string|null
+ */
+ public function getConversionDateTimeUnwrapped()
+ {
+ $wrapper = $this->getConversionDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the conversion occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionDateTime($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClient.php
new file mode 100644
index 000000000..4aaca547d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ClickViewService/GetClickView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ClickView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ConversionActionOperation.php b/src/Google/Ads/GoogleAds/V2/Services/ConversionActionOperation.php
new file mode 100644
index 000000000..171e6b1b0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ConversionActionOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.ConversionActionOperation
+ */
+final class ConversionActionOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ConversionAction $create
+ * Create operation: No resource name is expected for the new conversion
+ * action.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ConversionAction $update
+ * Update operation: The conversion action is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed conversion action is
+ * expected, in this format:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new conversion
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ConversionAction
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new conversion
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ConversionAction $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ConversionAction::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The conversion action is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ConversionAction
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The conversion action is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ConversionAction $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ConversionAction::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed conversion action is
+ * expected, in this format:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed conversion action is
+ * expected, in this format:
+ * `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClient.php
new file mode 100644
index 000000000..31a74c6a1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ConversionActionService/GetConversionAction',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ConversionAction', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates or removes conversion actions. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateConversionActionsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateConversionActions(\Google\Ads\GoogleAds\V2\Services\MutateConversionActionsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.ConversionActionService/MutateConversionActions',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateConversionActionsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustment.php b/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustment.php
new file mode 100644
index 000000000..08e6d3b01
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustment.php
@@ -0,0 +1,372 @@
+google.ads.googleads.v2.services.ConversionAdjustment
+ */
+final class ConversionAdjustment extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the conversion action associated with this conversion
+ * adjustment. Note: Although this resource name consists of a customer id and
+ * a conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ */
+ private $conversion_action = null;
+ /**
+ * The date time at which the adjustment occurred. Must be after the
+ * conversion_date_time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ */
+ private $adjustment_date_time = null;
+ /**
+ * The adjustment type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5;
+ */
+ private $adjustment_type = 0;
+ /**
+ * Information needed to restate the conversion's value.
+ * Required for restatements. Should not be supplied for retractions. An error
+ * will be returned if provided for a retraction.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.RestatementValue restatement_value = 6;
+ */
+ private $restatement_value = null;
+ protected $conversion_identifier;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action associated with this conversion
+ * adjustment. Note: Although this resource name consists of a customer id and
+ * a conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ * @type \Google\Protobuf\StringValue $adjustment_date_time
+ * The date time at which the adjustment occurred. Must be after the
+ * conversion_date_time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ * @type int $adjustment_type
+ * The adjustment type.
+ * @type \Google\Ads\GoogleAds\V2\Services\RestatementValue $restatement_value
+ * Information needed to restate the conversion's value.
+ * Required for restatements. Should not be supplied for retractions. An error
+ * will be returned if provided for a retraction.
+ * @type \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair $gclid_date_time_pair
+ * Uniquely identifies a conversion that was reported without an order ID
+ * specified.
+ * @type \Google\Protobuf\StringValue $order_id
+ * The order ID of the conversion to be adjusted. If the conversion was
+ * reported with an order ID specified, that order ID must be used as the
+ * identifier here.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion
+ * adjustment. Note: Although this resource name consists of a customer id and
+ * a conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action associated with this conversion
+ * adjustment. Note: Although this resource name consists of a customer id and
+ * a conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion
+ * adjustment. Note: Although this resource name consists of a customer id and
+ * a conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action associated with this conversion
+ * adjustment. Note: Although this resource name consists of a customer id and
+ * a conversion action id, validation will ignore the customer id and use the
+ * conversion action id as the sole identifier of the conversion action.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The date time at which the adjustment occurred. Must be after the
+ * conversion_date_time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdjustmentDateTime()
+ {
+ return $this->adjustment_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getAdjustmentDateTime()
+
+ * The date time at which the adjustment occurred. Must be after the
+ * conversion_date_time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @return string|null
+ */
+ public function getAdjustmentDateTimeUnwrapped()
+ {
+ $wrapper = $this->getAdjustmentDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the adjustment occurred. Must be after the
+ * conversion_date_time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdjustmentDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->adjustment_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the adjustment occurred. Must be after the
+ * conversion_date_time. The timezone must be specified. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdjustmentDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdjustmentDateTime($wrappedVar);
+ }
+
+ /**
+ * The adjustment type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5;
+ * @return int
+ */
+ public function getAdjustmentType()
+ {
+ return $this->adjustment_type;
+ }
+
+ /**
+ * The adjustment type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdjustmentType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionAdjustmentTypeEnum_ConversionAdjustmentType::class);
+ $this->adjustment_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Information needed to restate the conversion's value.
+ * Required for restatements. Should not be supplied for retractions. An error
+ * will be returned if provided for a retraction.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.RestatementValue restatement_value = 6;
+ * @return \Google\Ads\GoogleAds\V2\Services\RestatementValue
+ */
+ public function getRestatementValue()
+ {
+ return $this->restatement_value;
+ }
+
+ /**
+ * Information needed to restate the conversion's value.
+ * Required for restatements. Should not be supplied for retractions. An error
+ * will be returned if provided for a retraction.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.RestatementValue restatement_value = 6;
+ * @param \Google\Ads\GoogleAds\V2\Services\RestatementValue $var
+ * @return $this
+ */
+ public function setRestatementValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\RestatementValue::class);
+ $this->restatement_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Uniquely identifies a conversion that was reported without an order ID
+ * specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GclidDateTimePair gclid_date_time_pair = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair
+ */
+ public function getGclidDateTimePair()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Uniquely identifies a conversion that was reported without an order ID
+ * specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GclidDateTimePair gclid_date_time_pair = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair $var
+ * @return $this
+ */
+ public function setGclidDateTimePair($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * The order ID of the conversion to be adjusted. If the conversion was
+ * reported with an order ID specified, that order ID must be used as the
+ * identifier here.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getOrderId()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Returns the unboxed value from getOrderId()
+
+ * The order ID of the conversion to be adjusted. If the conversion was
+ * reported with an order ID specified, that order ID must be used as the
+ * identifier here.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @return string|null
+ */
+ public function getOrderIdUnwrapped()
+ {
+ $wrapper = $this->getOrderId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The order ID of the conversion to be adjusted. If the conversion was
+ * reported with an order ID specified, that order ID must be used as the
+ * identifier here.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setOrderId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The order ID of the conversion to be adjusted. If the conversion was
+ * reported with an order ID specified, that order ID must be used as the
+ * identifier here.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setOrderIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setOrderId($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getConversionIdentifier()
+ {
+ return $this->whichOneof("conversion_identifier");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentResult.php b/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentResult.php
new file mode 100644
index 000000000..9cc9c6148
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentResult.php
@@ -0,0 +1,302 @@
+google.ads.googleads.v2.services.ConversionAdjustmentResult
+ */
+final class ConversionAdjustmentResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the conversion action associated with this conversion
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ */
+ private $conversion_action = null;
+ /**
+ * The date time at which the adjustment occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ */
+ private $adjustment_date_time = null;
+ /**
+ * The adjustment type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5;
+ */
+ private $adjustment_type = 0;
+ protected $conversion_identifier;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $conversion_action
+ * Resource name of the conversion action associated with this conversion
+ * adjustment.
+ * @type \Google\Protobuf\StringValue $adjustment_date_time
+ * The date time at which the adjustment occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ * @type int $adjustment_type
+ * The adjustment type.
+ * @type \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair $gclid_date_time_pair
+ * Uniquely identifies a conversion that was reported without an order ID
+ * specified.
+ * @type \Google\Protobuf\StringValue $order_id
+ * The order ID of the conversion that was adjusted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionAction()
+
+ * Resource name of the conversion action associated with this conversion
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @return string|null
+ */
+ public function getConversionActionUnwrapped()
+ {
+ $wrapper = $this->getConversionAction();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Resource name of the conversion action associated with this conversion
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Resource name of the conversion action associated with this conversion
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_action = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionActionUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionAction($wrappedVar);
+ }
+
+ /**
+ * The date time at which the adjustment occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getAdjustmentDateTime()
+ {
+ return $this->adjustment_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getAdjustmentDateTime()
+
+ * The date time at which the adjustment occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @return string|null
+ */
+ public function getAdjustmentDateTimeUnwrapped()
+ {
+ $wrapper = $this->getAdjustmentDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the adjustment occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setAdjustmentDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->adjustment_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the adjustment occurred. The format is
+ * "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue adjustment_date_time = 4;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setAdjustmentDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setAdjustmentDateTime($wrappedVar);
+ }
+
+ /**
+ * The adjustment type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5;
+ * @return int
+ */
+ public function getAdjustmentType()
+ {
+ return $this->adjustment_type;
+ }
+
+ /**
+ * The adjustment type.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setAdjustmentType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\ConversionAdjustmentTypeEnum_ConversionAdjustmentType::class);
+ $this->adjustment_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Uniquely identifies a conversion that was reported without an order ID
+ * specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GclidDateTimePair gclid_date_time_pair = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair
+ */
+ public function getGclidDateTimePair()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Uniquely identifies a conversion that was reported without an order ID
+ * specified.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GclidDateTimePair gclid_date_time_pair = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair $var
+ * @return $this
+ */
+ public function setGclidDateTimePair($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\GclidDateTimePair::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * The order ID of the conversion that was adjusted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getOrderId()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Returns the unboxed value from getOrderId()
+
+ * The order ID of the conversion that was adjusted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @return string|null
+ */
+ public function getOrderIdUnwrapped()
+ {
+ $wrapper = $this->getOrderId();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The order ID of the conversion that was adjusted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setOrderId($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The order ID of the conversion that was adjusted.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue order_id = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setOrderIdUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setOrderId($wrappedVar);
+ }
+
+ /**
+ * @return string
+ */
+ public function getConversionIdentifier()
+ {
+ return $this->whichOneof("conversion_identifier");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClient.php
new file mode 100644
index 000000000..74bd9486a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ConversionAdjustmentUploadService/UploadConversionAdjustments',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\UploadConversionAdjustmentsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClient.php
new file mode 100644
index 000000000..f6f48d270
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ConversionUploadService/UploadClickConversions',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\UploadClickConversionsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Processes the given call conversions.
+ * @param \Google\Ads\GoogleAds\V2\Services\UploadCallConversionsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function UploadCallConversions(\Google\Ads\GoogleAds\V2\Services\UploadCallConversionsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.ConversionUploadService/UploadCallConversions',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\UploadCallConversionsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentMetadata.php b/src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentMetadata.php
new file mode 100644
index 000000000..1443280e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentMetadata.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.CreateCampaignExperimentMetadata
+ */
+final class CreateCampaignExperimentMetadata extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of campaign experiment created.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ */
+ private $campaign_experiment = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $campaign_experiment
+ * Resource name of campaign experiment created.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of campaign experiment created.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @return string
+ */
+ public function getCampaignExperiment()
+ {
+ return $this->campaign_experiment;
+ }
+
+ /**
+ * Resource name of campaign experiment created.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCampaignExperiment($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->campaign_experiment = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentRequest.php b/src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentRequest.php
new file mode 100644
index 000000000..28f65e0dd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CreateCampaignExperimentRequest.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.services.CreateCampaignExperimentRequest
+ */
+final class CreateCampaignExperimentRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign experiment is being created.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The campaign experiment to be created.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 2;
+ */
+ private $campaign_experiment = null;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 3;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign experiment is being created.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment $campaign_experiment
+ * The campaign experiment to be created.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign experiment is being created.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign experiment is being created.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign experiment to be created.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment
+ */
+ public function getCampaignExperiment()
+ {
+ return $this->campaign_experiment;
+ }
+
+ /**
+ * The campaign experiment to be created.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment $var
+ * @return $this
+ */
+ public function setCampaignExperiment($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment::class);
+ $this->campaign_experiment = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 3;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientRequest.php b/src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientRequest.php
new file mode 100644
index 000000000..a15ed4af5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientRequest.php
@@ -0,0 +1,212 @@
+google.ads.googleads.v2.services.CreateCustomerClientRequest
+ */
+final class CreateCustomerClientRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the Manager under whom client customer is being created.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The new client customer to create. The resource name on this customer
+ * will be ignored.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer customer_client = 2;
+ */
+ private $customer_client = null;
+ /**
+ * Email address of the user who should be invited on the created client
+ * customer. Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 3;
+ */
+ private $email_address = null;
+ /**
+ * The proposed role of user on the created client customer.
+ * Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccessRoleEnum.AccessRole access_role = 4;
+ */
+ private $access_role = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the Manager under whom client customer is being created.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Customer $customer_client
+ * The new client customer to create. The resource name on this customer
+ * will be ignored.
+ * @type \Google\Protobuf\StringValue $email_address
+ * Email address of the user who should be invited on the created client
+ * customer. Accessible to whitelisted customers only.
+ * @type int $access_role
+ * The proposed role of user on the created client customer.
+ * Accessible to whitelisted customers only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the Manager under whom client customer is being created.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the Manager under whom client customer is being created.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The new client customer to create. The resource name on this customer
+ * will be ignored.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer customer_client = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Customer
+ */
+ public function getCustomerClient()
+ {
+ return $this->customer_client;
+ }
+
+ /**
+ * The new client customer to create. The resource name on this customer
+ * will be ignored.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer customer_client = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Customer $var
+ * @return $this
+ */
+ public function setCustomerClient($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Customer::class);
+ $this->customer_client = $var;
+
+ return $this;
+ }
+
+ /**
+ * Email address of the user who should be invited on the created client
+ * customer. Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getEmailAddress()
+ {
+ return $this->email_address;
+ }
+
+ /**
+ * Returns the unboxed value from getEmailAddress()
+
+ * Email address of the user who should be invited on the created client
+ * customer. Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 3;
+ * @return string|null
+ */
+ public function getEmailAddressUnwrapped()
+ {
+ $wrapper = $this->getEmailAddress();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Email address of the user who should be invited on the created client
+ * customer. Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setEmailAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->email_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Email address of the user who should be invited on the created client
+ * customer. Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue email_address = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setEmailAddressUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setEmailAddress($wrappedVar);
+ }
+
+ /**
+ * The proposed role of user on the created client customer.
+ * Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccessRoleEnum.AccessRole access_role = 4;
+ * @return int
+ */
+ public function getAccessRole()
+ {
+ return $this->access_role;
+ }
+
+ /**
+ * The proposed role of user on the created client customer.
+ * Accessible to whitelisted customers only.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.AccessRoleEnum.AccessRole access_role = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setAccessRole($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\AccessRoleEnum_AccessRole::class);
+ $this->access_role = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientResponse.php b/src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientResponse.php
new file mode 100644
index 000000000..1da109b61
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CreateCustomerClientResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.CreateCustomerClientResponse
+ */
+final class CreateCustomerClientResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the newly created customer client.
+ *
+ * Generated from protobuf field string resource_name = 2;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the newly created customer client.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the newly created customer client.
+ *
+ * Generated from protobuf field string resource_name = 2;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the newly created customer client.
+ *
+ * Generated from protobuf field string resource_name = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobRequest.php b/src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobRequest.php
new file mode 100644
index 000000000..f8700416b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.CreateMutateJobRequest
+ */
+final class CreateMutateJobRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer for which to create a mutate job.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer for which to create a mutate job.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer for which to create a mutate job.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer for which to create a mutate job.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobResponse.php b/src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobResponse.php
new file mode 100644
index 000000000..9cec38d71
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CreateMutateJobResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.CreateMutateJobResponse
+ */
+final class CreateMutateJobResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the MutateJob.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the MutateJob.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the MutateJob.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the MutateJob.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomInterestOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomInterestOperation.php
new file mode 100644
index 000000000..f63a5be33
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomInterestOperation.php
@@ -0,0 +1,138 @@
+google.ads.googleads.v2.services.CustomInterestOperation
+ */
+final class CustomInterestOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomInterest $create
+ * Create operation: No resource name is expected for the new custom
+ * interest.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomInterest $update
+ * Update operation: The custom interest is expected to have a valid
+ * resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomInterestService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new custom
+ * interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomInterest
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new custom
+ * interest.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomInterest $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomInterest::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The custom interest is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomInterest
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The custom interest is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomInterest $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomInterest::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClient.php
new file mode 100644
index 000000000..db99e0dd1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomInterestService/GetCustomInterest',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomInterest', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or updates custom interests. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomInterestsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomInterests(\Google\Ads\GoogleAds\V2\Services\MutateCustomInterestsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomInterestService/MutateCustomInterests',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomInterestsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkOperation.php
new file mode 100644
index 000000000..1d8f3c83e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkOperation.php
@@ -0,0 +1,132 @@
+google.ads.googleads.v2.services.CustomerClientLinkOperation
+ */
+final class CustomerClientLinkOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink $create
+ * Create operation: No resource name is expected for the new link.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink $update
+ * Update operation: The link is expected to have a valid resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerClientLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new link.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new link.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The link is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The link is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClient.php
new file mode 100644
index 000000000..640f64c4a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerClientLinkService/GetCustomerClientLink',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerClientLink', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or updates a customer client link. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomerClientLink(\Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerClientLinkService/MutateCustomerClientLink',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClient.php
new file mode 100644
index 000000000..20b28cdcd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerClientService/GetCustomerClient',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerClient', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingOperation.php
new file mode 100644
index 000000000..ddca0212a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.CustomerExtensionSettingOperation
+ */
+final class CustomerExtensionSettingOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting $create
+ * Create operation: No resource name is expected for the new customer
+ * extension setting.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting $update
+ * Update operation: The customer extension setting is expected to have a
+ * valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed customer extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new customer
+ * extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new customer
+ * extension setting.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The customer extension setting is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The customer extension setting is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed customer extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed customer extension
+ * setting is expected, in this format:
+ * `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClient.php
new file mode 100644
index 000000000..678556c99
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerExtensionSettingService/GetCustomerExtensionSetting',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes customer extension settings. Operation
+ * statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomerExtensionSettings(\Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerExtensionSettingService/MutateCustomerExtensionSettings',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerFeedOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerFeedOperation.php
new file mode 100644
index 000000000..414dcd9d0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerFeedOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.CustomerFeedOperation
+ */
+final class CustomerFeedOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerFeed $create
+ * Create operation: No resource name is expected for the new customer feed.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerFeed $update
+ * Update operation: The customer feed is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed customer feed is
+ * expected, in this format:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new customer feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerFeed
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new customer feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerFeed $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerFeed::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The customer feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerFeed
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The customer feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerFeed $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerFeed::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed customer feed is
+ * expected, in this format:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed customer feed is
+ * expected, in this format:
+ * `customers/{customer_id}/customerFeeds/{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClient.php
new file mode 100644
index 000000000..d4dbf2ae8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerFeedService/GetCustomerFeed',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerFeed', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes customer feeds. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomerFeeds(\Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerFeedService/MutateCustomerFeeds',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerLabelOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerLabelOperation.php
new file mode 100644
index 000000000..c1e833653
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerLabelOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.CustomerLabelOperation
+ */
+final class CustomerLabelOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerLabel $create
+ * Create operation: No resource name is expected for the new customer-label
+ * relationship.
+ * @type string $remove
+ * Remove operation: A resource name for the customer-label relationship
+ * being removed, in this format:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new customer-label
+ * relationship.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerLabel create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerLabel
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new customer-label
+ * relationship.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerLabel create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerLabel $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerLabel::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the customer-label relationship
+ * being removed, in this format:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the customer-label relationship
+ * being removed, in this format:
+ * `customers/{customer_id}/customerLabels/{label_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClient.php
new file mode 100644
index 000000000..66afe9711
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerLabelService/GetCustomerLabel',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerLabel', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates and removes customer-label relationships.
+ * Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomerLabels(\Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerLabelService/MutateCustomerLabels',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkOperation.php
new file mode 100644
index 000000000..ebfcfc342
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkOperation.php
@@ -0,0 +1,108 @@
+google.ads.googleads.v2.services.CustomerManagerLinkOperation
+ */
+final class CustomerManagerLinkOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink $update
+ * Update operation: The link is expected to have a valid resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The link is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerManagerLink update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The link is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerManagerLink update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClient.php
new file mode 100644
index 000000000..93536708f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerManagerLinkService/GetCustomerManagerLink',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or updates customer manager links. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerManagerLinkRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomerManagerLink(\Google\Ads\GoogleAds\V2\Services\MutateCustomerManagerLinkRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerManagerLinkService/MutateCustomerManagerLink',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerManagerLinkResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionOperation.php
new file mode 100644
index 000000000..bb233cf0e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionOperation.php
@@ -0,0 +1,104 @@
+google.ads.googleads.v2.services.CustomerNegativeCriterionOperation
+ */
+final class CustomerNegativeCriterionOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion $create
+ * Create operation: No resource name is expected for the new criterion.
+ * @type string $remove
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerNegativeCriterion create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerNegativeCriterion create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed criterion is expected,
+ * in this format:
+ * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClient.php
new file mode 100644
index 000000000..2d306fa02
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerNegativeCriterionService/GetCustomerNegativeCriterion',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or removes criteria. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomerNegativeCriteria(\Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerNegativeCriterionService/MutateCustomerNegativeCriteria',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerOperation.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerOperation.php
new file mode 100644
index 000000000..502776017
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerOperation.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.CustomerOperation
+ */
+final class CustomerOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Mutate operation. Only updates are supported for customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer update = 1;
+ */
+ private $update = null;
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ */
+ private $update_mask = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\Customer $update
+ * Mutate operation. Only updates are supported for customer.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Mutate operation. Only updates are supported for customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer update = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Customer
+ */
+ public function getUpdate()
+ {
+ return $this->update;
+ }
+
+ /**
+ * Mutate operation. Only updates are supported for customer.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer update = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Customer $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Customer::class);
+ $this->update = $var;
+
+ return $this;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/CustomerServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/CustomerServiceClient.php
new file mode 100644
index 000000000..57cf5df58
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/CustomerServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.CustomerService/GetCustomer',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Customer', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Updates a customer. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateCustomer(\Google\Ads\GoogleAds\V2\Services\MutateCustomerRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerService/MutateCustomer',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateCustomerResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns resource names of customers directly accessible by the
+ * user authenticating the call.
+ * @param \Google\Ads\GoogleAds\V2\Services\ListAccessibleCustomersRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function ListAccessibleCustomers(\Google\Ads\GoogleAds\V2\Services\ListAccessibleCustomersRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerService/ListAccessibleCustomers',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ListAccessibleCustomersResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates a new client under manager. The new client customer is returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\CreateCustomerClientRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function CreateCustomerClient(\Google\Ads\GoogleAds\V2\Services\CreateCustomerClientRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.CustomerService/CreateCustomerClient',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\CreateCustomerClientResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClient.php
new file mode 100644
index 000000000..18597b5d5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.DetailPlacementViewService/GetDetailPlacementView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\DetailPlacementView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest.php b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest.php
new file mode 100644
index 000000000..ee8b05c7b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest.php
@@ -0,0 +1,155 @@
+google.ads.googleads.v2.services.DismissRecommendationRequest
+ */
+final class DismissRecommendationRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to dismiss recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.DismissRecommendationRequest.DismissRecommendationOperation operations = 3;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried in a
+ * single transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 2;
+ */
+ private $partial_failure = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer with the recommendation.
+ * @type \Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest\DismissRecommendationOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to dismiss recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried in a
+ * single transaction if and only if they are all valid.
+ * Default is false.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to dismiss recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.DismissRecommendationRequest.DismissRecommendationOperation operations = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to dismiss recommendations.
+ * If partial_failure=false all recommendations should be of the same type
+ * There is a limit of 100 operations per request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.DismissRecommendationRequest.DismissRecommendationOperation operations = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest\DismissRecommendationOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest\DismissRecommendationOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried in a
+ * single transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 2;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, operations will be carried in a
+ * single transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 2;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest/DismissRecommendationOperation.php b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest/DismissRecommendationOperation.php
new file mode 100644
index 000000000..a2f52ea2f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest/DismissRecommendationOperation.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.DismissRecommendationRequest.DismissRecommendationOperation
+ */
+final class DismissRecommendationOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the recommendation to dismiss.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the recommendation to dismiss.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the recommendation to dismiss.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the recommendation to dismiss.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DismissRecommendationOperation::class, \Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest_DismissRecommendationOperation::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest_DismissRecommendationOperation.php b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest_DismissRecommendationOperation.php
new file mode 100644
index 000000000..1e061af5c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationRequest_DismissRecommendationOperation.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.services.DismissRecommendationResponse
+ */
+final class DismissRecommendationResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Results of operations to dismiss recommendations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.DismissRecommendationResponse.DismissRecommendationResult results = 1;
+ */
+ private $results;
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 2;
+ */
+ private $partial_failure_error = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\DismissRecommendationResponse\DismissRecommendationResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * Results of operations to dismiss recommendations.
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Results of operations to dismiss recommendations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.DismissRecommendationResponse.DismissRecommendationResult results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * Results of operations to dismiss recommendations.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.DismissRecommendationResponse.DismissRecommendationResult results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\DismissRecommendationResponse\DismissRecommendationResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\DismissRecommendationResponse\DismissRecommendationResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 2;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors)
+ * we return the RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 2;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse/DismissRecommendationResult.php b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse/DismissRecommendationResult.php
new file mode 100644
index 000000000..dfbe33bc9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse/DismissRecommendationResult.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.DismissRecommendationResponse.DismissRecommendationResult
+ */
+final class DismissRecommendationResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful dismissals.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful dismissals.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful dismissals.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful dismissals.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(DismissRecommendationResult::class, \Google\Ads\GoogleAds\V2\Services\DismissRecommendationResponse_DismissRecommendationResult::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse_DismissRecommendationResult.php b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse_DismissRecommendationResult.php
new file mode 100644
index 000000000..64fdf9530
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DismissRecommendationResponse_DismissRecommendationResult.php
@@ -0,0 +1,16 @@
+_simpleRequest('/google.ads.googleads.v2.services.DisplayKeywordViewService/GetDisplayKeywordView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\DisplayKeywordView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClient.php
new file mode 100644
index 000000000..6176d019b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.DistanceViewService/GetDistanceView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\DistanceView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClient.php
new file mode 100644
index 000000000..f638ba775
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.DomainCategoryService/GetDomainCategory',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\DomainCategory', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClient.php
new file mode 100644
index 000000000..82f2dee16
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.DynamicSearchAdsSearchTermViewService/GetDynamicSearchAdsSearchTermView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\DynamicSearchAdsSearchTermView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/EndCampaignExperimentRequest.php b/src/Google/Ads/GoogleAds/V2/Services/EndCampaignExperimentRequest.php
new file mode 100644
index 000000000..cd146cdfd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/EndCampaignExperimentRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.EndCampaignExperimentRequest
+ */
+final class EndCampaignExperimentRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign experiment to end.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ */
+ private $campaign_experiment = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $campaign_experiment
+ * The resource name of the campaign experiment to end.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign experiment to end.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @return string
+ */
+ public function getCampaignExperiment()
+ {
+ return $this->campaign_experiment;
+ }
+
+ /**
+ * The resource name of the campaign experiment to end.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCampaignExperiment($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->campaign_experiment = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClient.php
new file mode 100644
index 000000000..e78967d60
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ExpandedLandingPageViewService/GetExpandedLandingPageView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ExpandedLandingPageView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemOperation.php b/src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemOperation.php
new file mode 100644
index 000000000..16ffdcce2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemOperation.php
@@ -0,0 +1,172 @@
+google.ads.googleads.v2.services.ExtensionFeedItemOperation
+ */
+final class ExtensionFeedItemOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem $create
+ * Create operation: No resource name is expected for the new extension
+ * feed item.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem $update
+ * Update operation: The extension feed item is expected to have a
+ * valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed extension feed item
+ * is expected, in this format:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new extension
+ * feed item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new extension
+ * feed item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The extension feed item is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The extension feed item is expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed extension feed item
+ * is expected, in this format:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed extension feed item
+ * is expected, in this format:
+ * `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClient.php
new file mode 100644
index 000000000..d05ac784f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ExtensionFeedItemService/GetExtensionFeedItem',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes extension feed items. Operation
+ * statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateExtensionFeedItems(\Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.ExtensionFeedItemService/MutateExtensionFeedItems',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ExternalAttributionData.php b/src/Google/Ads/GoogleAds/V2/Services/ExternalAttributionData.php
new file mode 100644
index 000000000..24d120ed1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ExternalAttributionData.php
@@ -0,0 +1,165 @@
+google.ads.googleads.v2.services.ExternalAttributionData
+ */
+final class ExternalAttributionData extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Represents the fraction of the conversion that is attributed to the
+ * Google Ads click.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue external_attribution_credit = 1;
+ */
+ private $external_attribution_credit = null;
+ /**
+ * Specifies the attribution model name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue external_attribution_model = 2;
+ */
+ private $external_attribution_model = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $external_attribution_credit
+ * Represents the fraction of the conversion that is attributed to the
+ * Google Ads click.
+ * @type \Google\Protobuf\StringValue $external_attribution_model
+ * Specifies the attribution model name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Represents the fraction of the conversion that is attributed to the
+ * Google Ads click.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue external_attribution_credit = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getExternalAttributionCredit()
+ {
+ return $this->external_attribution_credit;
+ }
+
+ /**
+ * Returns the unboxed value from getExternalAttributionCredit()
+
+ * Represents the fraction of the conversion that is attributed to the
+ * Google Ads click.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue external_attribution_credit = 1;
+ * @return float|null
+ */
+ public function getExternalAttributionCreditUnwrapped()
+ {
+ $wrapper = $this->getExternalAttributionCredit();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Represents the fraction of the conversion that is attributed to the
+ * Google Ads click.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue external_attribution_credit = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setExternalAttributionCredit($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->external_attribution_credit = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Represents the fraction of the conversion that is attributed to the
+ * Google Ads click.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue external_attribution_credit = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setExternalAttributionCreditUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setExternalAttributionCredit($wrappedVar);
+ }
+
+ /**
+ * Specifies the attribution model name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue external_attribution_model = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getExternalAttributionModel()
+ {
+ return $this->external_attribution_model;
+ }
+
+ /**
+ * Returns the unboxed value from getExternalAttributionModel()
+
+ * Specifies the attribution model name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue external_attribution_model = 2;
+ * @return string|null
+ */
+ public function getExternalAttributionModelUnwrapped()
+ {
+ $wrapper = $this->getExternalAttributionModel();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Specifies the attribution model name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue external_attribution_model = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setExternalAttributionModel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->external_attribution_model = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Specifies the attribution model name.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue external_attribution_model = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setExternalAttributionModelUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setExternalAttributionModel($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedItemOperation.php b/src/Google/Ads/GoogleAds/V2/Services/FeedItemOperation.php
new file mode 100644
index 000000000..008ed1935
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedItemOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.FeedItemOperation
+ */
+final class FeedItemOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItem $create
+ * Create operation: No resource name is expected for the new feed item.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItem $update
+ * Update operation: The feed item is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed feed item is
+ * expected, in this format:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedItem
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed item.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItem $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedItem::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The feed item is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedItem
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The feed item is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItem $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedItem::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed item is
+ * expected, in this format:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed item is
+ * expected, in this format:
+ * `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClient.php
new file mode 100644
index 000000000..e4fc5d1be
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.FeedItemService/GetFeedItem',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\FeedItem', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes feed items. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedItemsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateFeedItems(\Google\Ads\GoogleAds\V2\Services\MutateFeedItemsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.FeedItemService/MutateFeedItems',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateFeedItemsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetOperation.php b/src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetOperation.php
new file mode 100644
index 000000000..7552aa468
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.FeedItemTargetOperation
+ */
+final class FeedItemTargetOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget $create
+ * Create operation: No resource name is expected for the new feed item
+ * target.
+ * @type string $remove
+ * Remove operation: A resource name for the removed feed item target is
+ * expected, in this format:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemTargetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed item
+ * target.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItemTarget create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed item
+ * target.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItemTarget create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed item target is
+ * expected, in this format:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed item target is
+ * expected, in this format:
+ * `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClient.php
new file mode 100644
index 000000000..6246749c0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.FeedItemTargetService/GetFeedItemTarget',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\FeedItemTarget', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or removes feed item targets. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateFeedItemTargets(\Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.FeedItemTargetService/MutateFeedItemTargets',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedMappingOperation.php b/src/Google/Ads/GoogleAds/V2/Services/FeedMappingOperation.php
new file mode 100644
index 000000000..f1dbd2ef2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedMappingOperation.php
@@ -0,0 +1,104 @@
+google.ads.googleads.v2.services.FeedMappingOperation
+ */
+final class FeedMappingOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedMapping $create
+ * Create operation: No resource name is expected for the new feed mapping.
+ * @type string $remove
+ * Remove operation: A resource name for the removed feed mapping is
+ * expected, in this format:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedMappingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed mapping.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedMapping create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedMapping
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed mapping.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedMapping create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedMapping $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedMapping::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed mapping is
+ * expected, in this format:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed mapping is
+ * expected, in this format:
+ * `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClient.php
new file mode 100644
index 000000000..5ba4a88ce
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.FeedMappingService/GetFeedMapping',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\FeedMapping', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or removes feed mappings. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateFeedMappings(\Google\Ads\GoogleAds\V2\Services\MutateFeedMappingsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.FeedMappingService/MutateFeedMappings',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateFeedMappingsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedOperation.php b/src/Google/Ads/GoogleAds/V2/Services/FeedOperation.php
new file mode 100644
index 000000000..144d12ed0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.FeedOperation
+ */
+final class FeedOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Feed $create
+ * Create operation: No resource name is expected for the new feed.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Feed $update
+ * Update operation: The feed is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed feed is
+ * expected, in this format:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Feed
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new feed.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Feed $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Feed::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Feed
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The feed is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Feed $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Feed::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed is
+ * expected, in this format:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed feed is
+ * expected, in this format:
+ * `customers/{customer_id}/feeds/{feed_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClient.php
new file mode 100644
index 000000000..a86e232d5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.FeedPlaceholderViewService/GetFeedPlaceholderView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\FeedPlaceholderView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/FeedServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/FeedServiceClient.php
new file mode 100644
index 000000000..30da86e1e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/FeedServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.FeedService/GetFeed',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Feed', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes feeds. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateFeeds(\Google\Ads\GoogleAds\V2\Services\MutateFeedsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.FeedService/MutateFeeds',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateFeedsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ForecastMetrics.php b/src/Google/Ads/GoogleAds/V2/Services/ForecastMetrics.php
new file mode 100644
index 000000000..fbece0ab3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ForecastMetrics.php
@@ -0,0 +1,348 @@
+google.ads.googleads.v2.services.ForecastMetrics
+ */
+final class ForecastMetrics extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Impressions
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ */
+ private $impressions = null;
+ /**
+ * Ctr
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 2;
+ */
+ private $ctr = null;
+ /**
+ * AVG cpc
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value average_cpc = 3;
+ */
+ private $average_cpc = null;
+ /**
+ * Clicks
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 5;
+ */
+ private $clicks = null;
+ /**
+ * Cost
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 6;
+ */
+ private $cost_micros = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $impressions
+ * Impressions
+ * @type \Google\Protobuf\DoubleValue $ctr
+ * Ctr
+ * @type \Google\Protobuf\Int64Value $average_cpc
+ * AVG cpc
+ * @type \Google\Protobuf\DoubleValue $clicks
+ * Clicks
+ * @type \Google\Protobuf\Int64Value $cost_micros
+ * Cost
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Impressions
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getImpressions()
+ {
+ return $this->impressions;
+ }
+
+ /**
+ * Returns the unboxed value from getImpressions()
+
+ * Impressions
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @return float|null
+ */
+ public function getImpressionsUnwrapped()
+ {
+ $wrapper = $this->getImpressions();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Impressions
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setImpressions($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->impressions = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Impressions
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue impressions = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setImpressionsUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setImpressions($wrappedVar);
+ }
+
+ /**
+ * Ctr
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 2;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getCtr()
+ {
+ return $this->ctr;
+ }
+
+ /**
+ * Returns the unboxed value from getCtr()
+
+ * Ctr
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 2;
+ * @return float|null
+ */
+ public function getCtrUnwrapped()
+ {
+ $wrapper = $this->getCtr();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Ctr
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 2;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setCtr($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->ctr = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Ctr
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue ctr = 2;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setCtrUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setCtr($wrappedVar);
+ }
+
+ /**
+ * AVG cpc
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value average_cpc = 3;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getAverageCpc()
+ {
+ return $this->average_cpc;
+ }
+
+ /**
+ * Returns the unboxed value from getAverageCpc()
+
+ * AVG cpc
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value average_cpc = 3;
+ * @return int|string|null
+ */
+ public function getAverageCpcUnwrapped()
+ {
+ $wrapper = $this->getAverageCpc();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * AVG cpc
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value average_cpc = 3;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setAverageCpc($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->average_cpc = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * AVG cpc
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value average_cpc = 3;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setAverageCpcUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setAverageCpc($wrappedVar);
+ }
+
+ /**
+ * Clicks
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 5;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getClicks()
+ {
+ return $this->clicks;
+ }
+
+ /**
+ * Returns the unboxed value from getClicks()
+
+ * Clicks
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 5;
+ * @return float|null
+ */
+ public function getClicksUnwrapped()
+ {
+ $wrapper = $this->getClicks();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Clicks
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 5;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setClicks($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->clicks = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * Clicks
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue clicks = 5;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setClicksUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setClicks($wrappedVar);
+ }
+
+ /**
+ * Cost
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 6;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getCostMicros()
+ {
+ return $this->cost_micros;
+ }
+
+ /**
+ * Returns the unboxed value from getCostMicros()
+
+ * Cost
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 6;
+ * @return int|string|null
+ */
+ public function getCostMicrosUnwrapped()
+ {
+ $wrapper = $this->getCostMicros();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Cost
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 6;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setCostMicros($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->cost_micros = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Cost
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value cost_micros = 6;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setCostMicrosUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setCostMicros($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/Gapic/AccountBudgetProposalServiceGapicClient.php b/src/Google/Ads/GoogleAds/V2/Services/Gapic/AccountBudgetProposalServiceGapicClient.php
new file mode 100644
index 000000000..615824ae1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/Gapic/AccountBudgetProposalServiceGapicClient.php
@@ -0,0 +1,377 @@
+accountBudgetProposalName('[CUSTOMER]', '[ACCOUNT_BUDGET_PROPOSAL]');
+ * $response = $accountBudgetProposalServiceClient->getAccountBudgetProposal($formattedResourceName);
+ * } finally {
+ * $accountBudgetProposalServiceClient->close();
+ * }
+ * ```
+ *
+ * Many parameters require resource names to be formatted in a particular way. To assist
+ * with these names, this class includes a format method for each type of name, and additionally
+ * a parseName method to extract the individual identifiers contained within formatted names
+ * that are returned by the API.
+ *
+ * @experimental
+ */
+class AccountBudgetProposalServiceGapicClient
+{
+ use GapicClientTrait;
+
+ /**
+ * The name of the service.
+ */
+ const SERVICE_NAME = 'google.ads.googleads.v2.services.AccountBudgetProposalService';
+
+ /**
+ * The default address of the service.
+ */
+ const SERVICE_ADDRESS = 'googleads.googleapis.com';
+
+ /**
+ * The default port of the service.
+ */
+ const DEFAULT_SERVICE_PORT = 443;
+
+ /**
+ * The name of the code generator, to be included in the agent header.
+ */
+ const CODEGEN_NAME = 'gapic';
+
+ /**
+ * The default scopes required by the service.
+ */
+ public static $serviceScopes = [
+ ];
+ private static $accountBudgetProposalNameTemplate;
+ private static $pathTemplateMap;
+
+ private static function getClientDefaults()
+ {
+ return [
+ 'serviceName' => self::SERVICE_NAME,
+ 'serviceAddress' => self::SERVICE_ADDRESS.':'.self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__.'/../resources/account_budget_proposal_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__.'/../resources/account_budget_proposal_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__.'/../resources/account_budget_proposal_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'scopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__.'/../resources/account_budget_proposal_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ private static function getAccountBudgetProposalNameTemplate()
+ {
+ if (null == self::$accountBudgetProposalNameTemplate) {
+ self::$accountBudgetProposalNameTemplate = new PathTemplate('customers/{customer}/accountBudgetProposals/{account_budget_proposal}');
+ }
+
+ return self::$accountBudgetProposalNameTemplate;
+ }
+
+ private static function getPathTemplateMap()
+ {
+ if (null == self::$pathTemplateMap) {
+ self::$pathTemplateMap = [
+ 'accountBudgetProposal' => self::getAccountBudgetProposalNameTemplate(),
+ ];
+ }
+
+ return self::$pathTemplateMap;
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent
+ * a account_budget_proposal resource.
+ *
+ * @param string $customer
+ * @param string $accountBudgetProposal
+ *
+ * @return string The formatted account_budget_proposal resource.
+ * @experimental
+ */
+ public static function accountBudgetProposalName($customer, $accountBudgetProposal)
+ {
+ return self::getAccountBudgetProposalNameTemplate()->render([
+ 'customer' => $customer,
+ 'account_budget_proposal' => $accountBudgetProposal,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - accountBudgetProposal: customers/{customer}/accountBudgetProposals/{account_budget_proposal}.
+ *
+ * The optional $template argument can be supplied to specify a particular pattern, and must
+ * match one of the templates listed above. If no $template argument is provided, or if the
+ * $template argument does not match one of the templates listed, then parseName will check
+ * each of the supported templates, and return the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ * @experimental
+ */
+ public static function parseName($formattedName, $template = null)
+ {
+ $templateMap = self::getPathTemplateMap();
+
+ if ($template) {
+ if (!isset($templateMap[$template])) {
+ throw new ValidationException("Template name $template does not exist");
+ }
+
+ return $templateMap[$template]->match($formattedName);
+ }
+
+ foreach ($templateMap as $templateName => $pathTemplate) {
+ try {
+ return $pathTemplate->match($formattedName);
+ } catch (ValidationException $ex) {
+ // Swallow the exception to continue trying other path templates
+ }
+ }
+ throw new ValidationException("Input did not match any known format. Input: $formattedName");
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $serviceAddress
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ".google.protobuf.StringValue gclid = 1;
+ */
+ private $gclid = null;
+ /**
+ * The date time at which the original conversion for this adjustment
+ * occurred. The timezone must be specified. The format is "yyyy-mm-dd
+ * hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 2;
+ */
+ private $conversion_date_time = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $gclid
+ * Google click ID (gclid) associated with the original conversion for this
+ * adjustment.
+ * @type \Google\Protobuf\StringValue $conversion_date_time
+ * The date time at which the original conversion for this adjustment
+ * occurred. The timezone must be specified. The format is "yyyy-mm-dd
+ * hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Google click ID (gclid) associated with the original conversion for this
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getGclid()
+ {
+ return $this->gclid;
+ }
+
+ /**
+ * Returns the unboxed value from getGclid()
+
+ * Google click ID (gclid) associated with the original conversion for this
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @return string|null
+ */
+ public function getGclidUnwrapped()
+ {
+ $wrapper = $this->getGclid();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Google click ID (gclid) associated with the original conversion for this
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setGclid($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->gclid = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Google click ID (gclid) associated with the original conversion for this
+ * adjustment.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue gclid = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setGclidUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setGclid($wrappedVar);
+ }
+
+ /**
+ * The date time at which the original conversion for this adjustment
+ * occurred. The timezone must be specified. The format is "yyyy-mm-dd
+ * hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getConversionDateTime()
+ {
+ return $this->conversion_date_time;
+ }
+
+ /**
+ * Returns the unboxed value from getConversionDateTime()
+
+ * The date time at which the original conversion for this adjustment
+ * occurred. The timezone must be specified. The format is "yyyy-mm-dd
+ * hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 2;
+ * @return string|null
+ */
+ public function getConversionDateTimeUnwrapped()
+ {
+ $wrapper = $this->getConversionDateTime();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The date time at which the original conversion for this adjustment
+ * occurred. The timezone must be specified. The format is "yyyy-mm-dd
+ * hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setConversionDateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->conversion_date_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The date time at which the original conversion for this adjustment
+ * occurred. The timezone must be specified. The format is "yyyy-mm-dd
+ * hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".
+ *
+ * Generated from protobuf field .google.protobuf.StringValue conversion_date_time = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setConversionDateTimeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setConversionDateTime($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClient.php
new file mode 100644
index 000000000..fad929d63
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.GenderViewService/GetGenderView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\GenderView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsRequest.php
new file mode 100644
index 000000000..a10114c02
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GenerateForecastMetricsRequest
+ */
+final class GenerateForecastMetricsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the keyword plan to be forecasted.
+ *
+ * Generated from protobuf field string keyword_plan = 1;
+ */
+ private $keyword_plan = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $keyword_plan
+ * The resource name of the keyword plan to be forecasted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the keyword plan to be forecasted.
+ *
+ * Generated from protobuf field string keyword_plan = 1;
+ * @return string
+ */
+ public function getKeywordPlan()
+ {
+ return $this->keyword_plan;
+ }
+
+ /**
+ * The resource name of the keyword plan to be forecasted.
+ *
+ * Generated from protobuf field string keyword_plan = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setKeywordPlan($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->keyword_plan = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsResponse.php
new file mode 100644
index 000000000..1fbb6a86e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateForecastMetricsResponse.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.services.GenerateForecastMetricsResponse
+ */
+final class GenerateForecastMetricsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of campaign forecasts.
+ * One maximum.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanCampaignForecast campaign_forecasts = 1;
+ */
+ private $campaign_forecasts;
+ /**
+ * List of ad group forecasts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanAdGroupForecast ad_group_forecasts = 2;
+ */
+ private $ad_group_forecasts;
+ /**
+ * List of keyword forecasts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordForecast keyword_forecasts = 3;
+ */
+ private $keyword_forecasts;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignForecast[]|\Google\Protobuf\Internal\RepeatedField $campaign_forecasts
+ * List of campaign forecasts.
+ * One maximum.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupForecast[]|\Google\Protobuf\Internal\RepeatedField $ad_group_forecasts
+ * List of ad group forecasts.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordForecast[]|\Google\Protobuf\Internal\RepeatedField $keyword_forecasts
+ * List of keyword forecasts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of campaign forecasts.
+ * One maximum.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanCampaignForecast campaign_forecasts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCampaignForecasts()
+ {
+ return $this->campaign_forecasts;
+ }
+
+ /**
+ * List of campaign forecasts.
+ * One maximum.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanCampaignForecast campaign_forecasts = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignForecast[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCampaignForecasts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignForecast::class);
+ $this->campaign_forecasts = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of ad group forecasts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanAdGroupForecast ad_group_forecasts = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAdGroupForecasts()
+ {
+ return $this->ad_group_forecasts;
+ }
+
+ /**
+ * List of ad group forecasts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanAdGroupForecast ad_group_forecasts = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupForecast[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAdGroupForecasts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupForecast::class);
+ $this->ad_group_forecasts = $arr;
+
+ return $this;
+ }
+
+ /**
+ * List of keyword forecasts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordForecast keyword_forecasts = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getKeywordForecasts()
+ {
+ return $this->keyword_forecasts;
+ }
+
+ /**
+ * List of keyword forecasts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordForecast keyword_forecasts = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordForecast[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setKeywordForecasts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordForecast::class);
+ $this->keyword_forecasts = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsRequest.php
new file mode 100644
index 000000000..b592e4a89
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsRequest.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.services.GenerateHistoricalMetricsRequest
+ */
+final class GenerateHistoricalMetricsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the keyword plan of which historical metrics are
+ * requested.
+ *
+ * Generated from protobuf field string keyword_plan = 1;
+ */
+ private $keyword_plan = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $keyword_plan
+ * The resource name of the keyword plan of which historical metrics are
+ * requested.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the keyword plan of which historical metrics are
+ * requested.
+ *
+ * Generated from protobuf field string keyword_plan = 1;
+ * @return string
+ */
+ public function getKeywordPlan()
+ {
+ return $this->keyword_plan;
+ }
+
+ /**
+ * The resource name of the keyword plan of which historical metrics are
+ * requested.
+ *
+ * Generated from protobuf field string keyword_plan = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setKeywordPlan($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->keyword_plan = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsResponse.php
new file mode 100644
index 000000000..47bd5a81f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateHistoricalMetricsResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GenerateHistoricalMetricsResponse
+ */
+final class GenerateHistoricalMetricsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of keyword historical metrics.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordHistoricalMetrics metrics = 1;
+ */
+ private $metrics;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordHistoricalMetrics[]|\Google\Protobuf\Internal\RepeatedField $metrics
+ * List of keyword historical metrics.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of keyword historical metrics.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordHistoricalMetrics metrics = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMetrics()
+ {
+ return $this->metrics;
+ }
+
+ /**
+ * List of keyword historical metrics.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordHistoricalMetrics metrics = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordHistoricalMetrics[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMetrics($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordHistoricalMetrics::class);
+ $this->metrics = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResponse.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResponse.php
new file mode 100644
index 000000000..a9c2e9baa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GenerateKeywordIdeaResponse
+ */
+final class GenerateKeywordIdeaResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Results of generating keyword ideas.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GenerateKeywordIdeaResult results = 1;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\GenerateKeywordIdeaResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * Results of generating keyword ideas.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanIdeaService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Results of generating keyword ideas.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GenerateKeywordIdeaResult results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * Results of generating keyword ideas.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GenerateKeywordIdeaResult results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\GenerateKeywordIdeaResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\GenerateKeywordIdeaResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResult.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResult.php
new file mode 100644
index 000000000..506326172
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeaResult.php
@@ -0,0 +1,148 @@
+google.ads.googleads.v2.services.GenerateKeywordIdeaResult
+ */
+final class GenerateKeywordIdeaResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Text of the keyword idea.
+ * As in Keyword Plan historical metrics, this text may not be an actual
+ * keyword, but the canonical form of multiple keywords.
+ * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 2;
+ */
+ private $text = null;
+ /**
+ * The historical metrics for the keyword
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3;
+ */
+ private $keyword_idea_metrics = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $text
+ * Text of the keyword idea.
+ * As in Keyword Plan historical metrics, this text may not be an actual
+ * keyword, but the canonical form of multiple keywords.
+ * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics $keyword_idea_metrics
+ * The historical metrics for the keyword
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanIdeaService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Text of the keyword idea.
+ * As in Keyword Plan historical metrics, this text may not be an actual
+ * keyword, but the canonical form of multiple keywords.
+ * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Returns the unboxed value from getText()
+
+ * Text of the keyword idea.
+ * As in Keyword Plan historical metrics, this text may not be an actual
+ * keyword, but the canonical form of multiple keywords.
+ * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 2;
+ * @return string|null
+ */
+ public function getTextUnwrapped()
+ {
+ $wrapper = $this->getText();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Text of the keyword idea.
+ * As in Keyword Plan historical metrics, this text may not be an actual
+ * keyword, but the canonical form of multiple keywords.
+ * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Text of the keyword idea.
+ * As in Keyword Plan historical metrics, this text may not be an actual
+ * keyword, but the canonical form of multiple keywords.
+ * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue text = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setTextUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setText($wrappedVar);
+ }
+
+ /**
+ * The historical metrics for the keyword
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics
+ */
+ public function getKeywordIdeaMetrics()
+ {
+ return $this->keyword_idea_metrics;
+ }
+
+ /**
+ * The historical metrics for the keyword
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics $var
+ * @return $this
+ */
+ public function setKeywordIdeaMetrics($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics::class);
+ $this->keyword_idea_metrics = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeasRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeasRequest.php
new file mode 100644
index 000000000..1a7fa6c24
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GenerateKeywordIdeasRequest.php
@@ -0,0 +1,304 @@
+google.ads.googleads.v2.services.GenerateKeywordIdeasRequest
+ */
+final class GenerateKeywordIdeasRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The resource name of the language to target.
+ * Required
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language = 7;
+ */
+ private $language = null;
+ /**
+ * The resource names of the location to target.
+ * Max 10
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 8;
+ */
+ private $geo_target_constants;
+ /**
+ * Targeting network.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9;
+ */
+ private $keyword_plan_network = 0;
+ protected $seed;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer with the recommendation.
+ * @type \Google\Protobuf\StringValue $language
+ * The resource name of the language to target.
+ * Required
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $geo_target_constants
+ * The resource names of the location to target.
+ * Max 10
+ * @type int $keyword_plan_network
+ * Targeting network.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordAndUrlSeed $keyword_and_url_seed
+ * A Keyword and a specific Url to generate ideas from
+ * e.g. cars, www.example.com/cars.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordSeed $keyword_seed
+ * A Keyword or phrase to generate ideas from, e.g. cars.
+ * @type \Google\Ads\GoogleAds\V2\Services\UrlSeed $url_seed
+ * A specific url to generate ideas from, e.g. www.example.com/cars.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanIdeaService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer with the recommendation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The resource name of the language to target.
+ * Required
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language = 7;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLanguage()
+ {
+ return $this->language;
+ }
+
+ /**
+ * Returns the unboxed value from getLanguage()
+
+ * The resource name of the language to target.
+ * Required
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language = 7;
+ * @return string|null
+ */
+ public function getLanguageUnwrapped()
+ {
+ $wrapper = $this->getLanguage();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the language to target.
+ * Required
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language = 7;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLanguage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->language = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the language to target.
+ * Required
+ *
+ * Generated from protobuf field .google.protobuf.StringValue language = 7;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLanguageUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLanguage($wrappedVar);
+ }
+
+ /**
+ * The resource names of the location to target.
+ * Max 10
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeoTargetConstants()
+ {
+ return $this->geo_target_constants;
+ }
+
+ /**
+ * The resource names of the location to target.
+ * Max 10
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 8;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeoTargetConstants($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->geo_target_constants = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Targeting network.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9;
+ * @return int
+ */
+ public function getKeywordPlanNetwork()
+ {
+ return $this->keyword_plan_network;
+ }
+
+ /**
+ * Targeting network.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9;
+ * @param int $var
+ * @return $this
+ */
+ public function setKeywordPlanNetwork($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V2\Enums\KeywordPlanNetworkEnum_KeywordPlanNetwork::class);
+ $this->keyword_plan_network = $var;
+
+ return $this;
+ }
+
+ /**
+ * A Keyword and a specific Url to generate ideas from
+ * e.g. cars, www.example.com/cars.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.KeywordAndUrlSeed keyword_and_url_seed = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\KeywordAndUrlSeed
+ */
+ public function getKeywordAndUrlSeed()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * A Keyword and a specific Url to generate ideas from
+ * e.g. cars, www.example.com/cars.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.KeywordAndUrlSeed keyword_and_url_seed = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordAndUrlSeed $var
+ * @return $this
+ */
+ public function setKeywordAndUrlSeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\KeywordAndUrlSeed::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * A Keyword or phrase to generate ideas from, e.g. cars.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.KeywordSeed keyword_seed = 3;
+ * @return \Google\Ads\GoogleAds\V2\Services\KeywordSeed
+ */
+ public function getKeywordSeed()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * A Keyword or phrase to generate ideas from, e.g. cars.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.KeywordSeed keyword_seed = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordSeed $var
+ * @return $this
+ */
+ public function setKeywordSeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\KeywordSeed::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * A specific url to generate ideas from, e.g. www.example.com/cars.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.UrlSeed url_seed = 5;
+ * @return \Google\Ads\GoogleAds\V2\Services\UrlSeed
+ */
+ public function getUrlSeed()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * A specific url to generate ideas from, e.g. www.example.com/cars.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.UrlSeed url_seed = 5;
+ * @param \Google\Ads\GoogleAds\V2\Services\UrlSeed $var
+ * @return $this
+ */
+ public function setUrlSeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\UrlSeed::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getSeed()
+ {
+ return $this->whichOneof("seed");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClient.php
new file mode 100644
index 000000000..2c1ae7942
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.GeoTargetConstantService/GetGeoTargetConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns GeoTargetConstant suggestions by location name or by resource name.
+ * @param \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function SuggestGeoTargetConstants(\Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.GeoTargetConstantService/SuggestGeoTargetConstants',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantSuggestion.php b/src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantSuggestion.php
new file mode 100644
index 000000000..986593b4a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantSuggestion.php
@@ -0,0 +1,320 @@
+google.ads.googleads.v2.services.GeoTargetConstantSuggestion
+ */
+final class GeoTargetConstantSuggestion extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The language this GeoTargetConstantSuggestion is currently translated to.
+ * It affects the name of geo target fields. For example, if locale=en, then
+ * name=Spain. If locale=es, then name=España. The default locale will be
+ * returned if no translation exists for the locale in the request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 1;
+ */
+ private $locale = null;
+ /**
+ * Approximate user population that will be targeted, rounded to the
+ * nearest 100.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reach = 2;
+ */
+ private $reach = null;
+ /**
+ * If the request searched by location name, this is the location name that
+ * matched the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 3;
+ */
+ private $search_term = null;
+ /**
+ * The GeoTargetConstant result.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 4;
+ */
+ private $geo_target_constant = null;
+ /**
+ * The list of parents of the geo target constant.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant_parents = 5;
+ */
+ private $geo_target_constant_parents;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $locale
+ * The language this GeoTargetConstantSuggestion is currently translated to.
+ * It affects the name of geo target fields. For example, if locale=en, then
+ * name=Spain. If locale=es, then name=España. The default locale will be
+ * returned if no translation exists for the locale in the request.
+ * @type \Google\Protobuf\Int64Value $reach
+ * Approximate user population that will be targeted, rounded to the
+ * nearest 100.
+ * @type \Google\Protobuf\StringValue $search_term
+ * If the request searched by location name, this is the location name that
+ * matched the geo target.
+ * @type \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant $geo_target_constant
+ * The GeoTargetConstant result.
+ * @type \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant[]|\Google\Protobuf\Internal\RepeatedField $geo_target_constant_parents
+ * The list of parents of the geo target constant.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeoTargetConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The language this GeoTargetConstantSuggestion is currently translated to.
+ * It affects the name of geo target fields. For example, if locale=en, then
+ * name=Spain. If locale=es, then name=España. The default locale will be
+ * returned if no translation exists for the locale in the request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * Returns the unboxed value from getLocale()
+
+ * The language this GeoTargetConstantSuggestion is currently translated to.
+ * It affects the name of geo target fields. For example, if locale=en, then
+ * name=Spain. If locale=es, then name=España. The default locale will be
+ * returned if no translation exists for the locale in the request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 1;
+ * @return string|null
+ */
+ public function getLocaleUnwrapped()
+ {
+ $wrapper = $this->getLocale();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The language this GeoTargetConstantSuggestion is currently translated to.
+ * It affects the name of geo target fields. For example, if locale=en, then
+ * name=Spain. If locale=es, then name=España. The default locale will be
+ * returned if no translation exists for the locale in the request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLocale($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->locale = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The language this GeoTargetConstantSuggestion is currently translated to.
+ * It affects the name of geo target fields. For example, if locale=en, then
+ * name=Spain. If locale=es, then name=España. The default locale will be
+ * returned if no translation exists for the locale in the request.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLocaleUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLocale($wrappedVar);
+ }
+
+ /**
+ * Approximate user population that will be targeted, rounded to the
+ * nearest 100.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reach = 2;
+ * @return \Google\Protobuf\Int64Value
+ */
+ public function getReach()
+ {
+ return $this->reach;
+ }
+
+ /**
+ * Returns the unboxed value from getReach()
+
+ * Approximate user population that will be targeted, rounded to the
+ * nearest 100.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reach = 2;
+ * @return int|string|null
+ */
+ public function getReachUnwrapped()
+ {
+ $wrapper = $this->getReach();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Approximate user population that will be targeted, rounded to the
+ * nearest 100.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reach = 2;
+ * @param \Google\Protobuf\Int64Value $var
+ * @return $this
+ */
+ public function setReach($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class);
+ $this->reach = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object.
+
+ * Approximate user population that will be targeted, rounded to the
+ * nearest 100.
+ *
+ * Generated from protobuf field .google.protobuf.Int64Value reach = 2;
+ * @param int|string|null $var
+ * @return $this
+ */
+ public function setReachUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\Int64Value(['value' => $var]);
+ return $this->setReach($wrappedVar);
+ }
+
+ /**
+ * If the request searched by location name, this is the location name that
+ * matched the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSearchTerm()
+ {
+ return $this->search_term;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchTerm()
+
+ * If the request searched by location name, this is the location name that
+ * matched the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 3;
+ * @return string|null
+ */
+ public function getSearchTermUnwrapped()
+ {
+ $wrapper = $this->getSearchTerm();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * If the request searched by location name, this is the location name that
+ * matched the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSearchTerm($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->search_term = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * If the request searched by location name, this is the location name that
+ * matched the geo target.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_term = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSearchTermUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSearchTerm($wrappedVar);
+ }
+
+ /**
+ * The GeoTargetConstant result.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 4;
+ * @return \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant
+ */
+ public function getGeoTargetConstant()
+ {
+ return $this->geo_target_constant;
+ }
+
+ /**
+ * The GeoTargetConstant result.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 4;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant $var
+ * @return $this
+ */
+ public function setGeoTargetConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant::class);
+ $this->geo_target_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of parents of the geo target constant.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant_parents = 5;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeoTargetConstantParents()
+ {
+ return $this->geo_target_constant_parents;
+ }
+
+ /**
+ * The list of parents of the geo target constant.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant_parents = 5;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeoTargetConstantParents($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant::class);
+ $this->geo_target_constant_parents = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClient.php
new file mode 100644
index 000000000..20c24604e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.GeographicViewService/GetGeographicView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\GeographicView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetProposalRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetProposalRequest.php
new file mode 100644
index 000000000..f83d892cf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetProposalRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetAccountBudgetProposalRequest
+ */
+final class GetAccountBudgetProposalRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the account-level budget proposal to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the account-level budget proposal to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the account-level budget proposal to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the account-level budget proposal to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetRequest.php
new file mode 100644
index 000000000..612c7e7e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAccountBudgetRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetAccountBudgetRequest
+ */
+final class GetAccountBudgetRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the account-level budget to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the account-level budget to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AccountBudgetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the account-level budget to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the account-level budget to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdAssetViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdAssetViewRequest.php
new file mode 100644
index 000000000..7c0476df9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdAssetViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupAdAssetViewRequest
+ */
+final class GetAdGroupAdAssetViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group ad asset view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group ad asset view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdAssetViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group ad asset view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group ad asset view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdLabelRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdLabelRequest.php
new file mode 100644
index 000000000..503379786
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdLabelRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupAdLabelRequest
+ */
+final class GetAdGroupAdLabelRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group ad label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group ad label to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group ad label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group ad label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdRequest.php
new file mode 100644
index 000000000..6317441d4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAdRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupAdRequest
+ */
+final class GetAdGroupAdRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAudienceViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAudienceViewRequest.php
new file mode 100644
index 000000000..a6cc9b32f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupAudienceViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupAudienceViewRequest
+ */
+final class GetAdGroupAudienceViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group audience view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group audience view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAudienceViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group audience view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group audience view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupBidModifierRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupBidModifierRequest.php
new file mode 100644
index 000000000..281c5f102
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupBidModifierRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupBidModifierRequest
+ */
+final class GetAdGroupBidModifierRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group bid modifier to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group bid modifier to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group bid modifier to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group bid modifier to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionLabelRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionLabelRequest.php
new file mode 100644
index 000000000..abb3252aa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionLabelRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetAdGroupCriterionLabelRequest
+ */
+final class GetAdGroupCriterionLabelRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group criterion label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group criterion label to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group criterion label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group criterion label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionRequest.php
new file mode 100644
index 000000000..80fe66504
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupCriterionRequest
+ */
+final class GetAdGroupCriterionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the criterion to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionSimulationRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionSimulationRequest.php
new file mode 100644
index 000000000..294458030
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupCriterionSimulationRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetAdGroupCriterionSimulationRequest
+ */
+final class GetAdGroupCriterionSimulationRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group criterion simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group criterion simulation to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionSimulationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group criterion simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group criterion simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupExtensionSettingRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupExtensionSettingRequest.php
new file mode 100644
index 000000000..cd85e8967
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupExtensionSettingRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetAdGroupExtensionSettingRequest
+ */
+final class GetAdGroupExtensionSettingRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group extension setting to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupFeedRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupFeedRequest.php
new file mode 100644
index 000000000..ac37f3c54
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupFeedRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupFeedRequest
+ */
+final class GetAdGroupFeedRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group feed to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupLabelRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupLabelRequest.php
new file mode 100644
index 000000000..fa0359fa2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupLabelRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupLabelRequest
+ */
+final class GetAdGroupLabelRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group label to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupRequest.php
new file mode 100644
index 000000000..32af487e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupRequest
+ */
+final class GetAdGroupRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupSimulationRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupSimulationRequest.php
new file mode 100644
index 000000000..a6a7979e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdGroupSimulationRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdGroupSimulationRequest
+ */
+final class GetAdGroupSimulationRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group simulation to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupSimulationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdParameterRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdParameterRequest.php
new file mode 100644
index 000000000..90a85dae1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdParameterRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdParameterRequest
+ */
+final class GetAdParameterRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad parameter to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad parameter to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdParameterService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad parameter to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad parameter to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdRequest.php
new file mode 100644
index 000000000..cc69c13ee
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdRequest
+ */
+final class GetAdRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAdScheduleViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAdScheduleViewRequest.php
new file mode 100644
index 000000000..4f3145366
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAdScheduleViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAdScheduleViewRequest
+ */
+final class GetAdScheduleViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad schedule view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad schedule view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdScheduleViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad schedule view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad schedule view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAgeRangeViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAgeRangeViewRequest.php
new file mode 100644
index 000000000..c3fa17e82
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAgeRangeViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAgeRangeViewRequest
+ */
+final class GetAgeRangeViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the age range view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the age range view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AgeRangeViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the age range view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the age range view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetAssetRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetAssetRequest.php
new file mode 100644
index 000000000..64905ebc7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetAssetRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetAssetRequest
+ */
+final class GetAssetRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the asset to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the asset to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AssetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the asset to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the asset to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetBiddingStrategyRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetBiddingStrategyRequest.php
new file mode 100644
index 000000000..dd76a7aa8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetBiddingStrategyRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetBiddingStrategyRequest
+ */
+final class GetBiddingStrategyRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the bidding strategy to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the bidding strategy to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BiddingStrategyService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the bidding strategy to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the bidding strategy to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetBillingSetupRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetBillingSetupRequest.php
new file mode 100644
index 000000000..acd4bd373
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetBillingSetupRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetBillingSetupRequest
+ */
+final class GetBillingSetupRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the billing setup to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the billing setup to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BillingSetupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the billing setup to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the billing setup to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignAudienceViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignAudienceViewRequest.php
new file mode 100644
index 000000000..5886f54bb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignAudienceViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignAudienceViewRequest
+ */
+final class GetCampaignAudienceViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign audience view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign audience view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignAudienceViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign audience view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign audience view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignBidModifierRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignBidModifierRequest.php
new file mode 100644
index 000000000..9e441d08c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignBidModifierRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignBidModifierRequest
+ */
+final class GetCampaignBidModifierRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign bid modifier to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign bid modifier to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign bid modifier to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign bid modifier to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignBudgetRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignBudgetRequest.php
new file mode 100644
index 000000000..595559aeb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignBudgetRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignBudgetRequest
+ */
+final class GetCampaignBudgetRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign budget to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign budget to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBudgetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign budget to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign budget to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionRequest.php
new file mode 100644
index 000000000..703d00856
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignCriterionRequest
+ */
+final class GetCampaignCriterionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the criterion to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionSimulationRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionSimulationRequest.php
new file mode 100644
index 000000000..e4d705bcb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignCriterionSimulationRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetCampaignCriterionSimulationRequest
+ */
+final class GetCampaignCriterionSimulationRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign criterion simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign criterion simulation to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignCriterionSimulationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign criterion simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign criterion simulation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignDraftRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignDraftRequest.php
new file mode 100644
index 000000000..a554d0b3c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignDraftRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignDraftRequest
+ */
+final class GetCampaignDraftRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign draft to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign draft to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign draft to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign draft to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignExperimentRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignExperimentRequest.php
new file mode 100644
index 000000000..753907afc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignExperimentRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignExperimentRequest
+ */
+final class GetCampaignExperimentRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign experiment to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign experiment to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign experiment to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign experiment to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignExtensionSettingRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignExtensionSettingRequest.php
new file mode 100644
index 000000000..cfe627833
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignExtensionSettingRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetCampaignExtensionSettingRequest
+ */
+final class GetCampaignExtensionSettingRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign extension setting to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignFeedRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignFeedRequest.php
new file mode 100644
index 000000000..b3482fa20
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignFeedRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignFeedRequest
+ */
+final class GetCampaignFeedRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign feed to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignLabelRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignLabelRequest.php
new file mode 100644
index 000000000..d417e9029
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignLabelRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignLabelRequest
+ */
+final class GetCampaignLabelRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign-label relationship to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign-label relationship to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign-label relationship to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign-label relationship to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignRequest.php
new file mode 100644
index 000000000..11499adf5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignRequest
+ */
+final class GetCampaignRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCampaignSharedSetRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignSharedSetRequest.php
new file mode 100644
index 000000000..d871240bb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCampaignSharedSetRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCampaignSharedSetRequest
+ */
+final class GetCampaignSharedSetRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign shared set to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the campaign shared set to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignSharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign shared set to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the campaign shared set to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCarrierConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCarrierConstantRequest.php
new file mode 100644
index 000000000..8522b101b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCarrierConstantRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCarrierConstantRequest
+ */
+final class GetCarrierConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the carrier constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the carrier constant to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CarrierConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the carrier constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the carrier constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetChangeStatusRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetChangeStatusRequest.php
new file mode 100644
index 000000000..aeb83abd8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetChangeStatusRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetChangeStatusRequest
+ */
+final class GetChangeStatusRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the change status to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the change status to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ChangeStatusService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the change status to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the change status to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetClickViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetClickViewRequest.php
new file mode 100644
index 000000000..5e795e792
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetClickViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetClickViewRequest
+ */
+final class GetClickViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the click view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the click view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ClickViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the click view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the click view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetConversionActionRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetConversionActionRequest.php
new file mode 100644
index 000000000..905a1b847
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetConversionActionRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetConversionActionRequest
+ */
+final class GetConversionActionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the conversion action to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the conversion action to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the conversion action to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the conversion action to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomInterestRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomInterestRequest.php
new file mode 100644
index 000000000..cd21eabd4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomInterestRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomInterestRequest
+ */
+final class GetCustomInterestRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the custom interest to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the custom interest to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomInterestService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the custom interest to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the custom interest to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientLinkRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientLinkRequest.php
new file mode 100644
index 000000000..a12579f87
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientLinkRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomerClientLinkRequest
+ */
+final class GetCustomerClientLinkRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer client link to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer client link to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerClientLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer client link to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer client link to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientRequest.php
new file mode 100644
index 000000000..28ba40da8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerClientRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomerClientRequest
+ */
+final class GetCustomerClientRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the client to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the client to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerClientService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the client to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the client to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerExtensionSettingRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerExtensionSettingRequest.php
new file mode 100644
index 000000000..78648dc93
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerExtensionSettingRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetCustomerExtensionSettingRequest
+ */
+final class GetCustomerExtensionSettingRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer extension setting to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer extension setting to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerFeedRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerFeedRequest.php
new file mode 100644
index 000000000..e981246d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerFeedRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomerFeedRequest
+ */
+final class GetCustomerFeedRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer feed to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerLabelRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerLabelRequest.php
new file mode 100644
index 000000000..01f277784
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerLabelRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomerLabelRequest
+ */
+final class GetCustomerLabelRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer-label relationship to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer-label relationship to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer-label relationship to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer-label relationship to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerManagerLinkRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerManagerLinkRequest.php
new file mode 100644
index 000000000..484ad62cc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerManagerLinkRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomerManagerLinkRequest
+ */
+final class GetCustomerManagerLinkRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the CustomerManagerLink to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the CustomerManagerLink to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the CustomerManagerLink to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the CustomerManagerLink to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerNegativeCriterionRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerNegativeCriterionRequest.php
new file mode 100644
index 000000000..704568d9a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerNegativeCriterionRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetCustomerNegativeCriterionRequest
+ */
+final class GetCustomerNegativeCriterionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the criterion to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetCustomerRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerRequest.php
new file mode 100644
index 000000000..e99dfc3d8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetCustomerRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetCustomerRequest
+ */
+final class GetCustomerRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the customer to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the customer to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the customer to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the customer to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetDetailPlacementViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetDetailPlacementViewRequest.php
new file mode 100644
index 000000000..449e80518
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetDetailPlacementViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetDetailPlacementViewRequest
+ */
+final class GetDetailPlacementViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Detail Placement view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Detail Placement view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\DetailPlacementViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Detail Placement view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Detail Placement view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetDisplayKeywordViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetDisplayKeywordViewRequest.php
new file mode 100644
index 000000000..cf24c4828
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetDisplayKeywordViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetDisplayKeywordViewRequest
+ */
+final class GetDisplayKeywordViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the display keyword view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the display keyword view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\DisplayKeywordViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the display keyword view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the display keyword view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetDistanceViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetDistanceViewRequest.php
new file mode 100644
index 000000000..fb9b719c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetDistanceViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetDistanceViewRequest
+ */
+final class GetDistanceViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the distance view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the distance view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\DistanceViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the distance view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the distance view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetDomainCategoryRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetDomainCategoryRequest.php
new file mode 100644
index 000000000..df67143d9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetDomainCategoryRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetDomainCategoryRequest
+ */
+final class GetDomainCategoryRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the domain category to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the domain category to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\DomainCategoryService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the domain category to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the domain category to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetDynamicSearchAdsSearchTermViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetDynamicSearchAdsSearchTermViewRequest.php
new file mode 100644
index 000000000..8409a21ba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetDynamicSearchAdsSearchTermViewRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetDynamicSearchAdsSearchTermViewRequest
+ */
+final class GetDynamicSearchAdsSearchTermViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the dynamic search ads search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the dynamic search ads search term view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\DynamicSearchAdsSearchTermViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the dynamic search ads search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the dynamic search ads search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetExpandedLandingPageViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetExpandedLandingPageViewRequest.php
new file mode 100644
index 000000000..70f17054e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetExpandedLandingPageViewRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetExpandedLandingPageViewRequest
+ */
+final class GetExpandedLandingPageViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the expanded landing page view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the expanded landing page view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ExpandedLandingPageViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the expanded landing page view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the expanded landing page view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetExtensionFeedItemRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetExtensionFeedItemRequest.php
new file mode 100644
index 000000000..e98673841
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetExtensionFeedItemRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetExtensionFeedItemRequest
+ */
+final class GetExtensionFeedItemRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the extension feed item to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the extension feed item to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the extension feed item to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the extension feed item to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetFeedItemRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetFeedItemRequest.php
new file mode 100644
index 000000000..32d853720
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetFeedItemRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetFeedItemRequest
+ */
+final class GetFeedItemRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed item to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed item to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed item to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed item to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetFeedItemTargetRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetFeedItemTargetRequest.php
new file mode 100644
index 000000000..5150e24c0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetFeedItemTargetRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetFeedItemTargetRequest
+ */
+final class GetFeedItemTargetRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed item targets to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed item targets to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemTargetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed item targets to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed item targets to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetFeedMappingRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetFeedMappingRequest.php
new file mode 100644
index 000000000..26073fb55
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetFeedMappingRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetFeedMappingRequest
+ */
+final class GetFeedMappingRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed mapping to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed mapping to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedMappingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed mapping to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed mapping to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetFeedPlaceholderViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetFeedPlaceholderViewRequest.php
new file mode 100644
index 000000000..3aad1675e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetFeedPlaceholderViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetFeedPlaceholderViewRequest
+ */
+final class GetFeedPlaceholderViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed placeholder view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed placeholder view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedPlaceholderViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed placeholder view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed placeholder view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetFeedRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetFeedRequest.php
new file mode 100644
index 000000000..b28ea8de3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetFeedRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetFeedRequest
+ */
+final class GetFeedRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the feed to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the feed to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetGenderViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetGenderViewRequest.php
new file mode 100644
index 000000000..14c5e2b9d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetGenderViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetGenderViewRequest
+ */
+final class GetGenderViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the gender view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the gender view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GenderViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the gender view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the gender view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetGeoTargetConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetGeoTargetConstantRequest.php
new file mode 100644
index 000000000..17326b830
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetGeoTargetConstantRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetGeoTargetConstantRequest
+ */
+final class GetGeoTargetConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the geo target constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the geo target constant to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeoTargetConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the geo target constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the geo target constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetGeographicViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetGeographicViewRequest.php
new file mode 100644
index 000000000..3f8903576
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetGeographicViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetGeographicViewRequest
+ */
+final class GetGeographicViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the geographic view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the geographic view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeographicViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the geographic view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the geographic view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetGoogleAdsFieldRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetGoogleAdsFieldRequest.php
new file mode 100644
index 000000000..034ae1df2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetGoogleAdsFieldRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetGoogleAdsFieldRequest
+ */
+final class GetGoogleAdsFieldRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the field to get.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the field to get.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsFieldService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the field to get.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the field to get.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetGroupPlacementViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetGroupPlacementViewRequest.php
new file mode 100644
index 000000000..6259c700b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetGroupPlacementViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetGroupPlacementViewRequest
+ */
+final class GetGroupPlacementViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Group Placement view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Group Placement view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GroupPlacementViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Group Placement view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Group Placement view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetHotelGroupViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetHotelGroupViewRequest.php
new file mode 100644
index 000000000..d717040a3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetHotelGroupViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetHotelGroupViewRequest
+ */
+final class GetHotelGroupViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the Hotel Group View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the Hotel Group View to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\HotelGroupViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the Hotel Group View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the Hotel Group View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetHotelPerformanceViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetHotelPerformanceViewRequest.php
new file mode 100644
index 000000000..db500eb58
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetHotelPerformanceViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetHotelPerformanceViewRequest
+ */
+final class GetHotelPerformanceViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the Hotel Performance View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the Hotel Performance View to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\HotelPerformanceViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the Hotel Performance View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the Hotel Performance View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanAdGroupRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanAdGroupRequest.php
new file mode 100644
index 000000000..bfebbd48b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanAdGroupRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetKeywordPlanAdGroupRequest
+ */
+final class GetKeywordPlanAdGroupRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan ad group to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Plan ad group to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan ad group to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Plan ad group to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanCampaignRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanCampaignRequest.php
new file mode 100644
index 000000000..a7f549b36
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanCampaignRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetKeywordPlanCampaignRequest
+ */
+final class GetKeywordPlanCampaignRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan campaign to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Keyword Plan campaign to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan campaign to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Keyword Plan campaign to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanKeywordRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanKeywordRequest.php
new file mode 100644
index 000000000..9476ef428
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanKeywordRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetKeywordPlanKeywordRequest
+ */
+final class GetKeywordPlanKeywordRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the ad group keyword to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the ad group keyword to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the ad group keyword to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the ad group keyword to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanNegativeKeywordRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanNegativeKeywordRequest.php
new file mode 100644
index 000000000..f35155cca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanNegativeKeywordRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetKeywordPlanNegativeKeywordRequest
+ */
+final class GetKeywordPlanNegativeKeywordRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the plan to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the plan to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the plan to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the plan to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanRequest.php
new file mode 100644
index 000000000..9ab6d40ce
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordPlanRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetKeywordPlanRequest
+ */
+final class GetKeywordPlanRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the plan to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the plan to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the plan to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the plan to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetKeywordViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordViewRequest.php
new file mode 100644
index 000000000..91c775620
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetKeywordViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetKeywordViewRequest
+ */
+final class GetKeywordViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the keyword view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the keyword view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the keyword view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the keyword view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetLabelRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetLabelRequest.php
new file mode 100644
index 000000000..bfa059af6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetLabelRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetLabelRequest
+ */
+final class GetLabelRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the label to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the label to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetLandingPageViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetLandingPageViewRequest.php
new file mode 100644
index 000000000..869ae5d56
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetLandingPageViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetLandingPageViewRequest
+ */
+final class GetLandingPageViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the landing page view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the landing page view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LandingPageViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the landing page view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the landing page view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetLanguageConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetLanguageConstantRequest.php
new file mode 100644
index 000000000..9161d691d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetLanguageConstantRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetLanguageConstantRequest
+ */
+final class GetLanguageConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the language constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the language constant to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LanguageConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the language constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the language constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetLocationViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetLocationViewRequest.php
new file mode 100644
index 000000000..b114987a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetLocationViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetLocationViewRequest
+ */
+final class GetLocationViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the location view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the location view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LocationViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the location view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the location view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetManagedPlacementViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetManagedPlacementViewRequest.php
new file mode 100644
index 000000000..a2639b827
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetManagedPlacementViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetManagedPlacementViewRequest
+ */
+final class GetManagedPlacementViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Managed Placement View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Managed Placement View to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ManagedPlacementViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Managed Placement View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Managed Placement View to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetMediaFileRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetMediaFileRequest.php
new file mode 100644
index 000000000..d4c495757
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetMediaFileRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetMediaFileRequest
+ */
+final class GetMediaFileRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the media file to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the media file to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MediaFileService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the media file to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the media file to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetMerchantCenterLinkRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetMerchantCenterLinkRequest.php
new file mode 100644
index 000000000..27095e0af
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetMerchantCenterLinkRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetMerchantCenterLinkRequest
+ */
+final class GetMerchantCenterLinkRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the Merchant Center link.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the Merchant Center link.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the Merchant Center link.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the Merchant Center link.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetMobileAppCategoryConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetMobileAppCategoryConstantRequest.php
new file mode 100644
index 000000000..b58a25925
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetMobileAppCategoryConstantRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetMobileAppCategoryConstantRequest
+ */
+final class GetMobileAppCategoryConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the mobile app category constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the mobile app category constant to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MobileAppCategoryConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the mobile app category constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the mobile app category constant to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetMobileDeviceConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetMobileDeviceConstantRequest.php
new file mode 100644
index 000000000..c642d0fa8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetMobileDeviceConstantRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetMobileDeviceConstantRequest
+ */
+final class GetMobileDeviceConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the mobile device to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the mobile device to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MobileDeviceConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the mobile device to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the mobile device to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetMutateJobRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetMutateJobRequest.php
new file mode 100644
index 000000000..878999bf2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetMutateJobRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetMutateJobRequest
+ */
+final class GetMutateJobRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the MutateJob to get.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the MutateJob to get.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the MutateJob to get.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the MutateJob to get.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetOperatingSystemVersionConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetOperatingSystemVersionConstantRequest.php
new file mode 100644
index 000000000..a3daed69c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetOperatingSystemVersionConstantRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetOperatingSystemVersionConstantRequest
+ */
+final class GetOperatingSystemVersionConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the OS version to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the OS version to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\OperatingSystemVersionConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the OS version to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the OS version to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetPaidOrganicSearchTermViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetPaidOrganicSearchTermViewRequest.php
new file mode 100644
index 000000000..0213211c6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetPaidOrganicSearchTermViewRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetPaidOrganicSearchTermViewRequest
+ */
+final class GetPaidOrganicSearchTermViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the paid organic search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the paid organic search term view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\PaidOrganicSearchTermViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the paid organic search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the paid organic search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetParentalStatusViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetParentalStatusViewRequest.php
new file mode 100644
index 000000000..018d373f0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetParentalStatusViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetParentalStatusViewRequest
+ */
+final class GetParentalStatusViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the parental status view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the parental status view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ParentalStatusViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the parental status view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the parental status view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetProductBiddingCategoryConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetProductBiddingCategoryConstantRequest.php
new file mode 100644
index 000000000..73bbacd39
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetProductBiddingCategoryConstantRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetProductBiddingCategoryConstantRequest
+ */
+final class GetProductBiddingCategoryConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the Product Bidding Category to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the Product Bidding Category to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ProductBiddingCategoryConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the Product Bidding Category to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the Product Bidding Category to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetProductGroupViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetProductGroupViewRequest.php
new file mode 100644
index 000000000..ac1c669e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetProductGroupViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetProductGroupViewRequest
+ */
+final class GetProductGroupViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the product group view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the product group view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ProductGroupViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the product group view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the product group view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetRecommendationRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetRecommendationRequest.php
new file mode 100644
index 000000000..1ef6b872e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetRecommendationRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetRecommendationRequest
+ */
+final class GetRecommendationRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the recommendation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the recommendation to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RecommendationService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the recommendation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the recommendation to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetRemarketingActionRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetRemarketingActionRequest.php
new file mode 100644
index 000000000..04b3c06a0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetRemarketingActionRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetRemarketingActionRequest
+ */
+final class GetRemarketingActionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the remarketing action to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the remarketing action to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RemarketingActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the remarketing action to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the remarketing action to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetSearchTermViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetSearchTermViewRequest.php
new file mode 100644
index 000000000..8c441c42e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetSearchTermViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetSearchTermViewRequest
+ */
+final class GetSearchTermViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the search term view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SearchTermViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the search term view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetSharedCriterionRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetSharedCriterionRequest.php
new file mode 100644
index 000000000..23cc74074
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetSharedCriterionRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetSharedCriterionRequest
+ */
+final class GetSharedCriterionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the shared criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the shared criterion to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the shared criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the shared criterion to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetSharedSetRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetSharedSetRequest.php
new file mode 100644
index 000000000..ade0df1cd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetSharedSetRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetSharedSetRequest
+ */
+final class GetSharedSetRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the shared set to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the shared set to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the shared set to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the shared set to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetShoppingPerformanceViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetShoppingPerformanceViewRequest.php
new file mode 100644
index 000000000..dae5dce69
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetShoppingPerformanceViewRequest.php
@@ -0,0 +1,68 @@
+google.ads.googleads.v2.services.GetShoppingPerformanceViewRequest
+ */
+final class GetShoppingPerformanceViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Shopping performance view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the Shopping performance view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ShoppingPerformanceViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Shopping performance view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the Shopping performance view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetTopicConstantRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetTopicConstantRequest.php
new file mode 100644
index 000000000..aa1481531
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetTopicConstantRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetTopicConstantRequest
+ */
+final class GetTopicConstantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the Topic to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the Topic to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\TopicConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the Topic to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the Topic to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetTopicViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetTopicViewRequest.php
new file mode 100644
index 000000000..0893d0080
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetTopicViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetTopicViewRequest
+ */
+final class GetTopicViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the topic view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the topic view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\TopicViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the topic view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the topic view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetUserInterestRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetUserInterestRequest.php
new file mode 100644
index 000000000..4e76df26d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetUserInterestRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetUserInterestRequest
+ */
+final class GetUserInterestRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of the UserInterest to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Resource name of the UserInterest to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserInterestService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of the UserInterest to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Resource name of the UserInterest to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetUserListRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetUserListRequest.php
new file mode 100644
index 000000000..f8af6d56b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetUserListRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetUserListRequest
+ */
+final class GetUserListRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the user list to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the user list to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserListService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the user list to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the user list to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetUserLocationViewRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetUserLocationViewRequest.php
new file mode 100644
index 000000000..d98c6f7d4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetUserLocationViewRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetUserLocationViewRequest
+ */
+final class GetUserLocationViewRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the user location view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the user location view to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserLocationViewService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the user location view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the user location view to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GetVideoRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GetVideoRequest.php
new file mode 100644
index 000000000..fc5d2d62c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GetVideoRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.GetVideoRequest
+ */
+final class GetVideoRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the video to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the video to fetch.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\VideoService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the video to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the video to fetch.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClient.php
new file mode 100644
index 000000000..c2cc3c3b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.GoogleAdsFieldService/GetGoogleAdsField',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\GoogleAdsField', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns all fields that match the search query.
+ * @param \Google\Ads\GoogleAds\V2\Services\SearchGoogleAdsFieldsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function SearchGoogleAdsFields(\Google\Ads\GoogleAds\V2\Services\SearchGoogleAdsFieldsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.GoogleAdsFieldService/SearchGoogleAdsFields',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\SearchGoogleAdsFieldsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsRow.php b/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsRow.php
new file mode 100644
index 000000000..384fa4560
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsRow.php
@@ -0,0 +1,3365 @@
+google.ads.googleads.v2.services.GoogleAdsRow
+ */
+final class GoogleAdsRow extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The account budget in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudget account_budget = 42;
+ */
+ private $account_budget = null;
+ /**
+ * The account budget proposal referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudgetProposal account_budget_proposal = 43;
+ */
+ private $account_budget_proposal = null;
+ /**
+ * The ad group referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup ad_group = 3;
+ */
+ private $ad_group = null;
+ /**
+ * The ad referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd ad_group_ad = 16;
+ */
+ private $ad_group_ad = null;
+ /**
+ * The ad group ad asset view in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131;
+ */
+ private $ad_group_ad_asset_view = null;
+ /**
+ * The ad group ad label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdLabel ad_group_ad_label = 120;
+ */
+ private $ad_group_ad_label = null;
+ /**
+ * The ad group audience view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAudienceView ad_group_audience_view = 57;
+ */
+ private $ad_group_audience_view = null;
+ /**
+ * The bid modifier referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier ad_group_bid_modifier = 24;
+ */
+ private $ad_group_bid_modifier = null;
+ /**
+ * The criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion ad_group_criterion = 17;
+ */
+ private $ad_group_criterion = null;
+ /**
+ * The ad group criterion label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionLabel ad_group_criterion_label = 121;
+ */
+ private $ad_group_criterion_label = null;
+ /**
+ * The ad group criterion simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110;
+ */
+ private $ad_group_criterion_simulation = null;
+ /**
+ * The ad group extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting ad_group_extension_setting = 112;
+ */
+ private $ad_group_extension_setting = null;
+ /**
+ * The ad group feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed ad_group_feed = 67;
+ */
+ private $ad_group_feed = null;
+ /**
+ * The ad group label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupLabel ad_group_label = 115;
+ */
+ private $ad_group_label = null;
+ /**
+ * The ad group simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupSimulation ad_group_simulation = 107;
+ */
+ private $ad_group_simulation = null;
+ /**
+ * The ad parameter referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter ad_parameter = 130;
+ */
+ private $ad_parameter = null;
+ /**
+ * The age range view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AgeRangeView age_range_view = 48;
+ */
+ private $age_range_view = null;
+ /**
+ * The ad schedule view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdScheduleView ad_schedule_view = 89;
+ */
+ private $ad_schedule_view = null;
+ /**
+ * The domain category referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DomainCategory domain_category = 91;
+ */
+ private $domain_category = null;
+ /**
+ * The asset referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Asset asset = 105;
+ */
+ private $asset = null;
+ /**
+ * The bidding strategy referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy bidding_strategy = 18;
+ */
+ private $bidding_strategy = null;
+ /**
+ * The billing setup referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup billing_setup = 41;
+ */
+ private $billing_setup = null;
+ /**
+ * The campaign budget referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget campaign_budget = 19;
+ */
+ private $campaign_budget = null;
+ /**
+ * The campaign referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign campaign = 2;
+ */
+ private $campaign = null;
+ /**
+ * The campaign audience view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignAudienceView campaign_audience_view = 69;
+ */
+ private $campaign_audience_view = null;
+ /**
+ * The campaign bid modifier referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier campaign_bid_modifier = 26;
+ */
+ private $campaign_bid_modifier = null;
+ /**
+ * The campaign criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion campaign_criterion = 20;
+ */
+ private $campaign_criterion = null;
+ /**
+ * The campaign criterion simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111;
+ */
+ private $campaign_criterion_simulation = null;
+ /**
+ * The campaign draft referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft campaign_draft = 49;
+ */
+ private $campaign_draft = null;
+ /**
+ * The campaign experiment referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 84;
+ */
+ private $campaign_experiment = null;
+ /**
+ * The campaign extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting campaign_extension_setting = 113;
+ */
+ private $campaign_extension_setting = null;
+ /**
+ * The campaign feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed campaign_feed = 63;
+ */
+ private $campaign_feed = null;
+ /**
+ * The campaign label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignLabel campaign_label = 108;
+ */
+ private $campaign_label = null;
+ /**
+ * Campaign Shared Set referenced in AWQL query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignSharedSet campaign_shared_set = 30;
+ */
+ private $campaign_shared_set = null;
+ /**
+ * The carrier constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CarrierConstant carrier_constant = 66;
+ */
+ private $carrier_constant = null;
+ /**
+ * The ChangeStatus referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ChangeStatus change_status = 37;
+ */
+ private $change_status = null;
+ /**
+ * The conversion action referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction conversion_action = 103;
+ */
+ private $conversion_action = null;
+ /**
+ * The ClickView referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ClickView click_view = 122;
+ */
+ private $click_view = null;
+ /**
+ * The CustomInterest referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest custom_interest = 104;
+ */
+ private $custom_interest = null;
+ /**
+ * The customer referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer customer = 1;
+ */
+ private $customer = null;
+ /**
+ * The CustomerManagerLink referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerManagerLink customer_manager_link = 61;
+ */
+ private $customer_manager_link = null;
+ /**
+ * The CustomerClientLink referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink customer_client_link = 62;
+ */
+ private $customer_client_link = null;
+ /**
+ * The CustomerClient referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClient customer_client = 70;
+ */
+ private $customer_client = null;
+ /**
+ * The customer extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting customer_extension_setting = 114;
+ */
+ private $customer_extension_setting = null;
+ /**
+ * The customer feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed customer_feed = 64;
+ */
+ private $customer_feed = null;
+ /**
+ * The customer label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerLabel customer_label = 124;
+ */
+ private $customer_label = null;
+ /**
+ * The customer negative criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerNegativeCriterion customer_negative_criterion = 88;
+ */
+ private $customer_negative_criterion = null;
+ /**
+ * The detail placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DetailPlacementView detail_placement_view = 118;
+ */
+ private $detail_placement_view = null;
+ /**
+ * The display keyword view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DisplayKeywordView display_keyword_view = 47;
+ */
+ private $display_keyword_view = null;
+ /**
+ * The distance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DistanceView distance_view = 132;
+ */
+ private $distance_view = null;
+ /**
+ * The dynamic search ads search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106;
+ */
+ private $dynamic_search_ads_search_term_view = null;
+ /**
+ * The expanded landing page view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExpandedLandingPageView expanded_landing_page_view = 128;
+ */
+ private $expanded_landing_page_view = null;
+ /**
+ * The extension feed item referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem extension_feed_item = 85;
+ */
+ private $extension_feed_item = null;
+ /**
+ * The feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed feed = 46;
+ */
+ private $feed = null;
+ /**
+ * The feed item referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem feed_item = 50;
+ */
+ private $feed_item = null;
+ /**
+ * The feed item target referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItemTarget feed_item_target = 116;
+ */
+ private $feed_item_target = null;
+ /**
+ * The feed mapping referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedMapping feed_mapping = 58;
+ */
+ private $feed_mapping = null;
+ /**
+ * The feed placeholder view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedPlaceholderView feed_placeholder_view = 97;
+ */
+ private $feed_placeholder_view = null;
+ /**
+ * The gender view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GenderView gender_view = 40;
+ */
+ private $gender_view = null;
+ /**
+ * The geo target constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 23;
+ */
+ private $geo_target_constant = null;
+ /**
+ * The geographic view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeographicView geographic_view = 125;
+ */
+ private $geographic_view = null;
+ /**
+ * The group placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GroupPlacementView group_placement_view = 119;
+ */
+ private $group_placement_view = null;
+ /**
+ * The hotel group view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.HotelGroupView hotel_group_view = 51;
+ */
+ private $hotel_group_view = null;
+ /**
+ * The hotel performance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.HotelPerformanceView hotel_performance_view = 71;
+ */
+ private $hotel_performance_view = null;
+ /**
+ * The keyword view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordView keyword_view = 21;
+ */
+ private $keyword_view = null;
+ /**
+ * The keyword plan referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan keyword_plan = 32;
+ */
+ private $keyword_plan = null;
+ /**
+ * The keyword plan campaign referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign keyword_plan_campaign = 33;
+ */
+ private $keyword_plan_campaign = null;
+ /**
+ * The keyword plan negative keyword referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword keyword_plan_negative_keyword = 34;
+ */
+ private $keyword_plan_negative_keyword = null;
+ /**
+ * The keyword plan ad group referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35;
+ */
+ private $keyword_plan_ad_group = null;
+ /**
+ * The keyword plan keyword referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword keyword_plan_keyword = 36;
+ */
+ private $keyword_plan_keyword = null;
+ /**
+ * The label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label label = 52;
+ */
+ private $label = null;
+ /**
+ * The landing page view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LandingPageView landing_page_view = 126;
+ */
+ private $landing_page_view = null;
+ /**
+ * The language constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LanguageConstant language_constant = 55;
+ */
+ private $language_constant = null;
+ /**
+ * The location view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LocationView location_view = 123;
+ */
+ private $location_view = null;
+ /**
+ * The managed placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ManagedPlacementView managed_placement_view = 53;
+ */
+ private $managed_placement_view = null;
+ /**
+ * The media file referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaFile media_file = 90;
+ */
+ private $media_file = null;
+ /**
+ * The mobile app category constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MobileAppCategoryConstant mobile_app_category_constant = 87;
+ */
+ private $mobile_app_category_constant = null;
+ /**
+ * The mobile device constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MobileDeviceConstant mobile_device_constant = 98;
+ */
+ private $mobile_device_constant = null;
+ /**
+ * The mutate job referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MutateJob mutate_job = 127;
+ */
+ private $mutate_job = null;
+ /**
+ * The operating system version constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.OperatingSystemVersionConstant operating_system_version_constant = 86;
+ */
+ private $operating_system_version_constant = null;
+ /**
+ * The paid organic search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129;
+ */
+ private $paid_organic_search_term_view = null;
+ /**
+ * The parental status view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ParentalStatusView parental_status_view = 45;
+ */
+ private $parental_status_view = null;
+ /**
+ * The Product Bidding Category referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109;
+ */
+ private $product_bidding_category_constant = null;
+ /**
+ * The product group view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ProductGroupView product_group_view = 54;
+ */
+ private $product_group_view = null;
+ /**
+ * The recommendation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation recommendation = 22;
+ */
+ private $recommendation = null;
+ /**
+ * The search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SearchTermView search_term_view = 68;
+ */
+ private $search_term_view = null;
+ /**
+ * The shared set referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedCriterion shared_criterion = 29;
+ */
+ private $shared_criterion = null;
+ /**
+ * The shared set referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet shared_set = 27;
+ */
+ private $shared_set = null;
+ /**
+ * The shopping performance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ShoppingPerformanceView shopping_performance_view = 117;
+ */
+ private $shopping_performance_view = null;
+ /**
+ * The topic view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.TopicView topic_view = 44;
+ */
+ private $topic_view = null;
+ /**
+ * The user interest referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserInterest user_interest = 59;
+ */
+ private $user_interest = null;
+ /**
+ * The user list referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList user_list = 38;
+ */
+ private $user_list = null;
+ /**
+ * The user location view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserLocationView user_location_view = 135;
+ */
+ private $user_location_view = null;
+ /**
+ * The remarketing action referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction remarketing_action = 60;
+ */
+ private $remarketing_action = null;
+ /**
+ * The topic constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.TopicConstant topic_constant = 31;
+ */
+ private $topic_constant = null;
+ /**
+ * The video referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Video video = 39;
+ */
+ private $video = null;
+ /**
+ * The metrics.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Metrics metrics = 4;
+ */
+ private $metrics = null;
+ /**
+ * The segments.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Segments segments = 102;
+ */
+ private $segments = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\AccountBudget $account_budget
+ * The account budget in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal $account_budget_proposal
+ * The account budget proposal referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroup $ad_group
+ * The ad group referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAd $ad_group_ad
+ * The ad referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView $ad_group_ad_asset_view
+ * The ad group ad asset view in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel $ad_group_ad_label
+ * The ad group ad label referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupAudienceView $ad_group_audience_view
+ * The ad group audience view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier $ad_group_bid_modifier
+ * The bid modifier referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion $ad_group_criterion
+ * The criterion referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel $ad_group_criterion_label
+ * The ad group criterion label referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionSimulation $ad_group_criterion_simulation
+ * The ad group criterion simulation referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting $ad_group_extension_setting
+ * The ad group extension setting referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed $ad_group_feed
+ * The ad group feed referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel $ad_group_label
+ * The ad group label referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdGroupSimulation $ad_group_simulation
+ * The ad group simulation referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdParameter $ad_parameter
+ * The ad parameter referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AgeRangeView $age_range_view
+ * The age range view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\AdScheduleView $ad_schedule_view
+ * The ad schedule view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\DomainCategory $domain_category
+ * The domain category referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Asset $asset
+ * The asset referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy $bidding_strategy
+ * The bidding strategy referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\BillingSetup $billing_setup
+ * The billing setup referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignBudget $campaign_budget
+ * The campaign budget referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Campaign $campaign
+ * The campaign referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignAudienceView $campaign_audience_view
+ * The campaign audience view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier $campaign_bid_modifier
+ * The campaign bid modifier referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion $campaign_criterion
+ * The campaign criterion referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignCriterionSimulation $campaign_criterion_simulation
+ * The campaign criterion simulation referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignDraft $campaign_draft
+ * The campaign draft referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment $campaign_experiment
+ * The campaign experiment referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting $campaign_extension_setting
+ * The campaign extension setting referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignFeed $campaign_feed
+ * The campaign feed referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignLabel $campaign_label
+ * The campaign label referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet $campaign_shared_set
+ * Campaign Shared Set referenced in AWQL query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CarrierConstant $carrier_constant
+ * The carrier constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ChangeStatus $change_status
+ * The ChangeStatus referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ConversionAction $conversion_action
+ * The conversion action referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ClickView $click_view
+ * The ClickView referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomInterest $custom_interest
+ * The CustomInterest referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Customer $customer
+ * The customer referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink $customer_manager_link
+ * The CustomerManagerLink referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink $customer_client_link
+ * The CustomerClientLink referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerClient $customer_client
+ * The CustomerClient referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting $customer_extension_setting
+ * The customer extension setting referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerFeed $customer_feed
+ * The customer feed referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerLabel $customer_label
+ * The customer label referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion $customer_negative_criterion
+ * The customer negative criterion referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\DetailPlacementView $detail_placement_view
+ * The detail placement view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\DisplayKeywordView $display_keyword_view
+ * The display keyword view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\DistanceView $distance_view
+ * The distance view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\DynamicSearchAdsSearchTermView $dynamic_search_ads_search_term_view
+ * The dynamic search ads search term view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ExpandedLandingPageView $expanded_landing_page_view
+ * The expanded landing page view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem $extension_feed_item
+ * The extension feed item referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Feed $feed
+ * The feed referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItem $feed_item
+ * The feed item referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget $feed_item_target
+ * The feed item target referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedMapping $feed_mapping
+ * The feed mapping referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\FeedPlaceholderView $feed_placeholder_view
+ * The feed placeholder view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\GenderView $gender_view
+ * The gender view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant $geo_target_constant
+ * The geo target constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\GeographicView $geographic_view
+ * The geographic view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\GroupPlacementView $group_placement_view
+ * The group placement view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\HotelGroupView $hotel_group_view
+ * The hotel group view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\HotelPerformanceView $hotel_performance_view
+ * The hotel performance view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordView $keyword_view
+ * The keyword view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlan $keyword_plan
+ * The keyword plan referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign $keyword_plan_campaign
+ * The keyword plan campaign referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword $keyword_plan_negative_keyword
+ * The keyword plan negative keyword referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup $keyword_plan_ad_group
+ * The keyword plan ad group referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword $keyword_plan_keyword
+ * The keyword plan keyword referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Label $label
+ * The label referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\LandingPageView $landing_page_view
+ * The landing page view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\LanguageConstant $language_constant
+ * The language constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\LocationView $location_view
+ * The location view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ManagedPlacementView $managed_placement_view
+ * The managed placement view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MediaFile $media_file
+ * The media file referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MobileAppCategoryConstant $mobile_app_category_constant
+ * The mobile app category constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MobileDeviceConstant $mobile_device_constant
+ * The mobile device constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MutateJob $mutate_job
+ * The mutate job referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\OperatingSystemVersionConstant $operating_system_version_constant
+ * The operating system version constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\PaidOrganicSearchTermView $paid_organic_search_term_view
+ * The paid organic search term view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ParentalStatusView $parental_status_view
+ * The parental status view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ProductBiddingCategoryConstant $product_bidding_category_constant
+ * The Product Bidding Category referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ProductGroupView $product_group_view
+ * The product group view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Recommendation $recommendation
+ * The recommendation referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\SearchTermView $search_term_view
+ * The search term view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\SharedCriterion $shared_criterion
+ * The shared set referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\SharedSet $shared_set
+ * The shared set referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\ShoppingPerformanceView $shopping_performance_view
+ * The shopping performance view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\TopicView $topic_view
+ * The topic view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\UserInterest $user_interest
+ * The user interest referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\UserList $user_list
+ * The user list referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\UserLocationView $user_location_view
+ * The user location view referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\RemarketingAction $remarketing_action
+ * The remarketing action referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\TopicConstant $topic_constant
+ * The topic constant referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Video $video
+ * The video referenced in the query.
+ * @type \Google\Ads\GoogleAds\V2\Common\Metrics $metrics
+ * The metrics.
+ * @type \Google\Ads\GoogleAds\V2\Common\Segments $segments
+ * The segments.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The account budget in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudget account_budget = 42;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AccountBudget
+ */
+ public function getAccountBudget()
+ {
+ return $this->account_budget;
+ }
+
+ /**
+ * The account budget in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudget account_budget = 42;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AccountBudget $var
+ * @return $this
+ */
+ public function setAccountBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AccountBudget::class);
+ $this->account_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * The account budget proposal referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudgetProposal account_budget_proposal = 43;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal
+ */
+ public function getAccountBudgetProposal()
+ {
+ return $this->account_budget_proposal;
+ }
+
+ /**
+ * The account budget proposal referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AccountBudgetProposal account_budget_proposal = 43;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal $var
+ * @return $this
+ */
+ public function setAccountBudgetProposal($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AccountBudgetProposal::class);
+ $this->account_budget_proposal = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup ad_group = 3;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroup
+ */
+ public function getAdGroup()
+ {
+ return $this->ad_group;
+ }
+
+ /**
+ * The ad group referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroup ad_group = 3;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroup $var
+ * @return $this
+ */
+ public function setAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroup::class);
+ $this->ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd ad_group_ad = 16;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAd
+ */
+ public function getAdGroupAd()
+ {
+ return $this->ad_group_ad;
+ }
+
+ /**
+ * The ad referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAd ad_group_ad = 16;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAd $var
+ * @return $this
+ */
+ public function setAdGroupAd($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAd::class);
+ $this->ad_group_ad = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group ad asset view in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView
+ */
+ public function getAdGroupAdAssetView()
+ {
+ return $this->ad_group_ad_asset_view;
+ }
+
+ /**
+ * The ad group ad asset view in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView $var
+ * @return $this
+ */
+ public function setAdGroupAdAssetView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAdAssetView::class);
+ $this->ad_group_ad_asset_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group ad label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdLabel ad_group_ad_label = 120;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel
+ */
+ public function getAdGroupAdLabel()
+ {
+ return $this->ad_group_ad_label;
+ }
+
+ /**
+ * The ad group ad label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAdLabel ad_group_ad_label = 120;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel $var
+ * @return $this
+ */
+ public function setAdGroupAdLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAdLabel::class);
+ $this->ad_group_ad_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group audience view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAudienceView ad_group_audience_view = 57;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupAudienceView
+ */
+ public function getAdGroupAudienceView()
+ {
+ return $this->ad_group_audience_view;
+ }
+
+ /**
+ * The ad group audience view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupAudienceView ad_group_audience_view = 57;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupAudienceView $var
+ * @return $this
+ */
+ public function setAdGroupAudienceView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupAudienceView::class);
+ $this->ad_group_audience_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The bid modifier referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier ad_group_bid_modifier = 24;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier
+ */
+ public function getAdGroupBidModifier()
+ {
+ return $this->ad_group_bid_modifier;
+ }
+
+ /**
+ * The bid modifier referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupBidModifier ad_group_bid_modifier = 24;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier $var
+ * @return $this
+ */
+ public function setAdGroupBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupBidModifier::class);
+ $this->ad_group_bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * The criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion ad_group_criterion = 17;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion
+ */
+ public function getAdGroupCriterion()
+ {
+ return $this->ad_group_criterion;
+ }
+
+ /**
+ * The criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterion ad_group_criterion = 17;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion $var
+ * @return $this
+ */
+ public function setAdGroupCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterion::class);
+ $this->ad_group_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group criterion label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionLabel ad_group_criterion_label = 121;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel
+ */
+ public function getAdGroupCriterionLabel()
+ {
+ return $this->ad_group_criterion_label;
+ }
+
+ /**
+ * The ad group criterion label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionLabel ad_group_criterion_label = 121;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel $var
+ * @return $this
+ */
+ public function setAdGroupCriterionLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionLabel::class);
+ $this->ad_group_criterion_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group criterion simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionSimulation
+ */
+ public function getAdGroupCriterionSimulation()
+ {
+ return $this->ad_group_criterion_simulation;
+ }
+
+ /**
+ * The ad group criterion simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionSimulation $var
+ * @return $this
+ */
+ public function setAdGroupCriterionSimulation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupCriterionSimulation::class);
+ $this->ad_group_criterion_simulation = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting ad_group_extension_setting = 112;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting
+ */
+ public function getAdGroupExtensionSetting()
+ {
+ return $this->ad_group_extension_setting;
+ }
+
+ /**
+ * The ad group extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupExtensionSetting ad_group_extension_setting = 112;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting $var
+ * @return $this
+ */
+ public function setAdGroupExtensionSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupExtensionSetting::class);
+ $this->ad_group_extension_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed ad_group_feed = 67;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed
+ */
+ public function getAdGroupFeed()
+ {
+ return $this->ad_group_feed;
+ }
+
+ /**
+ * The ad group feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupFeed ad_group_feed = 67;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed $var
+ * @return $this
+ */
+ public function setAdGroupFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupFeed::class);
+ $this->ad_group_feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupLabel ad_group_label = 115;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel
+ */
+ public function getAdGroupLabel()
+ {
+ return $this->ad_group_label;
+ }
+
+ /**
+ * The ad group label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupLabel ad_group_label = 115;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel $var
+ * @return $this
+ */
+ public function setAdGroupLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupLabel::class);
+ $this->ad_group_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad group simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupSimulation ad_group_simulation = 107;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdGroupSimulation
+ */
+ public function getAdGroupSimulation()
+ {
+ return $this->ad_group_simulation;
+ }
+
+ /**
+ * The ad group simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdGroupSimulation ad_group_simulation = 107;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdGroupSimulation $var
+ * @return $this
+ */
+ public function setAdGroupSimulation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdGroupSimulation::class);
+ $this->ad_group_simulation = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad parameter referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter ad_parameter = 130;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdParameter
+ */
+ public function getAdParameter()
+ {
+ return $this->ad_parameter;
+ }
+
+ /**
+ * The ad parameter referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdParameter ad_parameter = 130;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdParameter $var
+ * @return $this
+ */
+ public function setAdParameter($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdParameter::class);
+ $this->ad_parameter = $var;
+
+ return $this;
+ }
+
+ /**
+ * The age range view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AgeRangeView age_range_view = 48;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AgeRangeView
+ */
+ public function getAgeRangeView()
+ {
+ return $this->age_range_view;
+ }
+
+ /**
+ * The age range view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AgeRangeView age_range_view = 48;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AgeRangeView $var
+ * @return $this
+ */
+ public function setAgeRangeView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AgeRangeView::class);
+ $this->age_range_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ad schedule view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdScheduleView ad_schedule_view = 89;
+ * @return \Google\Ads\GoogleAds\V2\Resources\AdScheduleView
+ */
+ public function getAdScheduleView()
+ {
+ return $this->ad_schedule_view;
+ }
+
+ /**
+ * The ad schedule view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.AdScheduleView ad_schedule_view = 89;
+ * @param \Google\Ads\GoogleAds\V2\Resources\AdScheduleView $var
+ * @return $this
+ */
+ public function setAdScheduleView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\AdScheduleView::class);
+ $this->ad_schedule_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The domain category referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DomainCategory domain_category = 91;
+ * @return \Google\Ads\GoogleAds\V2\Resources\DomainCategory
+ */
+ public function getDomainCategory()
+ {
+ return $this->domain_category;
+ }
+
+ /**
+ * The domain category referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DomainCategory domain_category = 91;
+ * @param \Google\Ads\GoogleAds\V2\Resources\DomainCategory $var
+ * @return $this
+ */
+ public function setDomainCategory($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\DomainCategory::class);
+ $this->domain_category = $var;
+
+ return $this;
+ }
+
+ /**
+ * The asset referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Asset asset = 105;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Asset
+ */
+ public function getAsset()
+ {
+ return $this->asset;
+ }
+
+ /**
+ * The asset referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Asset asset = 105;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Asset $var
+ * @return $this
+ */
+ public function setAsset($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Asset::class);
+ $this->asset = $var;
+
+ return $this;
+ }
+
+ /**
+ * The bidding strategy referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy bidding_strategy = 18;
+ * @return \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy
+ */
+ public function getBiddingStrategy()
+ {
+ return $this->bidding_strategy;
+ }
+
+ /**
+ * The bidding strategy referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BiddingStrategy bidding_strategy = 18;
+ * @param \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy $var
+ * @return $this
+ */
+ public function setBiddingStrategy($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\BiddingStrategy::class);
+ $this->bidding_strategy = $var;
+
+ return $this;
+ }
+
+ /**
+ * The billing setup referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup billing_setup = 41;
+ * @return \Google\Ads\GoogleAds\V2\Resources\BillingSetup
+ */
+ public function getBillingSetup()
+ {
+ return $this->billing_setup;
+ }
+
+ /**
+ * The billing setup referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.BillingSetup billing_setup = 41;
+ * @param \Google\Ads\GoogleAds\V2\Resources\BillingSetup $var
+ * @return $this
+ */
+ public function setBillingSetup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\BillingSetup::class);
+ $this->billing_setup = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign budget referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget campaign_budget = 19;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignBudget
+ */
+ public function getCampaignBudget()
+ {
+ return $this->campaign_budget;
+ }
+
+ /**
+ * The campaign budget referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBudget campaign_budget = 19;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignBudget $var
+ * @return $this
+ */
+ public function setCampaignBudget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignBudget::class);
+ $this->campaign_budget = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign campaign = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Campaign
+ */
+ public function getCampaign()
+ {
+ return $this->campaign;
+ }
+
+ /**
+ * The campaign referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Campaign campaign = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Campaign $var
+ * @return $this
+ */
+ public function setCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Campaign::class);
+ $this->campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign audience view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignAudienceView campaign_audience_view = 69;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignAudienceView
+ */
+ public function getCampaignAudienceView()
+ {
+ return $this->campaign_audience_view;
+ }
+
+ /**
+ * The campaign audience view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignAudienceView campaign_audience_view = 69;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignAudienceView $var
+ * @return $this
+ */
+ public function setCampaignAudienceView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignAudienceView::class);
+ $this->campaign_audience_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign bid modifier referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier campaign_bid_modifier = 26;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier
+ */
+ public function getCampaignBidModifier()
+ {
+ return $this->campaign_bid_modifier;
+ }
+
+ /**
+ * The campaign bid modifier referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignBidModifier campaign_bid_modifier = 26;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier $var
+ * @return $this
+ */
+ public function setCampaignBidModifier($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignBidModifier::class);
+ $this->campaign_bid_modifier = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion campaign_criterion = 20;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion
+ */
+ public function getCampaignCriterion()
+ {
+ return $this->campaign_criterion;
+ }
+
+ /**
+ * The campaign criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterion campaign_criterion = 20;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion $var
+ * @return $this
+ */
+ public function setCampaignCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignCriterion::class);
+ $this->campaign_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign criterion simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignCriterionSimulation
+ */
+ public function getCampaignCriterionSimulation()
+ {
+ return $this->campaign_criterion_simulation;
+ }
+
+ /**
+ * The campaign criterion simulation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignCriterionSimulation $var
+ * @return $this
+ */
+ public function setCampaignCriterionSimulation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignCriterionSimulation::class);
+ $this->campaign_criterion_simulation = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign draft referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft campaign_draft = 49;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignDraft
+ */
+ public function getCampaignDraft()
+ {
+ return $this->campaign_draft;
+ }
+
+ /**
+ * The campaign draft referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignDraft campaign_draft = 49;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignDraft $var
+ * @return $this
+ */
+ public function setCampaignDraft($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignDraft::class);
+ $this->campaign_draft = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign experiment referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 84;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment
+ */
+ public function getCampaignExperiment()
+ {
+ return $this->campaign_experiment;
+ }
+
+ /**
+ * The campaign experiment referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 84;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment $var
+ * @return $this
+ */
+ public function setCampaignExperiment($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignExperiment::class);
+ $this->campaign_experiment = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting campaign_extension_setting = 113;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting
+ */
+ public function getCampaignExtensionSetting()
+ {
+ return $this->campaign_extension_setting;
+ }
+
+ /**
+ * The campaign extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignExtensionSetting campaign_extension_setting = 113;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting $var
+ * @return $this
+ */
+ public function setCampaignExtensionSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignExtensionSetting::class);
+ $this->campaign_extension_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed campaign_feed = 63;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignFeed
+ */
+ public function getCampaignFeed()
+ {
+ return $this->campaign_feed;
+ }
+
+ /**
+ * The campaign feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignFeed campaign_feed = 63;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignFeed $var
+ * @return $this
+ */
+ public function setCampaignFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignFeed::class);
+ $this->campaign_feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * The campaign label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignLabel campaign_label = 108;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignLabel
+ */
+ public function getCampaignLabel()
+ {
+ return $this->campaign_label;
+ }
+
+ /**
+ * The campaign label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignLabel campaign_label = 108;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignLabel $var
+ * @return $this
+ */
+ public function setCampaignLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignLabel::class);
+ $this->campaign_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Campaign Shared Set referenced in AWQL query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignSharedSet campaign_shared_set = 30;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet
+ */
+ public function getCampaignSharedSet()
+ {
+ return $this->campaign_shared_set;
+ }
+
+ /**
+ * Campaign Shared Set referenced in AWQL query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CampaignSharedSet campaign_shared_set = 30;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet $var
+ * @return $this
+ */
+ public function setCampaignSharedSet($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CampaignSharedSet::class);
+ $this->campaign_shared_set = $var;
+
+ return $this;
+ }
+
+ /**
+ * The carrier constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CarrierConstant carrier_constant = 66;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CarrierConstant
+ */
+ public function getCarrierConstant()
+ {
+ return $this->carrier_constant;
+ }
+
+ /**
+ * The carrier constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CarrierConstant carrier_constant = 66;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CarrierConstant $var
+ * @return $this
+ */
+ public function setCarrierConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CarrierConstant::class);
+ $this->carrier_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ChangeStatus referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ChangeStatus change_status = 37;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ChangeStatus
+ */
+ public function getChangeStatus()
+ {
+ return $this->change_status;
+ }
+
+ /**
+ * The ChangeStatus referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ChangeStatus change_status = 37;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ChangeStatus $var
+ * @return $this
+ */
+ public function setChangeStatus($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ChangeStatus::class);
+ $this->change_status = $var;
+
+ return $this;
+ }
+
+ /**
+ * The conversion action referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction conversion_action = 103;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ConversionAction
+ */
+ public function getConversionAction()
+ {
+ return $this->conversion_action;
+ }
+
+ /**
+ * The conversion action referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ConversionAction conversion_action = 103;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ConversionAction $var
+ * @return $this
+ */
+ public function setConversionAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ConversionAction::class);
+ $this->conversion_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * The ClickView referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ClickView click_view = 122;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ClickView
+ */
+ public function getClickView()
+ {
+ return $this->click_view;
+ }
+
+ /**
+ * The ClickView referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ClickView click_view = 122;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ClickView $var
+ * @return $this
+ */
+ public function setClickView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ClickView::class);
+ $this->click_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The CustomInterest referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest custom_interest = 104;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomInterest
+ */
+ public function getCustomInterest()
+ {
+ return $this->custom_interest;
+ }
+
+ /**
+ * The CustomInterest referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomInterest custom_interest = 104;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomInterest $var
+ * @return $this
+ */
+ public function setCustomInterest($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomInterest::class);
+ $this->custom_interest = $var;
+
+ return $this;
+ }
+
+ /**
+ * The customer referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer customer = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Customer
+ */
+ public function getCustomer()
+ {
+ return $this->customer;
+ }
+
+ /**
+ * The customer referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Customer customer = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Customer $var
+ * @return $this
+ */
+ public function setCustomer($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Customer::class);
+ $this->customer = $var;
+
+ return $this;
+ }
+
+ /**
+ * The CustomerManagerLink referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerManagerLink customer_manager_link = 61;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink
+ */
+ public function getCustomerManagerLink()
+ {
+ return $this->customer_manager_link;
+ }
+
+ /**
+ * The CustomerManagerLink referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerManagerLink customer_manager_link = 61;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink $var
+ * @return $this
+ */
+ public function setCustomerManagerLink($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerManagerLink::class);
+ $this->customer_manager_link = $var;
+
+ return $this;
+ }
+
+ /**
+ * The CustomerClientLink referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink customer_client_link = 62;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink
+ */
+ public function getCustomerClientLink()
+ {
+ return $this->customer_client_link;
+ }
+
+ /**
+ * The CustomerClientLink referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClientLink customer_client_link = 62;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink $var
+ * @return $this
+ */
+ public function setCustomerClientLink($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerClientLink::class);
+ $this->customer_client_link = $var;
+
+ return $this;
+ }
+
+ /**
+ * The CustomerClient referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClient customer_client = 70;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerClient
+ */
+ public function getCustomerClient()
+ {
+ return $this->customer_client;
+ }
+
+ /**
+ * The CustomerClient referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerClient customer_client = 70;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerClient $var
+ * @return $this
+ */
+ public function setCustomerClient($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerClient::class);
+ $this->customer_client = $var;
+
+ return $this;
+ }
+
+ /**
+ * The customer extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting customer_extension_setting = 114;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting
+ */
+ public function getCustomerExtensionSetting()
+ {
+ return $this->customer_extension_setting;
+ }
+
+ /**
+ * The customer extension setting referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerExtensionSetting customer_extension_setting = 114;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting $var
+ * @return $this
+ */
+ public function setCustomerExtensionSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerExtensionSetting::class);
+ $this->customer_extension_setting = $var;
+
+ return $this;
+ }
+
+ /**
+ * The customer feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed customer_feed = 64;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerFeed
+ */
+ public function getCustomerFeed()
+ {
+ return $this->customer_feed;
+ }
+
+ /**
+ * The customer feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerFeed customer_feed = 64;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerFeed $var
+ * @return $this
+ */
+ public function setCustomerFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerFeed::class);
+ $this->customer_feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * The customer label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerLabel customer_label = 124;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerLabel
+ */
+ public function getCustomerLabel()
+ {
+ return $this->customer_label;
+ }
+
+ /**
+ * The customer label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerLabel customer_label = 124;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerLabel $var
+ * @return $this
+ */
+ public function setCustomerLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerLabel::class);
+ $this->customer_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * The customer negative criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerNegativeCriterion customer_negative_criterion = 88;
+ * @return \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion
+ */
+ public function getCustomerNegativeCriterion()
+ {
+ return $this->customer_negative_criterion;
+ }
+
+ /**
+ * The customer negative criterion referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.CustomerNegativeCriterion customer_negative_criterion = 88;
+ * @param \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion $var
+ * @return $this
+ */
+ public function setCustomerNegativeCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\CustomerNegativeCriterion::class);
+ $this->customer_negative_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * The detail placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DetailPlacementView detail_placement_view = 118;
+ * @return \Google\Ads\GoogleAds\V2\Resources\DetailPlacementView
+ */
+ public function getDetailPlacementView()
+ {
+ return $this->detail_placement_view;
+ }
+
+ /**
+ * The detail placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DetailPlacementView detail_placement_view = 118;
+ * @param \Google\Ads\GoogleAds\V2\Resources\DetailPlacementView $var
+ * @return $this
+ */
+ public function setDetailPlacementView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\DetailPlacementView::class);
+ $this->detail_placement_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The display keyword view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DisplayKeywordView display_keyword_view = 47;
+ * @return \Google\Ads\GoogleAds\V2\Resources\DisplayKeywordView
+ */
+ public function getDisplayKeywordView()
+ {
+ return $this->display_keyword_view;
+ }
+
+ /**
+ * The display keyword view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DisplayKeywordView display_keyword_view = 47;
+ * @param \Google\Ads\GoogleAds\V2\Resources\DisplayKeywordView $var
+ * @return $this
+ */
+ public function setDisplayKeywordView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\DisplayKeywordView::class);
+ $this->display_keyword_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The distance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DistanceView distance_view = 132;
+ * @return \Google\Ads\GoogleAds\V2\Resources\DistanceView
+ */
+ public function getDistanceView()
+ {
+ return $this->distance_view;
+ }
+
+ /**
+ * The distance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DistanceView distance_view = 132;
+ * @param \Google\Ads\GoogleAds\V2\Resources\DistanceView $var
+ * @return $this
+ */
+ public function setDistanceView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\DistanceView::class);
+ $this->distance_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The dynamic search ads search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106;
+ * @return \Google\Ads\GoogleAds\V2\Resources\DynamicSearchAdsSearchTermView
+ */
+ public function getDynamicSearchAdsSearchTermView()
+ {
+ return $this->dynamic_search_ads_search_term_view;
+ }
+
+ /**
+ * The dynamic search ads search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106;
+ * @param \Google\Ads\GoogleAds\V2\Resources\DynamicSearchAdsSearchTermView $var
+ * @return $this
+ */
+ public function setDynamicSearchAdsSearchTermView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\DynamicSearchAdsSearchTermView::class);
+ $this->dynamic_search_ads_search_term_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The expanded landing page view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExpandedLandingPageView expanded_landing_page_view = 128;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ExpandedLandingPageView
+ */
+ public function getExpandedLandingPageView()
+ {
+ return $this->expanded_landing_page_view;
+ }
+
+ /**
+ * The expanded landing page view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExpandedLandingPageView expanded_landing_page_view = 128;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ExpandedLandingPageView $var
+ * @return $this
+ */
+ public function setExpandedLandingPageView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ExpandedLandingPageView::class);
+ $this->expanded_landing_page_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The extension feed item referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem extension_feed_item = 85;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem
+ */
+ public function getExtensionFeedItem()
+ {
+ return $this->extension_feed_item;
+ }
+
+ /**
+ * The extension feed item referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ExtensionFeedItem extension_feed_item = 85;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem $var
+ * @return $this
+ */
+ public function setExtensionFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ExtensionFeedItem::class);
+ $this->extension_feed_item = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed feed = 46;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Feed
+ */
+ public function getFeed()
+ {
+ return $this->feed;
+ }
+
+ /**
+ * The feed referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Feed feed = 46;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Feed $var
+ * @return $this
+ */
+ public function setFeed($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Feed::class);
+ $this->feed = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed item referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem feed_item = 50;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedItem
+ */
+ public function getFeedItem()
+ {
+ return $this->feed_item;
+ }
+
+ /**
+ * The feed item referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItem feed_item = 50;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItem $var
+ * @return $this
+ */
+ public function setFeedItem($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedItem::class);
+ $this->feed_item = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed item target referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItemTarget feed_item_target = 116;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget
+ */
+ public function getFeedItemTarget()
+ {
+ return $this->feed_item_target;
+ }
+
+ /**
+ * The feed item target referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedItemTarget feed_item_target = 116;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget $var
+ * @return $this
+ */
+ public function setFeedItemTarget($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedItemTarget::class);
+ $this->feed_item_target = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed mapping referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedMapping feed_mapping = 58;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedMapping
+ */
+ public function getFeedMapping()
+ {
+ return $this->feed_mapping;
+ }
+
+ /**
+ * The feed mapping referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedMapping feed_mapping = 58;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedMapping $var
+ * @return $this
+ */
+ public function setFeedMapping($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedMapping::class);
+ $this->feed_mapping = $var;
+
+ return $this;
+ }
+
+ /**
+ * The feed placeholder view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedPlaceholderView feed_placeholder_view = 97;
+ * @return \Google\Ads\GoogleAds\V2\Resources\FeedPlaceholderView
+ */
+ public function getFeedPlaceholderView()
+ {
+ return $this->feed_placeholder_view;
+ }
+
+ /**
+ * The feed placeholder view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.FeedPlaceholderView feed_placeholder_view = 97;
+ * @param \Google\Ads\GoogleAds\V2\Resources\FeedPlaceholderView $var
+ * @return $this
+ */
+ public function setFeedPlaceholderView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\FeedPlaceholderView::class);
+ $this->feed_placeholder_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The gender view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GenderView gender_view = 40;
+ * @return \Google\Ads\GoogleAds\V2\Resources\GenderView
+ */
+ public function getGenderView()
+ {
+ return $this->gender_view;
+ }
+
+ /**
+ * The gender view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GenderView gender_view = 40;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GenderView $var
+ * @return $this
+ */
+ public function setGenderView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\GenderView::class);
+ $this->gender_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The geo target constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 23;
+ * @return \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant
+ */
+ public function getGeoTargetConstant()
+ {
+ return $this->geo_target_constant;
+ }
+
+ /**
+ * The geo target constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 23;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant $var
+ * @return $this
+ */
+ public function setGeoTargetConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\GeoTargetConstant::class);
+ $this->geo_target_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The geographic view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeographicView geographic_view = 125;
+ * @return \Google\Ads\GoogleAds\V2\Resources\GeographicView
+ */
+ public function getGeographicView()
+ {
+ return $this->geographic_view;
+ }
+
+ /**
+ * The geographic view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GeographicView geographic_view = 125;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GeographicView $var
+ * @return $this
+ */
+ public function setGeographicView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\GeographicView::class);
+ $this->geographic_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The group placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GroupPlacementView group_placement_view = 119;
+ * @return \Google\Ads\GoogleAds\V2\Resources\GroupPlacementView
+ */
+ public function getGroupPlacementView()
+ {
+ return $this->group_placement_view;
+ }
+
+ /**
+ * The group placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.GroupPlacementView group_placement_view = 119;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GroupPlacementView $var
+ * @return $this
+ */
+ public function setGroupPlacementView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\GroupPlacementView::class);
+ $this->group_placement_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The hotel group view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.HotelGroupView hotel_group_view = 51;
+ * @return \Google\Ads\GoogleAds\V2\Resources\HotelGroupView
+ */
+ public function getHotelGroupView()
+ {
+ return $this->hotel_group_view;
+ }
+
+ /**
+ * The hotel group view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.HotelGroupView hotel_group_view = 51;
+ * @param \Google\Ads\GoogleAds\V2\Resources\HotelGroupView $var
+ * @return $this
+ */
+ public function setHotelGroupView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\HotelGroupView::class);
+ $this->hotel_group_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The hotel performance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.HotelPerformanceView hotel_performance_view = 71;
+ * @return \Google\Ads\GoogleAds\V2\Resources\HotelPerformanceView
+ */
+ public function getHotelPerformanceView()
+ {
+ return $this->hotel_performance_view;
+ }
+
+ /**
+ * The hotel performance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.HotelPerformanceView hotel_performance_view = 71;
+ * @param \Google\Ads\GoogleAds\V2\Resources\HotelPerformanceView $var
+ * @return $this
+ */
+ public function setHotelPerformanceView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\HotelPerformanceView::class);
+ $this->hotel_performance_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordView keyword_view = 21;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordView
+ */
+ public function getKeywordView()
+ {
+ return $this->keyword_view;
+ }
+
+ /**
+ * The keyword view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordView keyword_view = 21;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordView $var
+ * @return $this
+ */
+ public function setKeywordView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordView::class);
+ $this->keyword_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan keyword_plan = 32;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlan
+ */
+ public function getKeywordPlan()
+ {
+ return $this->keyword_plan;
+ }
+
+ /**
+ * The keyword plan referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan keyword_plan = 32;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlan $var
+ * @return $this
+ */
+ public function setKeywordPlan($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlan::class);
+ $this->keyword_plan = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan campaign referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign keyword_plan_campaign = 33;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign
+ */
+ public function getKeywordPlanCampaign()
+ {
+ return $this->keyword_plan_campaign;
+ }
+
+ /**
+ * The keyword plan campaign referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign keyword_plan_campaign = 33;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign::class);
+ $this->keyword_plan_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan negative keyword referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword keyword_plan_negative_keyword = 34;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword
+ */
+ public function getKeywordPlanNegativeKeyword()
+ {
+ return $this->keyword_plan_negative_keyword;
+ }
+
+ /**
+ * The keyword plan negative keyword referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword keyword_plan_negative_keyword = 34;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword $var
+ * @return $this
+ */
+ public function setKeywordPlanNegativeKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword::class);
+ $this->keyword_plan_negative_keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan ad group referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup
+ */
+ public function getKeywordPlanAdGroup()
+ {
+ return $this->keyword_plan_ad_group;
+ }
+
+ /**
+ * The keyword plan ad group referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup::class);
+ $this->keyword_plan_ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * The keyword plan keyword referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword keyword_plan_keyword = 36;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword
+ */
+ public function getKeywordPlanKeyword()
+ {
+ return $this->keyword_plan_keyword;
+ }
+
+ /**
+ * The keyword plan keyword referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword keyword_plan_keyword = 36;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword $var
+ * @return $this
+ */
+ public function setKeywordPlanKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword::class);
+ $this->keyword_plan_keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * The label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label label = 52;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Label
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * The label referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label label = 52;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Label $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Label::class);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * The landing page view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LandingPageView landing_page_view = 126;
+ * @return \Google\Ads\GoogleAds\V2\Resources\LandingPageView
+ */
+ public function getLandingPageView()
+ {
+ return $this->landing_page_view;
+ }
+
+ /**
+ * The landing page view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LandingPageView landing_page_view = 126;
+ * @param \Google\Ads\GoogleAds\V2\Resources\LandingPageView $var
+ * @return $this
+ */
+ public function setLandingPageView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\LandingPageView::class);
+ $this->landing_page_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The language constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LanguageConstant language_constant = 55;
+ * @return \Google\Ads\GoogleAds\V2\Resources\LanguageConstant
+ */
+ public function getLanguageConstant()
+ {
+ return $this->language_constant;
+ }
+
+ /**
+ * The language constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LanguageConstant language_constant = 55;
+ * @param \Google\Ads\GoogleAds\V2\Resources\LanguageConstant $var
+ * @return $this
+ */
+ public function setLanguageConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\LanguageConstant::class);
+ $this->language_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The location view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LocationView location_view = 123;
+ * @return \Google\Ads\GoogleAds\V2\Resources\LocationView
+ */
+ public function getLocationView()
+ {
+ return $this->location_view;
+ }
+
+ /**
+ * The location view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.LocationView location_view = 123;
+ * @param \Google\Ads\GoogleAds\V2\Resources\LocationView $var
+ * @return $this
+ */
+ public function setLocationView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\LocationView::class);
+ $this->location_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The managed placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ManagedPlacementView managed_placement_view = 53;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ManagedPlacementView
+ */
+ public function getManagedPlacementView()
+ {
+ return $this->managed_placement_view;
+ }
+
+ /**
+ * The managed placement view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ManagedPlacementView managed_placement_view = 53;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ManagedPlacementView $var
+ * @return $this
+ */
+ public function setManagedPlacementView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ManagedPlacementView::class);
+ $this->managed_placement_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The media file referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaFile media_file = 90;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MediaFile
+ */
+ public function getMediaFile()
+ {
+ return $this->media_file;
+ }
+
+ /**
+ * The media file referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaFile media_file = 90;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MediaFile $var
+ * @return $this
+ */
+ public function setMediaFile($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MediaFile::class);
+ $this->media_file = $var;
+
+ return $this;
+ }
+
+ /**
+ * The mobile app category constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MobileAppCategoryConstant mobile_app_category_constant = 87;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MobileAppCategoryConstant
+ */
+ public function getMobileAppCategoryConstant()
+ {
+ return $this->mobile_app_category_constant;
+ }
+
+ /**
+ * The mobile app category constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MobileAppCategoryConstant mobile_app_category_constant = 87;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MobileAppCategoryConstant $var
+ * @return $this
+ */
+ public function setMobileAppCategoryConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MobileAppCategoryConstant::class);
+ $this->mobile_app_category_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The mobile device constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MobileDeviceConstant mobile_device_constant = 98;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MobileDeviceConstant
+ */
+ public function getMobileDeviceConstant()
+ {
+ return $this->mobile_device_constant;
+ }
+
+ /**
+ * The mobile device constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MobileDeviceConstant mobile_device_constant = 98;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MobileDeviceConstant $var
+ * @return $this
+ */
+ public function setMobileDeviceConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MobileDeviceConstant::class);
+ $this->mobile_device_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The mutate job referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MutateJob mutate_job = 127;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MutateJob
+ */
+ public function getMutateJob()
+ {
+ return $this->mutate_job;
+ }
+
+ /**
+ * The mutate job referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MutateJob mutate_job = 127;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MutateJob $var
+ * @return $this
+ */
+ public function setMutateJob($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MutateJob::class);
+ $this->mutate_job = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operating system version constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.OperatingSystemVersionConstant operating_system_version_constant = 86;
+ * @return \Google\Ads\GoogleAds\V2\Resources\OperatingSystemVersionConstant
+ */
+ public function getOperatingSystemVersionConstant()
+ {
+ return $this->operating_system_version_constant;
+ }
+
+ /**
+ * The operating system version constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.OperatingSystemVersionConstant operating_system_version_constant = 86;
+ * @param \Google\Ads\GoogleAds\V2\Resources\OperatingSystemVersionConstant $var
+ * @return $this
+ */
+ public function setOperatingSystemVersionConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\OperatingSystemVersionConstant::class);
+ $this->operating_system_version_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The paid organic search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129;
+ * @return \Google\Ads\GoogleAds\V2\Resources\PaidOrganicSearchTermView
+ */
+ public function getPaidOrganicSearchTermView()
+ {
+ return $this->paid_organic_search_term_view;
+ }
+
+ /**
+ * The paid organic search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129;
+ * @param \Google\Ads\GoogleAds\V2\Resources\PaidOrganicSearchTermView $var
+ * @return $this
+ */
+ public function setPaidOrganicSearchTermView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\PaidOrganicSearchTermView::class);
+ $this->paid_organic_search_term_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The parental status view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ParentalStatusView parental_status_view = 45;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ParentalStatusView
+ */
+ public function getParentalStatusView()
+ {
+ return $this->parental_status_view;
+ }
+
+ /**
+ * The parental status view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ParentalStatusView parental_status_view = 45;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ParentalStatusView $var
+ * @return $this
+ */
+ public function setParentalStatusView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ParentalStatusView::class);
+ $this->parental_status_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The Product Bidding Category referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ProductBiddingCategoryConstant
+ */
+ public function getProductBiddingCategoryConstant()
+ {
+ return $this->product_bidding_category_constant;
+ }
+
+ /**
+ * The Product Bidding Category referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ProductBiddingCategoryConstant $var
+ * @return $this
+ */
+ public function setProductBiddingCategoryConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ProductBiddingCategoryConstant::class);
+ $this->product_bidding_category_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The product group view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ProductGroupView product_group_view = 54;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ProductGroupView
+ */
+ public function getProductGroupView()
+ {
+ return $this->product_group_view;
+ }
+
+ /**
+ * The product group view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ProductGroupView product_group_view = 54;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ProductGroupView $var
+ * @return $this
+ */
+ public function setProductGroupView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ProductGroupView::class);
+ $this->product_group_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The recommendation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation recommendation = 22;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Recommendation
+ */
+ public function getRecommendation()
+ {
+ return $this->recommendation;
+ }
+
+ /**
+ * The recommendation referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Recommendation recommendation = 22;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Recommendation $var
+ * @return $this
+ */
+ public function setRecommendation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Recommendation::class);
+ $this->recommendation = $var;
+
+ return $this;
+ }
+
+ /**
+ * The search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SearchTermView search_term_view = 68;
+ * @return \Google\Ads\GoogleAds\V2\Resources\SearchTermView
+ */
+ public function getSearchTermView()
+ {
+ return $this->search_term_view;
+ }
+
+ /**
+ * The search term view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SearchTermView search_term_view = 68;
+ * @param \Google\Ads\GoogleAds\V2\Resources\SearchTermView $var
+ * @return $this
+ */
+ public function setSearchTermView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\SearchTermView::class);
+ $this->search_term_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The shared set referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedCriterion shared_criterion = 29;
+ * @return \Google\Ads\GoogleAds\V2\Resources\SharedCriterion
+ */
+ public function getSharedCriterion()
+ {
+ return $this->shared_criterion;
+ }
+
+ /**
+ * The shared set referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedCriterion shared_criterion = 29;
+ * @param \Google\Ads\GoogleAds\V2\Resources\SharedCriterion $var
+ * @return $this
+ */
+ public function setSharedCriterion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\SharedCriterion::class);
+ $this->shared_criterion = $var;
+
+ return $this;
+ }
+
+ /**
+ * The shared set referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet shared_set = 27;
+ * @return \Google\Ads\GoogleAds\V2\Resources\SharedSet
+ */
+ public function getSharedSet()
+ {
+ return $this->shared_set;
+ }
+
+ /**
+ * The shared set referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet shared_set = 27;
+ * @param \Google\Ads\GoogleAds\V2\Resources\SharedSet $var
+ * @return $this
+ */
+ public function setSharedSet($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\SharedSet::class);
+ $this->shared_set = $var;
+
+ return $this;
+ }
+
+ /**
+ * The shopping performance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ShoppingPerformanceView shopping_performance_view = 117;
+ * @return \Google\Ads\GoogleAds\V2\Resources\ShoppingPerformanceView
+ */
+ public function getShoppingPerformanceView()
+ {
+ return $this->shopping_performance_view;
+ }
+
+ /**
+ * The shopping performance view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.ShoppingPerformanceView shopping_performance_view = 117;
+ * @param \Google\Ads\GoogleAds\V2\Resources\ShoppingPerformanceView $var
+ * @return $this
+ */
+ public function setShoppingPerformanceView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\ShoppingPerformanceView::class);
+ $this->shopping_performance_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The topic view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.TopicView topic_view = 44;
+ * @return \Google\Ads\GoogleAds\V2\Resources\TopicView
+ */
+ public function getTopicView()
+ {
+ return $this->topic_view;
+ }
+
+ /**
+ * The topic view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.TopicView topic_view = 44;
+ * @param \Google\Ads\GoogleAds\V2\Resources\TopicView $var
+ * @return $this
+ */
+ public function setTopicView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\TopicView::class);
+ $this->topic_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The user interest referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserInterest user_interest = 59;
+ * @return \Google\Ads\GoogleAds\V2\Resources\UserInterest
+ */
+ public function getUserInterest()
+ {
+ return $this->user_interest;
+ }
+
+ /**
+ * The user interest referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserInterest user_interest = 59;
+ * @param \Google\Ads\GoogleAds\V2\Resources\UserInterest $var
+ * @return $this
+ */
+ public function setUserInterest($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\UserInterest::class);
+ $this->user_interest = $var;
+
+ return $this;
+ }
+
+ /**
+ * The user list referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList user_list = 38;
+ * @return \Google\Ads\GoogleAds\V2\Resources\UserList
+ */
+ public function getUserList()
+ {
+ return $this->user_list;
+ }
+
+ /**
+ * The user list referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList user_list = 38;
+ * @param \Google\Ads\GoogleAds\V2\Resources\UserList $var
+ * @return $this
+ */
+ public function setUserList($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\UserList::class);
+ $this->user_list = $var;
+
+ return $this;
+ }
+
+ /**
+ * The user location view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserLocationView user_location_view = 135;
+ * @return \Google\Ads\GoogleAds\V2\Resources\UserLocationView
+ */
+ public function getUserLocationView()
+ {
+ return $this->user_location_view;
+ }
+
+ /**
+ * The user location view referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserLocationView user_location_view = 135;
+ * @param \Google\Ads\GoogleAds\V2\Resources\UserLocationView $var
+ * @return $this
+ */
+ public function setUserLocationView($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\UserLocationView::class);
+ $this->user_location_view = $var;
+
+ return $this;
+ }
+
+ /**
+ * The remarketing action referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction remarketing_action = 60;
+ * @return \Google\Ads\GoogleAds\V2\Resources\RemarketingAction
+ */
+ public function getRemarketingAction()
+ {
+ return $this->remarketing_action;
+ }
+
+ /**
+ * The remarketing action referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction remarketing_action = 60;
+ * @param \Google\Ads\GoogleAds\V2\Resources\RemarketingAction $var
+ * @return $this
+ */
+ public function setRemarketingAction($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\RemarketingAction::class);
+ $this->remarketing_action = $var;
+
+ return $this;
+ }
+
+ /**
+ * The topic constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.TopicConstant topic_constant = 31;
+ * @return \Google\Ads\GoogleAds\V2\Resources\TopicConstant
+ */
+ public function getTopicConstant()
+ {
+ return $this->topic_constant;
+ }
+
+ /**
+ * The topic constant referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.TopicConstant topic_constant = 31;
+ * @param \Google\Ads\GoogleAds\V2\Resources\TopicConstant $var
+ * @return $this
+ */
+ public function setTopicConstant($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\TopicConstant::class);
+ $this->topic_constant = $var;
+
+ return $this;
+ }
+
+ /**
+ * The video referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Video video = 39;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Video
+ */
+ public function getVideo()
+ {
+ return $this->video;
+ }
+
+ /**
+ * The video referenced in the query.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Video video = 39;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Video $var
+ * @return $this
+ */
+ public function setVideo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Video::class);
+ $this->video = $var;
+
+ return $this;
+ }
+
+ /**
+ * The metrics.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Metrics metrics = 4;
+ * @return \Google\Ads\GoogleAds\V2\Common\Metrics
+ */
+ public function getMetrics()
+ {
+ return $this->metrics;
+ }
+
+ /**
+ * The metrics.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Metrics metrics = 4;
+ * @param \Google\Ads\GoogleAds\V2\Common\Metrics $var
+ * @return $this
+ */
+ public function setMetrics($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Metrics::class);
+ $this->metrics = $var;
+
+ return $this;
+ }
+
+ /**
+ * The segments.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Segments segments = 102;
+ * @return \Google\Ads\GoogleAds\V2\Common\Segments
+ */
+ public function getSegments()
+ {
+ return $this->segments;
+ }
+
+ /**
+ * The segments.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.Segments segments = 102;
+ * @param \Google\Ads\GoogleAds\V2\Common\Segments $var
+ * @return $this
+ */
+ public function setSegments($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\Segments::class);
+ $this->segments = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClient.php
new file mode 100644
index 000000000..2a1f9614d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.GoogleAdsService/Search',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\SearchGoogleAdsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes resources. This method supports atomic
+ * transactions with multiple types of resources. For example, you can
+ * atomically create a campaign and a campaign budget, or perform up to
+ * thousands of mutates atomically.
+ *
+ * This method is essentially a wrapper around a series of mutate methods. The
+ * only features it offers over calling those methods directly are:
+ *
+ * - Atomic transactions
+ * - Temp resource names (described below)
+ * - Somewhat reduced latency over making a series of mutate calls
+ *
+ * Note: Only resources that support atomic transactions are included, so this
+ * method can't replace all calls to individual services.
+ *
+ * ## Atomic Transaction Benefits
+ *
+ * Atomicity makes error handling much easier. If you're making a series of
+ * changes and one fails, it can leave your account in an inconsistent state.
+ * With atomicity, you either reach the desired state directly, or the request
+ * fails and you can retry.
+ *
+ * ## Temp Resource Names
+ *
+ * Temp resource names are a special type of resource name used to create a
+ * resource and reference that resource in the same request. For example, if a
+ * campaign budget is created with `resource_name` equal to
+ * `customers/123/campaignBudgets/-1`, that resource name can be reused in
+ * the `Campaign.budget` field in the same request. That way, the two
+ * resources are created and linked atomically.
+ *
+ * To create a temp resource name, put a negative number in the part of the
+ * name that the server would normally allocate.
+ *
+ * Note:
+ *
+ * - Resources must be created with a temp name before the name can be reused.
+ * For example, the previous CampaignBudget+Campaign example would fail if
+ * the mutate order was reversed.
+ * - Temp names are not remembered across requests.
+ * - There's no limit to the number of temp names in a request.
+ * - Each temp name must use a unique negative number, even if the resource
+ * types differ.
+ *
+ * ## Latency
+ *
+ * It's important to group mutates by resource type or the request may time
+ * out and fail. Latency is roughly equal to a series of calls to individual
+ * mutate methods, where each change in resource type is a new call. For
+ * example, mutating 10 campaigns then 10 ad groups is like 2 calls, while
+ * mutating 1 campaign, 1 ad group, 1 campaign, 1 ad group is like 4 calls.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateGoogleAdsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function Mutate(\Google\Ads\GoogleAds\V2\Services\MutateGoogleAdsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.GoogleAdsService/Mutate',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateGoogleAdsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentRequest.php b/src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentRequest.php
new file mode 100644
index 000000000..25d14f063
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentRequest.php
@@ -0,0 +1,105 @@
+google.ads.googleads.v2.services.GraduateCampaignExperimentRequest
+ */
+final class GraduateCampaignExperimentRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign experiment to graduate.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ */
+ private $campaign_experiment = '';
+ /**
+ * Resource name of the budget to attach to the campaign graduated from the
+ * experiment.
+ *
+ * Generated from protobuf field string campaign_budget = 2;
+ */
+ private $campaign_budget = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $campaign_experiment
+ * The resource name of the campaign experiment to graduate.
+ * @type string $campaign_budget
+ * Resource name of the budget to attach to the campaign graduated from the
+ * experiment.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign experiment to graduate.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @return string
+ */
+ public function getCampaignExperiment()
+ {
+ return $this->campaign_experiment;
+ }
+
+ /**
+ * The resource name of the campaign experiment to graduate.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCampaignExperiment($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->campaign_experiment = $var;
+
+ return $this;
+ }
+
+ /**
+ * Resource name of the budget to attach to the campaign graduated from the
+ * experiment.
+ *
+ * Generated from protobuf field string campaign_budget = 2;
+ * @return string
+ */
+ public function getCampaignBudget()
+ {
+ return $this->campaign_budget;
+ }
+
+ /**
+ * Resource name of the budget to attach to the campaign graduated from the
+ * experiment.
+ *
+ * Generated from protobuf field string campaign_budget = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setCampaignBudget($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->campaign_budget = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentResponse.php b/src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentResponse.php
new file mode 100644
index 000000000..a3b20054d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GraduateCampaignExperimentResponse.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.services.GraduateCampaignExperimentResponse
+ */
+final class GraduateCampaignExperimentResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign from the graduated experiment.
+ * This campaign is the same one as CampaignExperiment.experiment_campaign.
+ *
+ * Generated from protobuf field string graduated_campaign = 1;
+ */
+ private $graduated_campaign = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $graduated_campaign
+ * The resource name of the campaign from the graduated experiment.
+ * This campaign is the same one as CampaignExperiment.experiment_campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign from the graduated experiment.
+ * This campaign is the same one as CampaignExperiment.experiment_campaign.
+ *
+ * Generated from protobuf field string graduated_campaign = 1;
+ * @return string
+ */
+ public function getGraduatedCampaign()
+ {
+ return $this->graduated_campaign;
+ }
+
+ /**
+ * The resource name of the campaign from the graduated experiment.
+ * This campaign is the same one as CampaignExperiment.experiment_campaign.
+ *
+ * Generated from protobuf field string graduated_campaign = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setGraduatedCampaign($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->graduated_campaign = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClient.php
new file mode 100644
index 000000000..b45421503
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.GroupPlacementViewService/GetGroupPlacementView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\GroupPlacementView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClient.php
new file mode 100644
index 000000000..87ed2af94
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.HotelGroupViewService/GetHotelGroupView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\HotelGroupView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClient.php
new file mode 100644
index 000000000..e2961b954
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.HotelPerformanceViewService/GetHotelPerformanceView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\HotelPerformanceView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordAndUrlSeed.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordAndUrlSeed.php
new file mode 100644
index 000000000..48350e391
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordAndUrlSeed.php
@@ -0,0 +1,130 @@
+google.ads.googleads.v2.services.KeywordAndUrlSeed
+ */
+final class KeywordAndUrlSeed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ */
+ private $url = null;
+ /**
+ * Requires at least one keyword.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue keywords = 2;
+ */
+ private $keywords;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $url
+ * The URL to crawl in order to generate keyword ideas.
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $keywords
+ * Requires at least one keyword.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanIdeaService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrl()
+ {
+ return $this->url;
+ }
+
+ /**
+ * Returns the unboxed value from getUrl()
+
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @return string|null
+ */
+ public function getUrlUnwrapped()
+ {
+ $wrapper = $this->getUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrl($wrappedVar);
+ }
+
+ /**
+ * Requires at least one keyword.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue keywords = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getKeywords()
+ {
+ return $this->keywords;
+ }
+
+ /**
+ * Requires at least one keyword.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue keywords = 2;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setKeywords($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->keywords = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupForecast.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupForecast.php
new file mode 100644
index 000000000..4201ae88c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupForecast.php
@@ -0,0 +1,136 @@
+google.ads.googleads.v2.services.KeywordPlanAdGroupForecast
+ */
+final class KeywordPlanAdGroupForecast extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan ad group related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 1;
+ */
+ private $keyword_plan_ad_group = null;
+ /**
+ * The forecast for the Keyword Plan ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics ad_group_forecast = 2;
+ */
+ private $ad_group_forecast = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $keyword_plan_ad_group
+ * The resource name of the Keyword Plan ad group related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ * @type \Google\Ads\GoogleAds\V2\Services\ForecastMetrics $ad_group_forecast
+ * The forecast for the Keyword Plan ad group.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan ad group related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlanAdGroup()
+ {
+ return $this->keyword_plan_ad_group;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlanAdGroup()
+
+ * The resource name of the Keyword Plan ad group related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 1;
+ * @return string|null
+ */
+ public function getKeywordPlanAdGroupUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlanAdGroup();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the Keyword Plan ad group related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroup($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan_ad_group = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the Keyword Plan ad group related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroupUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlanAdGroup($wrappedVar);
+ }
+
+ /**
+ * The forecast for the Keyword Plan ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics ad_group_forecast = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\ForecastMetrics
+ */
+ public function getAdGroupForecast()
+ {
+ return $this->ad_group_forecast;
+ }
+
+ /**
+ * The forecast for the Keyword Plan ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics ad_group_forecast = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ForecastMetrics $var
+ * @return $this
+ */
+ public function setAdGroupForecast($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ForecastMetrics::class);
+ $this->ad_group_forecast = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupOperation.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupOperation.php
new file mode 100644
index 000000000..8d069cef3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupOperation.php
@@ -0,0 +1,176 @@
+google.ads.googleads.v2.services.KeywordPlanAdGroupOperation
+ */
+final class KeywordPlanAdGroupOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup $create
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * ad group.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup $update
+ * Update operation: The Keyword Plan ad group is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed Keyword Plan ad group
+ * is expected, in this format:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * ad group.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The Keyword Plan ad group is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The Keyword Plan ad group is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanAdGroup update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan ad group
+ * is expected, in this format:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan ad group
+ * is expected, in this format:
+ * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClient.php
new file mode 100644
index 000000000..9e0bc590f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanAdGroupService/GetKeywordPlanAdGroup',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\KeywordPlanAdGroup', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes Keyword Plan ad groups. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanAdGroupsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateKeywordPlanAdGroups(\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanAdGroupsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanAdGroupService/MutateKeywordPlanAdGroups',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanAdGroupsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignForecast.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignForecast.php
new file mode 100644
index 000000000..8f2d4313a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignForecast.php
@@ -0,0 +1,136 @@
+google.ads.googleads.v2.services.KeywordPlanCampaignForecast
+ */
+final class KeywordPlanCampaignForecast extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan campaign related to the forecast.
+ * `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 1;
+ */
+ private $keyword_plan_campaign = null;
+ /**
+ * The forecast for the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics campaign_forecast = 2;
+ */
+ private $campaign_forecast = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $keyword_plan_campaign
+ * The resource name of the Keyword Plan campaign related to the forecast.
+ * `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ * @type \Google\Ads\GoogleAds\V2\Services\ForecastMetrics $campaign_forecast
+ * The forecast for the Keyword Plan campaign.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan campaign related to the forecast.
+ * `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlanCampaign()
+ {
+ return $this->keyword_plan_campaign;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlanCampaign()
+
+ * The resource name of the Keyword Plan campaign related to the forecast.
+ * `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 1;
+ * @return string|null
+ */
+ public function getKeywordPlanCampaignUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlanCampaign();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the Keyword Plan campaign related to the forecast.
+ * `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaign($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan_campaign = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the Keyword Plan campaign related to the forecast.
+ * `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_campaign = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanCampaignUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlanCampaign($wrappedVar);
+ }
+
+ /**
+ * The forecast for the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics campaign_forecast = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\ForecastMetrics
+ */
+ public function getCampaignForecast()
+ {
+ return $this->campaign_forecast;
+ }
+
+ /**
+ * The forecast for the Keyword Plan campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics campaign_forecast = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ForecastMetrics $var
+ * @return $this
+ */
+ public function setCampaignForecast($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ForecastMetrics::class);
+ $this->campaign_forecast = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignOperation.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignOperation.php
new file mode 100644
index 000000000..31daaf0e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignOperation.php
@@ -0,0 +1,176 @@
+google.ads.googleads.v2.services.KeywordPlanCampaignOperation
+ */
+final class KeywordPlanCampaignOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign $create
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * campaign.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign $update
+ * Update operation: The Keyword Plan campaign is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed Keyword Plan campaign
+ * is expected, in this format:
+ * `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * campaign.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The Keyword Plan campaign is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The Keyword Plan campaign is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanCampaign update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan campaign
+ * is expected, in this format:
+ * `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan campaign
+ * is expected, in this format:
+ * `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClient.php
new file mode 100644
index 000000000..bba378e01
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanCampaignService/GetKeywordPlanCampaign',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\KeywordPlanCampaign', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes Keyword Plan campaigns. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanCampaignsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateKeywordPlanCampaigns(\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanCampaignsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanCampaignService/MutateKeywordPlanCampaigns',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanCampaignsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClient.php
new file mode 100644
index 000000000..3286e7b3d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanIdeaService/GenerateKeywordIdeas',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\GenerateKeywordIdeaResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordForecast.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordForecast.php
new file mode 100644
index 000000000..f7c948fc4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordForecast.php
@@ -0,0 +1,136 @@
+google.ads.googleads.v2.services.KeywordPlanKeywordForecast
+ */
+final class KeywordPlanKeywordForecast extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the Keyword Plan keyword related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group_keyword = 1;
+ */
+ private $keyword_plan_ad_group_keyword = null;
+ /**
+ * The forecast for the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics keyword_forecast = 2;
+ */
+ private $keyword_forecast = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $keyword_plan_ad_group_keyword
+ * The resource name of the Keyword Plan keyword related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ * @type \Google\Ads\GoogleAds\V2\Services\ForecastMetrics $keyword_forecast
+ * The forecast for the Keyword Plan keyword.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the Keyword Plan keyword related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group_keyword = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getKeywordPlanAdGroupKeyword()
+ {
+ return $this->keyword_plan_ad_group_keyword;
+ }
+
+ /**
+ * Returns the unboxed value from getKeywordPlanAdGroupKeyword()
+
+ * The resource name of the Keyword Plan keyword related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group_keyword = 1;
+ * @return string|null
+ */
+ public function getKeywordPlanAdGroupKeywordUnwrapped()
+ {
+ $wrapper = $this->getKeywordPlanAdGroupKeyword();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The resource name of the Keyword Plan keyword related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group_keyword = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroupKeyword($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->keyword_plan_ad_group_keyword = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The resource name of the Keyword Plan keyword related to the forecast.
+ * `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field .google.protobuf.StringValue keyword_plan_ad_group_keyword = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setKeywordPlanAdGroupKeywordUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setKeywordPlanAdGroupKeyword($wrappedVar);
+ }
+
+ /**
+ * The forecast for the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics keyword_forecast = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\ForecastMetrics
+ */
+ public function getKeywordForecast()
+ {
+ return $this->keyword_forecast;
+ }
+
+ /**
+ * The forecast for the Keyword Plan keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ForecastMetrics keyword_forecast = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ForecastMetrics $var
+ * @return $this
+ */
+ public function setKeywordForecast($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ForecastMetrics::class);
+ $this->keyword_forecast = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordHistoricalMetrics.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordHistoricalMetrics.php
new file mode 100644
index 000000000..3979bda12
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordHistoricalMetrics.php
@@ -0,0 +1,164 @@
+google.ads.googleads.v2.services.KeywordPlanKeywordHistoricalMetrics
+ */
+final class KeywordPlanKeywordHistoricalMetrics extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The text of the query associated with one or more ad_group_keywords in the
+ * plan.
+ * Note that we de-dupe your keywords list, eliminating close variants before
+ * returning the plan's keywords as text. For example, if your plan originally
+ * contained the keywords 'car' and 'cars', the returned search query will
+ * only contain 'car'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_query = 1;
+ */
+ private $search_query = null;
+ /**
+ * The historical metrics for the query associated with one or more
+ * ad_group_keywords in the plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_metrics = 2;
+ */
+ private $keyword_metrics = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $search_query
+ * The text of the query associated with one or more ad_group_keywords in the
+ * plan.
+ * Note that we de-dupe your keywords list, eliminating close variants before
+ * returning the plan's keywords as text. For example, if your plan originally
+ * contained the keywords 'car' and 'cars', the returned search query will
+ * only contain 'car'.
+ * @type \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics $keyword_metrics
+ * The historical metrics for the query associated with one or more
+ * ad_group_keywords in the plan.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The text of the query associated with one or more ad_group_keywords in the
+ * plan.
+ * Note that we de-dupe your keywords list, eliminating close variants before
+ * returning the plan's keywords as text. For example, if your plan originally
+ * contained the keywords 'car' and 'cars', the returned search query will
+ * only contain 'car'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_query = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getSearchQuery()
+ {
+ return $this->search_query;
+ }
+
+ /**
+ * Returns the unboxed value from getSearchQuery()
+
+ * The text of the query associated with one or more ad_group_keywords in the
+ * plan.
+ * Note that we de-dupe your keywords list, eliminating close variants before
+ * returning the plan's keywords as text. For example, if your plan originally
+ * contained the keywords 'car' and 'cars', the returned search query will
+ * only contain 'car'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_query = 1;
+ * @return string|null
+ */
+ public function getSearchQueryUnwrapped()
+ {
+ $wrapper = $this->getSearchQuery();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The text of the query associated with one or more ad_group_keywords in the
+ * plan.
+ * Note that we de-dupe your keywords list, eliminating close variants before
+ * returning the plan's keywords as text. For example, if your plan originally
+ * contained the keywords 'car' and 'cars', the returned search query will
+ * only contain 'car'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_query = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setSearchQuery($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->search_query = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The text of the query associated with one or more ad_group_keywords in the
+ * plan.
+ * Note that we de-dupe your keywords list, eliminating close variants before
+ * returning the plan's keywords as text. For example, if your plan originally
+ * contained the keywords 'car' and 'cars', the returned search query will
+ * only contain 'car'.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue search_query = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setSearchQueryUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setSearchQuery($wrappedVar);
+ }
+
+ /**
+ * The historical metrics for the query associated with one or more
+ * ad_group_keywords in the plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_metrics = 2;
+ * @return \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics
+ */
+ public function getKeywordMetrics()
+ {
+ return $this->keyword_metrics;
+ }
+
+ /**
+ * The historical metrics for the query associated with one or more
+ * ad_group_keywords in the plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_metrics = 2;
+ * @param \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics $var
+ * @return $this
+ */
+ public function setKeywordMetrics($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Common\KeywordPlanHistoricalMetrics::class);
+ $this->keyword_metrics = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordOperation.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordOperation.php
new file mode 100644
index 000000000..c07958a7d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordOperation.php
@@ -0,0 +1,176 @@
+google.ads.googleads.v2.services.KeywordPlanKeywordOperation
+ */
+final class KeywordPlanKeywordOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword $create
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * ad group keyword.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword $update
+ * Update operation: The Keyword Plan keyword is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed Keyword Plan keyword is
+ * expected, in this format:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * ad group keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * ad group keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The Keyword Plan keyword is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The Keyword Plan keyword is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanKeyword update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan keyword is
+ * expected, in this format:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan keyword is
+ * expected, in this format:
+ * `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClient.php
new file mode 100644
index 000000000..e711fcd0b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanKeywordService/GetKeywordPlanKeyword',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\KeywordPlanKeyword', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes Keyword Plan keywords. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanKeywordsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateKeywordPlanKeywords(\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanKeywordsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanKeywordService/MutateKeywordPlanKeywords',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanKeywordsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordOperation.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordOperation.php
new file mode 100644
index 000000000..ca06f7c50
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordOperation.php
@@ -0,0 +1,177 @@
+google.ads.googleads.v2.services.KeywordPlanNegativeKeywordOperation
+ */
+final class KeywordPlanNegativeKeywordOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword $create
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * negative keyword.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword $update
+ * Update operation: The Keyword Plan negative keyword expected to have a
+ * valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed Keyword Plan negative
+ * keywords expected in this format:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * negative keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new Keyword Plan
+ * negative keyword.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The Keyword Plan negative keyword expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The Keyword Plan negative keyword expected to have a
+ * valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan negative
+ * keywords expected in this format:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed Keyword Plan negative
+ * keywords expected in this format:
+ * `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClient.php
new file mode 100644
index 000000000..18de12633
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService/GetKeywordPlanNegativeKeyword',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\KeywordPlanNegativeKeyword', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes Keyword Plan negative keywords. Operation
+ * statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanNegativeKeywordsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateKeywordPlanNegativeKeywords(\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanNegativeKeywordsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService/MutateKeywordPlanNegativeKeywords',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanNegativeKeywordsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanOperation.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanOperation.php
new file mode 100644
index 000000000..91e0e3215
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanOperation.php
@@ -0,0 +1,173 @@
+google.ads.googleads.v2.services.KeywordPlanOperation
+ */
+final class KeywordPlanOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlan $create
+ * Create operation: No resource name is expected for the new keyword plan.
+ * @type \Google\Ads\GoogleAds\V2\Resources\KeywordPlan $update
+ * Update operation: The keyword plan is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed keyword plan is
+ * expected in this format:
+ * `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * The FieldMask that determines which resource fields are modified in an
+ * update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new keyword plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlan
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new keyword plan.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlan $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlan::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The keyword plan is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\KeywordPlan
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The keyword plan is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.KeywordPlan update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\KeywordPlan $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\KeywordPlan::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed keyword plan is
+ * expected in this format:
+ * `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed keyword plan is
+ * expected in this format:
+ * `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClient.php
new file mode 100644
index 000000000..1f5396816
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanService/GetKeywordPlan',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\KeywordPlan', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes keyword plans. Operation statuses are
+ * returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlansRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateKeywordPlans(\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlansRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanService/MutateKeywordPlans',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateKeywordPlansResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns the requested Keyword Plan forecasts.
+ * @param \Google\Ads\GoogleAds\V2\Services\GenerateForecastMetricsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function GenerateForecastMetrics(\Google\Ads\GoogleAds\V2\Services\GenerateForecastMetricsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanService/GenerateForecastMetrics',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\GenerateForecastMetricsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns the requested Keyword Plan historical metrics.
+ * @param \Google\Ads\GoogleAds\V2\Services\GenerateHistoricalMetricsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function GenerateHistoricalMetrics(\Google\Ads\GoogleAds\V2\Services\GenerateHistoricalMetricsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.KeywordPlanService/GenerateHistoricalMetrics',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\GenerateHistoricalMetricsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordSeed.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordSeed.php
new file mode 100644
index 000000000..e229cf4df
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordSeed.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.KeywordSeed
+ */
+final class KeywordSeed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Requires at least one keyword.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue keywords = 1;
+ */
+ private $keywords;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $keywords
+ * Requires at least one keyword.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanIdeaService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Requires at least one keyword.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue keywords = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getKeywords()
+ {
+ return $this->keywords;
+ }
+
+ /**
+ * Requires at least one keyword.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue keywords = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setKeywords($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->keywords = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClient.php
new file mode 100644
index 000000000..09a47d03a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.KeywordViewService/GetKeywordView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\KeywordView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/LabelOperation.php b/src/Google/Ads/GoogleAds/V2/Services/LabelOperation.php
new file mode 100644
index 000000000..685ed45f8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/LabelOperation.php
@@ -0,0 +1,166 @@
+google.ads.googleads.v2.services.LabelOperation
+ */
+final class LabelOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Label $create
+ * Create operation: No resource name is expected for the new label.
+ * @type \Google\Ads\GoogleAds\V2\Resources\Label $update
+ * Update operation: The label is expected to have a valid resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the label being removed, in
+ * this format:
+ * `customers/{customer_id}/labels/{label_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Label
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new label.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Label $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Label::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The label is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\Label
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The label is expected to have a valid resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.Label update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\Label $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\Label::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the label being removed, in
+ * this format:
+ * `customers/{customer_id}/labels/{label_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the label being removed, in
+ * this format:
+ * `customers/{customer_id}/labels/{label_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/LabelServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/LabelServiceClient.php
new file mode 100644
index 000000000..b68bb13c4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/LabelServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.LabelService/GetLabel',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Label', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes labels. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateLabelsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateLabels(\Google\Ads\GoogleAds\V2\Services\MutateLabelsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.LabelService/MutateLabels',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateLabelsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClient.php
new file mode 100644
index 000000000..a04e01a8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.LandingPageViewService/GetLandingPageView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\LandingPageView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClient.php
new file mode 100644
index 000000000..ed9287da8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.LanguageConstantService/GetLanguageConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\LanguageConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersRequest.php b/src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersRequest.php
new file mode 100644
index 000000000..6c4f1b579
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersRequest.php
@@ -0,0 +1,33 @@
+google.ads.googleads.v2.services.ListAccessibleCustomersRequest
+ */
+final class ListAccessibleCustomersRequest extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersResponse.php
new file mode 100644
index 000000000..56500f15e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListAccessibleCustomersResponse.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.services.ListAccessibleCustomersResponse
+ */
+final class ListAccessibleCustomersResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Resource name of customers directly accessible by the
+ * user authenticating the call.
+ *
+ * Generated from protobuf field repeated string resource_names = 1;
+ */
+ private $resource_names;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string[]|\Google\Protobuf\Internal\RepeatedField $resource_names
+ * Resource name of customers directly accessible by the
+ * user authenticating the call.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Resource name of customers directly accessible by the
+ * user authenticating the call.
+ *
+ * Generated from protobuf field repeated string resource_names = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResourceNames()
+ {
+ return $this->resource_names;
+ }
+
+ /**
+ * Resource name of customers directly accessible by the
+ * user authenticating the call.
+ *
+ * Generated from protobuf field repeated string resource_names = 1;
+ * @param string[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResourceNames($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->resource_names = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsRequest.php
new file mode 100644
index 000000000..12d537342
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsRequest.php
@@ -0,0 +1,155 @@
+google.ads.googleads.v2.services.ListCampaignDraftAsyncErrorsRequest
+ */
+final class ListCampaignDraftAsyncErrorsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The name of the campaign draft from which to retrieve the async errors.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ */
+ private $page_token = '';
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ */
+ private $page_size = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The name of the campaign draft from which to retrieve the async errors.
+ * @type string $page_token
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ * @type int $page_size
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The name of the campaign draft from which to retrieve the async errors.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The name of the campaign draft from which to retrieve the async errors.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsResponse.php
new file mode 100644
index 000000000..3c9fb5b26
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignDraftAsyncErrorsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.ListCampaignDraftAsyncErrorsResponse
+ */
+final class ListCampaignDraftAsyncErrorsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Details of the errors when performing the asynchronous operation.
+ *
+ * Generated from protobuf field repeated .google.rpc.Status errors = 1;
+ */
+ private $errors;
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ private $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status[]|\Google\Protobuf\Internal\RepeatedField $errors
+ * Details of the errors when performing the asynchronous operation.
+ * @type string $next_page_token
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Details of the errors when performing the asynchronous operation.
+ *
+ * Generated from protobuf field repeated .google.rpc.Status errors = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getErrors()
+ {
+ return $this->errors;
+ }
+
+ /**
+ * Details of the errors when performing the asynchronous operation.
+ *
+ * Generated from protobuf field repeated .google.rpc.Status errors = 1;
+ * @param \Google\Rpc\Status[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setErrors($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Rpc\Status::class);
+ $this->errors = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsRequest.php
new file mode 100644
index 000000000..a1969d45e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsRequest.php
@@ -0,0 +1,160 @@
+google.ads.googleads.v2.services.ListCampaignExperimentAsyncErrorsRequest
+ */
+final class ListCampaignExperimentAsyncErrorsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The name of the campaign experiment from which to retrieve the async
+ * errors.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ */
+ private $page_token = '';
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ */
+ private $page_size = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The name of the campaign experiment from which to retrieve the async
+ * errors.
+ * @type string $page_token
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ * @type int $page_size
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The name of the campaign experiment from which to retrieve the async
+ * errors.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The name of the campaign experiment from which to retrieve the async
+ * errors.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsResponse.php
new file mode 100644
index 000000000..ea35844ca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListCampaignExperimentAsyncErrorsResponse.php
@@ -0,0 +1,114 @@
+google.ads.googleads.v2.services.ListCampaignExperimentAsyncErrorsResponse
+ */
+final class ListCampaignExperimentAsyncErrorsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Details of the errors when performing the asynchronous operation.
+ *
+ * Generated from protobuf field repeated .google.rpc.Status errors = 1;
+ */
+ private $errors;
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ private $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status[]|\Google\Protobuf\Internal\RepeatedField $errors
+ * Details of the errors when performing the asynchronous operation.
+ * @type string $next_page_token
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Details of the errors when performing the asynchronous operation.
+ *
+ * Generated from protobuf field repeated .google.rpc.Status errors = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getErrors()
+ {
+ return $this->errors;
+ }
+
+ /**
+ * Details of the errors when performing the asynchronous operation.
+ *
+ * Generated from protobuf field repeated .google.rpc.Status errors = 1;
+ * @param \Google\Rpc\Status[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setErrors($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Rpc\Status::class);
+ $this->errors = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksRequest.php b/src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksRequest.php
new file mode 100644
index 000000000..4143a4d9a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksRequest.php
@@ -0,0 +1,71 @@
+google.ads.googleads.v2.services.ListMerchantCenterLinksRequest
+ */
+final class ListMerchantCenterLinksRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer onto which to apply the Merchant Center link list
+ * operation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer onto which to apply the Merchant Center link list
+ * operation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer onto which to apply the Merchant Center link list
+ * operation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer onto which to apply the Merchant Center link list
+ * operation.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksResponse.php
new file mode 100644
index 000000000..101566e0a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListMerchantCenterLinksResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.ListMerchantCenterLinksResponse
+ */
+final class ListMerchantCenterLinksResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Merchant Center links available for the requested customer
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.MerchantCenterLink merchant_center_links = 1;
+ */
+ private $merchant_center_links;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink[]|\Google\Protobuf\Internal\RepeatedField $merchant_center_links
+ * Merchant Center links available for the requested customer
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Merchant Center links available for the requested customer
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.MerchantCenterLink merchant_center_links = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMerchantCenterLinks()
+ {
+ return $this->merchant_center_links;
+ }
+
+ /**
+ * Merchant Center links available for the requested customer
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.MerchantCenterLink merchant_center_links = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMerchantCenterLinks($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink::class);
+ $this->merchant_center_links = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsRequest.php
new file mode 100644
index 000000000..30f250990
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsRequest.php
@@ -0,0 +1,155 @@
+google.ads.googleads.v2.services.ListMutateJobResultsRequest
+ */
+final class ListMutateJobResultsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the MutateJob whose results are being listed.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ */
+ private $page_token = '';
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ */
+ private $page_size = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the MutateJob whose results are being listed.
+ * @type string $page_token
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ * @type int $page_size
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the MutateJob whose results are being listed.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the MutateJob whose results are being listed.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When a page request is too large, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsResponse.php
new file mode 100644
index 000000000..5ffc9fb79
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListMutateJobResultsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.ListMutateJobResultsResponse
+ */
+final class ListMutateJobResultsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of rows that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateJobResult results = 1;
+ */
+ private $results;
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ private $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateJobResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * The list of rows that matched the query.
+ * @type string $next_page_token
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of rows that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateJobResult results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * The list of rows that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateJobResult results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateJobResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateJobResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsRequest.php
new file mode 100644
index 000000000..40a709138
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.ListPaymentsAccountsRequest
+ */
+final class ListPaymentsAccountsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer to apply the PaymentsAccount list operation to.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer to apply the PaymentsAccount list operation to.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\PaymentsAccountService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer to apply the PaymentsAccount list operation to.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer to apply the PaymentsAccount list operation to.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsResponse.php
new file mode 100644
index 000000000..e5b1dadb7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ListPaymentsAccountsResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.ListPaymentsAccountsResponse
+ */
+final class ListPaymentsAccountsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of accessible Payments accounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.PaymentsAccount payments_accounts = 1;
+ */
+ private $payments_accounts;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\PaymentsAccount[]|\Google\Protobuf\Internal\RepeatedField $payments_accounts
+ * The list of accessible Payments accounts.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\PaymentsAccountService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of accessible Payments accounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.PaymentsAccount payments_accounts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPaymentsAccounts()
+ {
+ return $this->payments_accounts;
+ }
+
+ /**
+ * The list of accessible Payments accounts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.PaymentsAccount payments_accounts = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\PaymentsAccount[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPaymentsAccounts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\PaymentsAccount::class);
+ $this->payments_accounts = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClient.php
new file mode 100644
index 000000000..3e3a2db00
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.LocationViewService/GetLocationView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\LocationView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClient.php
new file mode 100644
index 000000000..3218ac841
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ManagedPlacementViewService/GetManagedPlacementView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ManagedPlacementView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MediaFileOperation.php b/src/Google/Ads/GoogleAds/V2/Services/MediaFileOperation.php
new file mode 100644
index 000000000..09f792884
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MediaFileOperation.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.MediaFileOperation
+ */
+final class MediaFileOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\MediaFile $create
+ * Create operation: No resource name is expected for the new media file.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MediaFileService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaFile create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MediaFile
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new media file.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MediaFile create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MediaFile $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MediaFile::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClient.php
new file mode 100644
index 000000000..cf925e8a6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.MediaFileService/GetMediaFile',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\MediaFile', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates media files. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateMediaFilesRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateMediaFiles(\Google\Ads\GoogleAds\V2\Services\MutateMediaFilesRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MediaFileService/MutateMediaFiles',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateMediaFilesResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkOperation.php b/src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkOperation.php
new file mode 100644
index 000000000..7c6f99f00
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkOperation.php
@@ -0,0 +1,141 @@
+google.ads.googleads.v2.services.MerchantCenterLinkOperation
+ */
+final class MerchantCenterLinkOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink $update
+ * Update operation: The merchant center link is expected to have a valid
+ * resource name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed merchant center link is
+ * expected, in this format:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 3;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The merchant center link is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MerchantCenterLink update = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Update operation: The merchant center link is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.MerchantCenterLink update = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed merchant center link is
+ * expected, in this format:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed merchant center link is
+ * expected, in this format:
+ * `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ *
+ * Generated from protobuf field string remove = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClient.php
new file mode 100644
index 000000000..563e5d3c7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.MerchantCenterLinkService/ListMerchantCenterLinks',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ListMerchantCenterLinksResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns the Merchant Center link in full detail.
+ * @param \Google\Ads\GoogleAds\V2\Services\GetMerchantCenterLinkRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function GetMerchantCenterLink(\Google\Ads\GoogleAds\V2\Services\GetMerchantCenterLinkRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MerchantCenterLinkService/GetMerchantCenterLink',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\MerchantCenterLink', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Updates status or removes a Merchant Center link.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateMerchantCenterLink(\Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MerchantCenterLinkService/MutateMerchantCenterLink',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClient.php
new file mode 100644
index 000000000..b58661c4b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.MobileAppCategoryConstantService/GetMobileAppCategoryConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\MobileAppCategoryConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClient.php
new file mode 100644
index 000000000..14cdbd5f5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.MobileDeviceConstantService/GetMobileDeviceConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\MobileDeviceConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalRequest.php
new file mode 100644
index 000000000..237c0545e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalRequest.php
@@ -0,0 +1,140 @@
+google.ads.googleads.v2.services.MutateAccountBudgetProposalRequest
+ */
+final class MutateAccountBudgetProposalRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The operation to perform on an individual account-level budget proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AccountBudgetProposalOperation operation = 2;
+ */
+ private $operation = null;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 3;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer.
+ * @type \Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalOperation $operation
+ * The operation to perform on an individual account-level budget proposal.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operation to perform on an individual account-level budget proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AccountBudgetProposalOperation operation = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalOperation
+ */
+ public function getOperation()
+ {
+ return $this->operation;
+ }
+
+ /**
+ * The operation to perform on an individual account-level budget proposal.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AccountBudgetProposalOperation operation = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalOperation $var
+ * @return $this
+ */
+ public function setOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalOperation::class);
+ $this->operation = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 3;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResponse.php
new file mode 100644
index 000000000..aa4fb653c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAccountBudgetProposalResponse
+ */
+final class MutateAccountBudgetProposalResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The result of the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAccountBudgetProposalResult result = 2;
+ */
+ private $result = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalResult $result
+ * The result of the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The result of the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAccountBudgetProposalResult result = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalResult
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * The result of the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAccountBudgetProposalResult result = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalResult $var
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAccountBudgetProposalResult::class);
+ $this->result = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResult.php
new file mode 100644
index 000000000..54b6de644
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAccountBudgetProposalResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAccountBudgetProposalResult
+ */
+final class MutateAccountBudgetProposalResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AccountBudgetProposalService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelResult.php
new file mode 100644
index 000000000..71513776b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupAdLabelResult
+ */
+final class MutateAdGroupAdLabelResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsRequest.php
new file mode 100644
index 000000000..74a7616c3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupAdLabelsRequest
+ */
+final class MutateAdGroupAdLabelsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose ad group ad labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on ad group ad labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupAdLabelOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose ad group ad labels are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on ad group ad labels.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose ad group ad labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose ad group ad labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on ad group ad labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupAdLabelOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on ad group ad labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupAdLabelOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsResponse.php
new file mode 100644
index 000000000..38df8036e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdLabelsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupAdLabelsResponse
+ */
+final class MutateAdGroupAdLabelsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupAdLabelResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupAdLabelResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupAdLabelResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdResult.php
new file mode 100644
index 000000000..4e7ddb434
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupAdResult
+ */
+final class MutateAdGroupAdResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsRequest.php
new file mode 100644
index 000000000..2d72a8985
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupAdsRequest
+ */
+final class MutateAdGroupAdsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose ads are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupAdOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose ads are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ads.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose ads are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose ads are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupAdOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupAdOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsResponse.php
new file mode 100644
index 000000000..075797fd6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupAdsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupAdsResponse
+ */
+final class MutateAdGroupAdsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupAdResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupAdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupAdResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupAdResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifierResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifierResult.php
new file mode 100644
index 000000000..58f837e2a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifierResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupBidModifierResult
+ */
+final class MutateAdGroupBidModifierResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersRequest.php
new file mode 100644
index 000000000..4275ae9e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupBidModifiersRequest
+ */
+final class MutateAdGroupBidModifiersRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose ad group bid modifiers are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ad group bid modifiers.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupBidModifierOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose ad group bid modifiers are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ad group bid modifiers.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose ad group bid modifiers are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose ad group bid modifiers are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ad group bid modifiers.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupBidModifierOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ad group bid modifiers.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupBidModifierOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersResponse.php
new file mode 100644
index 000000000..c2a2c7177
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupBidModifiersResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupBidModifiersResponse
+ */
+final class MutateAdGroupBidModifiersResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupBidModifierResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupBidModifierResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupBidModifierResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaRequest.php
new file mode 100644
index 000000000..a89cdbb49
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupCriteriaRequest
+ */
+final class MutateAdGroupCriteriaRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupCriterionOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose criteria are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual criteria.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupCriterionOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupCriterionOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaResponse.php
new file mode 100644
index 000000000..5df91a6e8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriteriaResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupCriteriaResponse
+ */
+final class MutateAdGroupCriteriaResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupCriterionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupCriterionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupCriterionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelResult.php
new file mode 100644
index 000000000..e4b166ce1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupCriterionLabelResult
+ */
+final class MutateAdGroupCriterionLabelResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsRequest.php
new file mode 100644
index 000000000..aeaa6f1f1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsRequest.php
@@ -0,0 +1,186 @@
+google.ads.googleads.v2.services.MutateAdGroupCriterionLabelsRequest
+ */
+final class MutateAdGroupCriterionLabelsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose ad group criterion labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on ad group criterion labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupCriterionLabelOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose ad group criterion labels are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on ad group criterion labels.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose ad group criterion labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose ad group criterion labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on ad group criterion labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupCriterionLabelOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on ad group criterion labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupCriterionLabelOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsResponse.php
new file mode 100644
index 000000000..e7860a622
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionLabelsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupCriterionLabelsResponse
+ */
+final class MutateAdGroupCriterionLabelsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupCriterionLabelResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupCriterionLabelResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupCriterionLabelResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionResult.php
new file mode 100644
index 000000000..6a0054ae2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupCriterionResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupCriterionResult
+ */
+final class MutateAdGroupCriterionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingResult.php
new file mode 100644
index 000000000..389f93cd7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupExtensionSettingResult
+ */
+final class MutateAdGroupExtensionSettingResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsRequest.php
new file mode 100644
index 000000000..0ca0cc4b7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsRequest.php
@@ -0,0 +1,194 @@
+google.ads.googleads.v2.services.MutateAdGroupExtensionSettingsRequest
+ */
+final class MutateAdGroupExtensionSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose ad group extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ad group extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupExtensionSettingOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose ad group extension settings are being
+ * modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ad group extension
+ * settings.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose ad group extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose ad group extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ad group extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupExtensionSettingOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ad group extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupExtensionSettingOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsResponse.php
new file mode 100644
index 000000000..4c6e9e2aa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupExtensionSettingsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupExtensionSettingsResponse
+ */
+final class MutateAdGroupExtensionSettingsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupExtensionSettingResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupExtensionSettingResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupExtensionSettingResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedResult.php
new file mode 100644
index 000000000..1dbd2d7d8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupFeedResult
+ */
+final class MutateAdGroupFeedResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsRequest.php
new file mode 100644
index 000000000..553f7f5d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupFeedsRequest
+ */
+final class MutateAdGroupFeedsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose ad group feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ad group feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupFeedOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose ad group feeds are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ad group feeds.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose ad group feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose ad group feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ad group feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupFeedOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ad group feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupFeedOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsResponse.php
new file mode 100644
index 000000000..8c9809f19
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupFeedsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupFeedsResponse
+ */
+final class MutateAdGroupFeedsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupFeedResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupFeedResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupFeedResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelResult.php
new file mode 100644
index 000000000..747aba94d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupLabelResult
+ */
+final class MutateAdGroupLabelResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsRequest.php
new file mode 100644
index 000000000..449160958
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupLabelsRequest
+ */
+final class MutateAdGroupLabelsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose ad group labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on ad group labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupLabelOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose ad group labels are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on ad group labels.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose ad group labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose ad group labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on ad group labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupLabelOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on ad group labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupLabelOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsResponse.php
new file mode 100644
index 000000000..d71e4f73d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupLabelsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupLabelsResponse
+ */
+final class MutateAdGroupLabelsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupLabelResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupLabelResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupLabelResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupResult.php
new file mode 100644
index 000000000..3e45d5f1b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdGroupResult
+ */
+final class MutateAdGroupResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsRequest.php
new file mode 100644
index 000000000..3f889c830
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdGroupsRequest
+ */
+final class MutateAdGroupsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose ad groups are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ad groups.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose ad groups are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ad groups.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose ad groups are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose ad groups are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ad groups.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ad groups.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdGroupOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdGroupOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsResponse.php
new file mode 100644
index 000000000..0668c73a3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdGroupsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdGroupsResponse
+ */
+final class MutateAdGroupsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdGroupResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdParameterResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdParameterResult.php
new file mode 100644
index 000000000..df0c66c0d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdParameterResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdParameterResult
+ */
+final class MutateAdParameterResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdParameterService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersRequest.php
new file mode 100644
index 000000000..7b41d7eeb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateAdParametersRequest
+ */
+final class MutateAdParametersRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose ad parameters are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ad parameters.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdParameterOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose ad parameters are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdParameterOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ad parameters.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdParameterService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose ad parameters are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose ad parameters are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ad parameters.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdParameterOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ad parameters.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdParameterOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdParameterOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdParameterOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersResponse.php
new file mode 100644
index 000000000..6f92ed2e0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdParametersResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateAdParametersResponse
+ */
+final class MutateAdParametersResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdParameterResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdParameterService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdParameterResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdParameterResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdResult.php
new file mode 100644
index 000000000..7e81d81dc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdResult
+ */
+final class MutateAdResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdsRequest.php
new file mode 100644
index 000000000..5a2f120aa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdsRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateAdsRequest
+ */
+final class MutateAdsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose ads are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdOperation operations = 2;
+ */
+ private $operations;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose ads are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual ads.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose ads are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose ads are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual ads.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AdOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AdOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAdsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAdsResponse.php
new file mode 100644
index 000000000..5b6786f74
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAdsResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAdsResponse
+ */
+final class MutateAdsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AdService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAdResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAdResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAssetResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAssetResult.php
new file mode 100644
index 000000000..cde2cc6f0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAssetResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAssetResult
+ */
+final class MutateAssetResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AssetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAssetsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAssetsRequest.php
new file mode 100644
index 000000000..a36350335
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAssetsRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateAssetsRequest
+ */
+final class MutateAssetsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose assets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual assets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AssetOperation operations = 2;
+ */
+ private $operations;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose assets are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\AssetOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual assets.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AssetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose assets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose assets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual assets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AssetOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual assets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.AssetOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AssetOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\AssetOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateAssetsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateAssetsResponse.php
new file mode 100644
index 000000000..b2333ee76
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateAssetsResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateAssetsResponse
+ */
+final class MutateAssetsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAssetResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAssetResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\AssetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAssetResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateAssetResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAssetResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateAssetResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesRequest.php
new file mode 100644
index 000000000..f5033fd7a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateBiddingStrategiesRequest
+ */
+final class MutateBiddingStrategiesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose bidding strategies are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual bidding strategies.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.BiddingStrategyOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose bidding strategies are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual bidding strategies.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BiddingStrategyService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose bidding strategies are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose bidding strategies are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual bidding strategies.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.BiddingStrategyOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual bidding strategies.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.BiddingStrategyOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesResponse.php
new file mode 100644
index 000000000..10007be37
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategiesResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateBiddingStrategiesResponse
+ */
+final class MutateBiddingStrategiesResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateBiddingStrategyResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BiddingStrategyService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateBiddingStrategyResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateBiddingStrategyResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategyResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategyResult.php
new file mode 100644
index 000000000..50a304840
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateBiddingStrategyResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateBiddingStrategyResult
+ */
+final class MutateBiddingStrategyResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BiddingStrategyService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupRequest.php
new file mode 100644
index 000000000..296b5754a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateBillingSetupRequest
+ */
+final class MutateBillingSetupRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Id of the customer to apply the billing setup mutate operation to.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The operation to perform.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.BillingSetupOperation operation = 2;
+ */
+ private $operation = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * Id of the customer to apply the billing setup mutate operation to.
+ * @type \Google\Ads\GoogleAds\V2\Services\BillingSetupOperation $operation
+ * The operation to perform.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BillingSetupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Id of the customer to apply the billing setup mutate operation to.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * Id of the customer to apply the billing setup mutate operation to.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operation to perform.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.BillingSetupOperation operation = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\BillingSetupOperation
+ */
+ public function getOperation()
+ {
+ return $this->operation;
+ }
+
+ /**
+ * The operation to perform.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.BillingSetupOperation operation = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\BillingSetupOperation $var
+ * @return $this
+ */
+ public function setOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\BillingSetupOperation::class);
+ $this->operation = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResponse.php
new file mode 100644
index 000000000..8ccff64d1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateBillingSetupResponse
+ */
+final class MutateBillingSetupResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateBillingSetupResult result = 1;
+ */
+ private $result = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateBillingSetupResult $result
+ * A result that identifies the resource affected by the mutate request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BillingSetupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateBillingSetupResult result = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateBillingSetupResult
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateBillingSetupResult result = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateBillingSetupResult $var
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateBillingSetupResult::class);
+ $this->result = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResult.php
new file mode 100644
index 000000000..e59de53cd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateBillingSetupResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateBillingSetupResult
+ */
+final class MutateBillingSetupResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\BillingSetupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifierResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifierResult.php
new file mode 100644
index 000000000..966f8ac86
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifierResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignBidModifierResult
+ */
+final class MutateCampaignBidModifierResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersRequest.php
new file mode 100644
index 000000000..9834160bc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignBidModifiersRequest
+ */
+final class MutateCampaignBidModifiersRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose campaign bid modifiers are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign bid modifiers.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignBidModifierOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose campaign bid modifiers are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign bid modifiers.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose campaign bid modifiers are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose campaign bid modifiers are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign bid modifiers.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignBidModifierOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign bid modifiers.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignBidModifierOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersResponse.php
new file mode 100644
index 000000000..b82c7ba8f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBidModifiersResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignBidModifiersResponse
+ */
+final class MutateCampaignBidModifiersResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignBidModifierResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBidModifierService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignBidModifierResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignBidModifierResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetResult.php
new file mode 100644
index 000000000..0bb9426d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignBudgetResult
+ */
+final class MutateCampaignBudgetResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBudgetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsRequest.php
new file mode 100644
index 000000000..520a22645
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignBudgetsRequest
+ */
+final class MutateCampaignBudgetsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign budgets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign budgets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignBudgetOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign budgets are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign budgets.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBudgetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign budgets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign budgets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign budgets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignBudgetOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign budgets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignBudgetOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsResponse.php
new file mode 100644
index 000000000..28b88e715
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignBudgetsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignBudgetsResponse
+ */
+final class MutateCampaignBudgetsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignBudgetResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignBudgetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignBudgetResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignBudgetResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaRequest.php
new file mode 100644
index 000000000..222adffaa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignCriteriaRequest
+ */
+final class MutateCampaignCriteriaRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignCriterionOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose criteria are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual criteria.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignCriterionOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignCriterionOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaResponse.php
new file mode 100644
index 000000000..e70fbe181
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriteriaResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignCriteriaResponse
+ */
+final class MutateCampaignCriteriaResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignCriterionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignCriterionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignCriterionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriterionResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriterionResult.php
new file mode 100644
index 000000000..86916105c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignCriterionResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignCriterionResult
+ */
+final class MutateCampaignCriterionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftResult.php
new file mode 100644
index 000000000..0cc24a329
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignDraftResult
+ */
+final class MutateCampaignDraftResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsRequest.php
new file mode 100644
index 000000000..f57865b0e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignDraftsRequest
+ */
+final class MutateCampaignDraftsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign drafts are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign drafts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignDraftOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign drafts are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign drafts.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign drafts are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign drafts are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign drafts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignDraftOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign drafts.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignDraftOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsResponse.php
new file mode 100644
index 000000000..c11d42e81
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignDraftsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignDraftsResponse
+ */
+final class MutateCampaignDraftsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignDraftResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignDraftResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignDraftResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentResult.php
new file mode 100644
index 000000000..8a1a2bbf3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignExperimentResult
+ */
+final class MutateCampaignExperimentResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsRequest.php
new file mode 100644
index 000000000..479c92c89
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignExperimentsRequest
+ */
+final class MutateCampaignExperimentsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign experiments are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign experiments.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignExperimentOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign experiments are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign experiments.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign experiments are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign experiments are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign experiments.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignExperimentOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign experiments.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignExperimentOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsResponse.php
new file mode 100644
index 000000000..73f026206
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExperimentsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignExperimentsResponse
+ */
+final class MutateCampaignExperimentsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignExperimentResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignExperimentResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignExperimentResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingResult.php
new file mode 100644
index 000000000..4685daf0d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignExtensionSettingResult
+ */
+final class MutateCampaignExtensionSettingResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsRequest.php
new file mode 100644
index 000000000..12be2148f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsRequest.php
@@ -0,0 +1,194 @@
+google.ads.googleads.v2.services.MutateCampaignExtensionSettingsRequest
+ */
+final class MutateCampaignExtensionSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignExtensionSettingOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign extension settings are being
+ * modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign extension
+ * settings.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignExtensionSettingOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignExtensionSettingOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsResponse.php
new file mode 100644
index 000000000..2629503ed
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignExtensionSettingsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignExtensionSettingsResponse
+ */
+final class MutateCampaignExtensionSettingsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignExtensionSettingResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignExtensionSettingResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignExtensionSettingResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedResult.php
new file mode 100644
index 000000000..1061d3948
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignFeedResult
+ */
+final class MutateCampaignFeedResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsRequest.php
new file mode 100644
index 000000000..62ff18124
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignFeedsRequest
+ */
+final class MutateCampaignFeedsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignFeedOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign feeds are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign feeds.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignFeedOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignFeedOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsResponse.php
new file mode 100644
index 000000000..6b530f792
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignFeedsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignFeedsResponse
+ */
+final class MutateCampaignFeedsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignFeedResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignFeedResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignFeedResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelResult.php
new file mode 100644
index 000000000..9cad44221
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignLabelResult
+ */
+final class MutateCampaignLabelResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsRequest.php
new file mode 100644
index 000000000..493d68347
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignLabelsRequest
+ */
+final class MutateCampaignLabelsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose campaign-label relationships are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on campaign-label relationships.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignLabelOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose campaign-label relationships are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on campaign-label relationships.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose campaign-label relationships are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose campaign-label relationships are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on campaign-label relationships.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignLabelOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on campaign-label relationships.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignLabelOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsResponse.php
new file mode 100644
index 000000000..5b1ccbf01
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignLabelsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignLabelsResponse
+ */
+final class MutateCampaignLabelsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignLabelResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignLabelResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignLabelResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignResult.php
new file mode 100644
index 000000000..658360b6e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignResult
+ */
+final class MutateCampaignResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetResult.php
new file mode 100644
index 000000000..a8ce7f329
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCampaignSharedSetResult
+ */
+final class MutateCampaignSharedSetResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignSharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsRequest.php
new file mode 100644
index 000000000..2dde1b0e4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignSharedSetsRequest
+ */
+final class MutateCampaignSharedSetsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaign shared sets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaign shared sets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignSharedSetOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaign shared sets are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaign shared sets.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignSharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaign shared sets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaign shared sets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign shared sets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignSharedSetOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaign shared sets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignSharedSetOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsResponse.php
new file mode 100644
index 000000000..7ac233306
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignSharedSetsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignSharedSetsResponse
+ */
+final class MutateCampaignSharedSetsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignSharedSetResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignSharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignSharedSetResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignSharedSetResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsRequest.php
new file mode 100644
index 000000000..751678858
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCampaignsRequest
+ */
+final class MutateCampaignsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose campaigns are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual campaigns.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose campaigns are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual campaigns.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose campaigns are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose campaigns are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual campaigns.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual campaigns.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CampaignOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CampaignOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsResponse.php
new file mode 100644
index 000000000..3d4f1620d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCampaignsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCampaignsResponse
+ */
+final class MutateCampaignsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCampaignResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionResult.php
new file mode 100644
index 000000000..4797c504b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateConversionActionResult
+ */
+final class MutateConversionActionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsRequest.php
new file mode 100644
index 000000000..58797ff75
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateConversionActionsRequest
+ */
+final class MutateConversionActionsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose conversion actions are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual conversion actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionActionOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose conversion actions are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual conversion actions.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose conversion actions are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose conversion actions are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual conversion actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionActionOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual conversion actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionActionOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsResponse.php
new file mode 100644
index 000000000..6cd72257b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateConversionActionsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateConversionActionsResponse
+ */
+final class MutateConversionActionsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateConversionActionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateConversionActionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateConversionActionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestResult.php
new file mode 100644
index 000000000..096571d49
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomInterestResult
+ */
+final class MutateCustomInterestResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomInterestService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsRequest.php
new file mode 100644
index 000000000..280a0229e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsRequest.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.services.MutateCustomInterestsRequest
+ */
+final class MutateCustomInterestsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose custom interests are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual custom interests.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomInterestOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose custom interests are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomInterestOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual custom interests.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomInterestService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose custom interests are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose custom interests are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual custom interests.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomInterestOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual custom interests.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomInterestOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomInterestOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CustomInterestOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsResponse.php
new file mode 100644
index 000000000..d38011af6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomInterestsResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomInterestsResponse
+ */
+final class MutateCustomInterestsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomInterestResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomInterestResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomInterestService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomInterestResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomInterestResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomInterestResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCustomInterestResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkRequest.php
new file mode 100644
index 000000000..6226e4ad3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateCustomerClientLinkRequest
+ */
+final class MutateCustomerClientLinkRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose customer link are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The operation to perform on the individual CustomerClientLink.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerClientLinkOperation operation = 2;
+ */
+ private $operation = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose customer link are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerClientLinkOperation $operation
+ * The operation to perform on the individual CustomerClientLink.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerClientLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose customer link are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose customer link are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operation to perform on the individual CustomerClientLink.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerClientLinkOperation operation = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerClientLinkOperation
+ */
+ public function getOperation()
+ {
+ return $this->operation;
+ }
+
+ /**
+ * The operation to perform on the individual CustomerClientLink.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerClientLinkOperation operation = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerClientLinkOperation $var
+ * @return $this
+ */
+ public function setOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerClientLinkOperation::class);
+ $this->operation = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResponse.php
new file mode 100644
index 000000000..3a102494e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerClientLinkResponse
+ */
+final class MutateCustomerClientLinkResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerClientLinkResult result = 1;
+ */
+ private $result = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkResult $result
+ * A result that identifies the resource affected by the mutate request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerClientLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerClientLinkResult result = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkResult
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerClientLinkResult result = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkResult $var
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerClientLinkResult::class);
+ $this->result = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResult.php
new file mode 100644
index 000000000..cc1312ffc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerClientLinkResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerClientLinkResult
+ */
+final class MutateCustomerClientLinkResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerClientLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingResult.php
new file mode 100644
index 000000000..fa60cfc94
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerExtensionSettingResult
+ */
+final class MutateCustomerExtensionSettingResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsRequest.php
new file mode 100644
index 000000000..26bb44be0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsRequest.php
@@ -0,0 +1,194 @@
+google.ads.googleads.v2.services.MutateCustomerExtensionSettingsRequest
+ */
+final class MutateCustomerExtensionSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose customer extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual customer extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerExtensionSettingOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose customer extension settings are being
+ * modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual customer extension
+ * settings.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose customer extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose customer extension settings are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual customer extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerExtensionSettingOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual customer extension
+ * settings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerExtensionSettingOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsResponse.php
new file mode 100644
index 000000000..1147adc11
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerExtensionSettingsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCustomerExtensionSettingsResponse
+ */
+final class MutateCustomerExtensionSettingsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerExtensionSettingResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerExtensionSettingResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerExtensionSettingResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedResult.php
new file mode 100644
index 000000000..062d163a7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerFeedResult
+ */
+final class MutateCustomerFeedResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsRequest.php
new file mode 100644
index 000000000..44a7a2f94
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCustomerFeedsRequest
+ */
+final class MutateCustomerFeedsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose customer feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual customer feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerFeedOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose customer feeds are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual customer feeds.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose customer feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose customer feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual customer feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerFeedOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual customer feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerFeedOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsResponse.php
new file mode 100644
index 000000000..22e60c2b2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerFeedsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCustomerFeedsResponse
+ */
+final class MutateCustomerFeedsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerFeedResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerFeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerFeedResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerFeedResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelResult.php
new file mode 100644
index 000000000..5556e833b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerLabelResult
+ */
+final class MutateCustomerLabelResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsRequest.php
new file mode 100644
index 000000000..c7d135235
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateCustomerLabelsRequest
+ */
+final class MutateCustomerLabelsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose customer-label relationships are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on customer-label relationships.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerLabelOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose customer-label relationships are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on customer-label relationships.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose customer-label relationships are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose customer-label relationships are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on customer-label relationships.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerLabelOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on customer-label relationships.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerLabelOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsResponse.php
new file mode 100644
index 000000000..fd6bcd952
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerLabelsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCustomerLabelsResponse
+ */
+final class MutateCustomerLabelsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerLabelResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerLabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerLabelResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerLabelResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkRequest.php
new file mode 100644
index 000000000..06e2b67af
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateCustomerManagerLinkRequest
+ */
+final class MutateCustomerManagerLinkRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose customer manager links are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual customer manager links.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerManagerLinkOperation operations = 2;
+ */
+ private $operations;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose customer manager links are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual customer manager links.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose customer manager links are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose customer manager links are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual customer manager links.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerManagerLinkOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual customer manager links.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerManagerLinkOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResponse.php
new file mode 100644
index 000000000..dc92c289c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerManagerLinkResponse
+ */
+final class MutateCustomerManagerLinkResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerManagerLinkResult results = 1;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerManagerLinkResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * A result that identifies the resource affected by the mutate request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerManagerLinkResult results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * A result that identifies the resource affected by the mutate request.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerManagerLinkResult results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerManagerLinkResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCustomerManagerLinkResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResult.php
new file mode 100644
index 000000000..8baef8d53
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerManagerLinkResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerManagerLinkResult
+ */
+final class MutateCustomerManagerLinkResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerManagerLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaRequest.php
new file mode 100644
index 000000000..54dbc6af4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaRequest.php
@@ -0,0 +1,186 @@
+google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaRequest
+ */
+final class MutateCustomerNegativeCriteriaRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerNegativeCriterionOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose criteria are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual criteria.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerNegativeCriterionOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CustomerNegativeCriterionOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResponse.php
new file mode 100644
index 000000000..a10a983de
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResponse
+ */
+final class MutateCustomerNegativeCriteriaResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResult.php
new file mode 100644
index 000000000..ca9dfe32b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerNegativeCriteriaResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResult
+ */
+final class MutateCustomerNegativeCriteriaResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerRequest.php
new file mode 100644
index 000000000..408dff509
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerRequest.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.services.MutateCustomerRequest
+ */
+final class MutateCustomerRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The operation to perform on the customer
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerOperation operation = 4;
+ */
+ private $operation = null;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 5;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerOperation $operation
+ * The operation to perform on the customer
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operation to perform on the customer
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerOperation operation = 4;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerOperation
+ */
+ public function getOperation()
+ {
+ return $this->operation;
+ }
+
+ /**
+ * The operation to perform on the customer
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerOperation operation = 4;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerOperation $var
+ * @return $this
+ */
+ public function setOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerOperation::class);
+ $this->operation = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 5;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 5;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResponse.php
new file mode 100644
index 000000000..4c62418f3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerResponse
+ */
+final class MutateCustomerResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Result for the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerResult result = 2;
+ */
+ private $result = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult $result
+ * Result for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Result for the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerResult result = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * Result for the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerResult result = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult $var
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult::class);
+ $this->result = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResult.php
new file mode 100644
index 000000000..d809e33ec
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateCustomerResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateCustomerResult
+ */
+final class MutateCustomerResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CustomerService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemResult.php
new file mode 100644
index 000000000..108b06b32
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateExtensionFeedItemResult
+ */
+final class MutateExtensionFeedItemResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsRequest.php
new file mode 100644
index 000000000..f8b86c923
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsRequest.php
@@ -0,0 +1,189 @@
+google.ads.googleads.v2.services.MutateExtensionFeedItemsRequest
+ */
+final class MutateExtensionFeedItemsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose extension feed items are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual extension feed items.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ExtensionFeedItemOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose extension feed items are being
+ * modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual extension feed items.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose extension feed items are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose extension feed items are being
+ * modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual extension feed items.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ExtensionFeedItemOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual extension feed items.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ExtensionFeedItemOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsResponse.php
new file mode 100644
index 000000000..cf979ac4a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateExtensionFeedItemsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateExtensionFeedItemsResponse
+ */
+final class MutateExtensionFeedItemsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateExtensionFeedItemResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateExtensionFeedItemResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateExtensionFeedItemResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemResult.php
new file mode 100644
index 000000000..a24ebb681
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateFeedItemResult
+ */
+final class MutateFeedItemResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetResult.php
new file mode 100644
index 000000000..c39648d66
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateFeedItemTargetResult
+ */
+final class MutateFeedItemTargetResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemTargetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsRequest.php
new file mode 100644
index 000000000..5ae6399ef
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateFeedItemTargetsRequest
+ */
+final class MutateFeedItemTargetsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose feed item targets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual feed item targets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedItemTargetOperation operations = 2;
+ */
+ private $operations;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose feed item targets are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual feed item targets.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemTargetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose feed item targets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose feed item targets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual feed item targets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedItemTargetOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual feed item targets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedItemTargetOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsResponse.php
new file mode 100644
index 000000000..445f2bdc0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemTargetsResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateFeedItemTargetsResponse
+ */
+final class MutateFeedItemTargetsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedItemTargetResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemTargetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedItemTargetResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedItemTargetResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsRequest.php
new file mode 100644
index 000000000..eaebad0fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateFeedItemsRequest
+ */
+final class MutateFeedItemsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose feed items are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual feed items.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedItemOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose feed items are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedItemOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual feed items.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose feed items are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose feed items are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual feed items.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedItemOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual feed items.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedItemOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedItemOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\FeedItemOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsResponse.php
new file mode 100644
index 000000000..e85c40743
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedItemsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateFeedItemsResponse
+ */
+final class MutateFeedItemsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedItemResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedItemService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedItemResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedItemResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingResult.php
new file mode 100644
index 000000000..354e8c030
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateFeedMappingResult
+ */
+final class MutateFeedMappingResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedMappingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsRequest.php
new file mode 100644
index 000000000..d1e4a0964
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateFeedMappingsRequest
+ */
+final class MutateFeedMappingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose feed mappings are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual feed mappings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedMappingOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose feed mappings are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual feed mappings.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedMappingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose feed mappings are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose feed mappings are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual feed mappings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedMappingOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual feed mappings.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedMappingOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsResponse.php
new file mode 100644
index 000000000..3408397f8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedMappingsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateFeedMappingsResponse
+ */
+final class MutateFeedMappingsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedMappingResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedMappingService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedMappingResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedMappingResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedResult.php
new file mode 100644
index 000000000..39466cbcb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateFeedResult
+ */
+final class MutateFeedResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedsRequest.php
new file mode 100644
index 000000000..c1b890005
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateFeedsRequest
+ */
+final class MutateFeedsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose feeds are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual feeds.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose feeds are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual feeds.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.FeedOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\FeedOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateFeedsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedsResponse.php
new file mode 100644
index 000000000..9916533e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateFeedsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateFeedsResponse
+ */
+final class MutateFeedsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\FeedService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateFeedResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateFeedResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsRequest.php
new file mode 100644
index 000000000..f4a8cceb3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateGoogleAdsRequest
+ */
+final class MutateGoogleAdsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose resources are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual resources.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperation mutate_operations = 2;
+ */
+ private $mutate_operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose resources are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateOperation[]|\Google\Protobuf\Internal\RepeatedField $mutate_operations
+ * The list of operations to perform on individual resources.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose resources are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose resources are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual resources.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperation mutate_operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMutateOperations()
+ {
+ return $this->mutate_operations;
+ }
+
+ /**
+ * The list of operations to perform on individual resources.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperation mutate_operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMutateOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateOperation::class);
+ $this->mutate_operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsResponse.php
new file mode 100644
index 000000000..7af125180
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateGoogleAdsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateGoogleAdsResponse
+ */
+final class MutateGoogleAdsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g., auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All responses for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperationResponse mutate_operation_responses = 1;
+ */
+ private $mutate_operation_responses;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g., auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse[]|\Google\Protobuf\Internal\RepeatedField $mutate_operation_responses
+ * All responses for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g., auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g., auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All responses for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperationResponse mutate_operation_responses = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getMutateOperationResponses()
+ {
+ return $this->mutate_operation_responses;
+ }
+
+ /**
+ * All responses for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateOperationResponse mutate_operation_responses = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setMutateOperationResponses($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse::class);
+ $this->mutate_operation_responses = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateJobResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateJobResult.php
new file mode 100644
index 000000000..444fa8e51
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateJobResult.php
@@ -0,0 +1,139 @@
+google.ads.googleads.v2.services.MutateJobResult
+ */
+final class MutateJobResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Index of the mutate operation.
+ *
+ * Generated from protobuf field int64 operation_index = 1;
+ */
+ private $operation_index = 0;
+ /**
+ * Response for the mutate.
+ * May be empty if errors occurred.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateOperationResponse mutate_operation_response = 2;
+ */
+ private $mutate_operation_response = null;
+ /**
+ * Details of the errors when processing the operation.
+ *
+ * Generated from protobuf field .google.rpc.Status status = 3;
+ */
+ private $status = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int|string $operation_index
+ * Index of the mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse $mutate_operation_response
+ * Response for the mutate.
+ * May be empty if errors occurred.
+ * @type \Google\Rpc\Status $status
+ * Details of the errors when processing the operation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Index of the mutate operation.
+ *
+ * Generated from protobuf field int64 operation_index = 1;
+ * @return int|string
+ */
+ public function getOperationIndex()
+ {
+ return $this->operation_index;
+ }
+
+ /**
+ * Index of the mutate operation.
+ *
+ * Generated from protobuf field int64 operation_index = 1;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setOperationIndex($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->operation_index = $var;
+
+ return $this;
+ }
+
+ /**
+ * Response for the mutate.
+ * May be empty if errors occurred.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateOperationResponse mutate_operation_response = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse
+ */
+ public function getMutateOperationResponse()
+ {
+ return $this->mutate_operation_response;
+ }
+
+ /**
+ * Response for the mutate.
+ * May be empty if errors occurred.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateOperationResponse mutate_operation_response = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse $var
+ * @return $this
+ */
+ public function setMutateOperationResponse($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateOperationResponse::class);
+ $this->mutate_operation_response = $var;
+
+ return $this;
+ }
+
+ /**
+ * Details of the errors when processing the operation.
+ *
+ * Generated from protobuf field .google.rpc.Status status = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getStatus()
+ {
+ return $this->status;
+ }
+
+ /**
+ * Details of the errors when processing the operation.
+ *
+ * Generated from protobuf field .google.rpc.Status status = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setStatus($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->status = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClient.php
new file mode 100644
index 000000000..ba575c36e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.MutateJobService/CreateMutateJob',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\CreateMutateJobResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns the mutate job.
+ * @param \Google\Ads\GoogleAds\V2\Services\GetMutateJobRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function GetMutateJob(\Google\Ads\GoogleAds\V2\Services\GetMutateJobRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MutateJobService/GetMutateJob',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\MutateJob', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Returns the results of the mutate job. The job must be done.
+ * Supports standard list paging.
+ * @param \Google\Ads\GoogleAds\V2\Services\ListMutateJobResultsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function ListMutateJobResults(\Google\Ads\GoogleAds\V2\Services\ListMutateJobResultsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MutateJobService/ListMutateJobResults',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ListMutateJobResultsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Runs the mutate job.
+ *
+ * The Operation.metadata field type is MutateJobMetadata. When finished, the
+ * long running operation will not contain errors or a response. Instead, use
+ * ListMutateJobResults to get the results of the job.
+ * @param \Google\Ads\GoogleAds\V2\Services\RunMutateJobRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function RunMutateJob(\Google\Ads\GoogleAds\V2\Services\RunMutateJobRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MutateJobService/RunMutateJob',
+ $argument,
+ ['\Google\LongRunning\Operation', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Add operations to the mutate job.
+ * @param \Google\Ads\GoogleAds\V2\Services\AddMutateJobOperationsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function AddMutateJobOperations(\Google\Ads\GoogleAds\V2\Services\AddMutateJobOperationsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.MutateJobService/AddMutateJobOperations',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\AddMutateJobOperationsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupResult.php
new file mode 100644
index 000000000..1e7138c5e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateKeywordPlanAdGroupResult
+ */
+final class MutateKeywordPlanAdGroupResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsRequest.php
new file mode 100644
index 000000000..9c4e1b6bf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateKeywordPlanAdGroupsRequest
+ */
+final class MutateKeywordPlanAdGroupsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose Keyword Plan ad groups are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual Keyword Plan ad groups.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanAdGroupOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose Keyword Plan ad groups are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual Keyword Plan ad groups.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose Keyword Plan ad groups are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose Keyword Plan ad groups are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan ad groups.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanAdGroupOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan ad groups.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanAdGroupOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsResponse.php
new file mode 100644
index 000000000..dad13825e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanAdGroupsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateKeywordPlanAdGroupsResponse
+ */
+final class MutateKeywordPlanAdGroupsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanAdGroupResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanAdGroupResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanAdGroupService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanAdGroupResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanAdGroupResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanAdGroupResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanAdGroupResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignResult.php
new file mode 100644
index 000000000..6e07c03c2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateKeywordPlanCampaignResult
+ */
+final class MutateKeywordPlanCampaignResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsRequest.php
new file mode 100644
index 000000000..d9d165c26
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsRequest.php
@@ -0,0 +1,186 @@
+google.ads.googleads.v2.services.MutateKeywordPlanCampaignsRequest
+ */
+final class MutateKeywordPlanCampaignsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose Keyword Plan campaigns are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual Keyword Plan campaigns.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanCampaignOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose Keyword Plan campaigns are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual Keyword Plan campaigns.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose Keyword Plan campaigns are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose Keyword Plan campaigns are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan campaigns.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanCampaignOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan campaigns.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanCampaignOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsResponse.php
new file mode 100644
index 000000000..b4c74e1dd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanCampaignsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateKeywordPlanCampaignsResponse
+ */
+final class MutateKeywordPlanCampaignsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanCampaignResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanCampaignResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanCampaignService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanCampaignResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanCampaignResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanCampaignResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanCampaignResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordResult.php
new file mode 100644
index 000000000..86c7da749
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateKeywordPlanKeywordResult
+ */
+final class MutateKeywordPlanKeywordResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsRequest.php
new file mode 100644
index 000000000..7f4e6ab8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateKeywordPlanKeywordsRequest
+ */
+final class MutateKeywordPlanKeywordsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose Keyword Plan keywords are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual Keyword Plan keywords.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose Keyword Plan keywords are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual Keyword Plan keywords.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose Keyword Plan keywords are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose Keyword Plan keywords are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan keywords.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan keywords.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanKeywordOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsResponse.php
new file mode 100644
index 000000000..643235c99
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanKeywordsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateKeywordPlanKeywordsResponse
+ */
+final class MutateKeywordPlanKeywordsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanKeywordResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanKeywordResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanKeywordResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanKeywordResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanKeywordResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanKeywordResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordResult.php
new file mode 100644
index 000000000..0155afe6f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateKeywordPlanNegativeKeywordResult
+ */
+final class MutateKeywordPlanNegativeKeywordResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsRequest.php
new file mode 100644
index 000000000..90bdbd2d2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsRequest.php
@@ -0,0 +1,190 @@
+google.ads.googleads.v2.services.MutateKeywordPlanNegativeKeywordsRequest
+ */
+final class MutateKeywordPlanNegativeKeywordsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose negative keywords are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual Keyword Plan negative
+ * keywords.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanNegativeKeywordOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose negative keywords are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual Keyword Plan negative
+ * keywords.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose negative keywords are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose negative keywords are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan negative
+ * keywords.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanNegativeKeywordOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual Keyword Plan negative
+ * keywords.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanNegativeKeywordOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsResponse.php
new file mode 100644
index 000000000..c28f4fa93
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlanNegativeKeywordsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateKeywordPlanNegativeKeywordsResponse
+ */
+final class MutateKeywordPlanNegativeKeywordsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanNegativeKeywordResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanNegativeKeywordResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanNegativeKeywordService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanNegativeKeywordResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlanNegativeKeywordResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanNegativeKeywordResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlanNegativeKeywordResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansRequest.php
new file mode 100644
index 000000000..dfcdefdec
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateKeywordPlansRequest
+ */
+final class MutateKeywordPlansRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose keyword plans are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual keyword plans.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose keyword plans are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\KeywordPlanOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual keyword plans.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose keyword plans are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose keyword plans are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual keyword plans.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual keyword plans.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.KeywordPlanOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\KeywordPlanOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\KeywordPlanOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResponse.php
new file mode 100644
index 000000000..1d301abe3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateKeywordPlansResponse
+ */
+final class MutateKeywordPlansResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlansResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlansResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlansResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateKeywordPlansResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlansResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateKeywordPlansResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResult.php
new file mode 100644
index 000000000..78f8fe743
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateKeywordPlansResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateKeywordPlansResult
+ */
+final class MutateKeywordPlansResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateLabelResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateLabelResult.php
new file mode 100644
index 000000000..c4b61c1e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateLabelResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateLabelResult
+ */
+final class MutateLabelResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateLabelsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateLabelsRequest.php
new file mode 100644
index 000000000..646b5d21c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateLabelsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateLabelsRequest
+ */
+final class MutateLabelsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * ID of the customer whose labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.LabelOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * ID of the customer whose labels are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\LabelOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on labels.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * ID of the customer whose labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * ID of the customer whose labels are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.LabelOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on labels.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.LabelOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\LabelOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\LabelOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateLabelsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateLabelsResponse.php
new file mode 100644
index 000000000..7723246d2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateLabelsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateLabelsResponse
+ */
+final class MutateLabelsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateLabelResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateLabelResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\LabelService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateLabelResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateLabelResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateLabelResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateLabelResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFileResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFileResult.php
new file mode 100644
index 000000000..c2412af3e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFileResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateMediaFileResult
+ */
+final class MutateMediaFileResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MediaFileService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesRequest.php
new file mode 100644
index 000000000..eba62d687
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateMediaFilesRequest
+ */
+final class MutateMediaFilesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose media files are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual media file.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MediaFileOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose media files are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\MediaFileOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual media file.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MediaFileService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose media files are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose media files are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual media file.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MediaFileOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual media file.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MediaFileOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MediaFileOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MediaFileOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesResponse.php
new file mode 100644
index 000000000..8cc222801
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateMediaFilesResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateMediaFilesResponse
+ */
+final class MutateMediaFilesResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateMediaFileResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MediaFileService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateMediaFileResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateMediaFileResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkRequest.php
new file mode 100644
index 000000000..1ac7f80f2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkRequest.php
@@ -0,0 +1,101 @@
+google.ads.googleads.v2.services.MutateMerchantCenterLinkRequest
+ */
+final class MutateMerchantCenterLinkRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The operation to perform on the link
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MerchantCenterLinkOperation operation = 2;
+ */
+ private $operation = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkOperation $operation
+ * The operation to perform on the link
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The operation to perform on the link
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MerchantCenterLinkOperation operation = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkOperation
+ */
+ public function getOperation()
+ {
+ return $this->operation;
+ }
+
+ /**
+ * The operation to perform on the link
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MerchantCenterLinkOperation operation = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkOperation $var
+ * @return $this
+ */
+ public function setOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkOperation::class);
+ $this->operation = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResponse.php
new file mode 100644
index 000000000..63d1ca1fb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResponse.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateMerchantCenterLinkResponse
+ */
+final class MutateMerchantCenterLinkResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Result for the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateMerchantCenterLinkResult result = 2;
+ */
+ private $result = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkResult $result
+ * Result for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Result for the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateMerchantCenterLinkResult result = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkResult
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * Result for the mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateMerchantCenterLinkResult result = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkResult $var
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateMerchantCenterLinkResult::class);
+ $this->result = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResult.php
new file mode 100644
index 000000000..61735ebe4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateMerchantCenterLinkResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateMerchantCenterLinkResult
+ */
+final class MutateMerchantCenterLinkResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MerchantCenterLinkService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateOperation.php b/src/Google/Ads/GoogleAds/V2/Services/MutateOperation.php
new file mode 100644
index 000000000..e42095a9e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateOperation.php
@@ -0,0 +1,1134 @@
+google.ads.googleads.v2.services.MutateOperation
+ */
+final class MutateOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation $ad_group_ad_label_operation
+ * An ad group ad label mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation $ad_group_ad_operation
+ * An ad group ad mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation $ad_group_bid_modifier_operation
+ * An ad group bid modifier mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation $ad_group_criterion_label_operation
+ * An ad group criterion label mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation $ad_group_criterion_operation
+ * An ad group criterion mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation $ad_group_extension_setting_operation
+ * An ad group extension setting mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation $ad_group_feed_operation
+ * An ad group feed mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation $ad_group_label_operation
+ * An ad group label mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdGroupOperation $ad_group_operation
+ * An ad group mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AdParameterOperation $ad_parameter_operation
+ * An ad parameter mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\AssetOperation $asset_operation
+ * An asset mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation $bidding_strategy_operation
+ * A bidding strategy mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation $campaign_bid_modifier_operation
+ * A campaign bid modifier mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation $campaign_budget_operation
+ * A campaign budget mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation $campaign_criterion_operation
+ * A campaign criterion mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation $campaign_draft_operation
+ * A campaign draft mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation $campaign_experiment_operation
+ * A campaign experiment mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation $campaign_extension_setting_operation
+ * A campaign extension setting mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation $campaign_feed_operation
+ * A campaign feed mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation $campaign_label_operation
+ * A campaign label mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignOperation $campaign_operation
+ * A campaign mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation $campaign_shared_set_operation
+ * A campaign shared set mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation $conversion_action_operation
+ * A conversion action mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation $customer_extension_setting_operation
+ * A customer extension setting mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation $customer_feed_operation
+ * A customer feed mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation $customer_label_operation
+ * A customer label mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation $customer_negative_criterion_operation
+ * A customer negative criterion mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\CustomerOperation $customer_operation
+ * A customer mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation $extension_feed_item_operation
+ * An extension feed item mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedItemOperation $feed_item_operation
+ * A feed item mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation $feed_item_target_operation
+ * A feed item target mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation $feed_mapping_operation
+ * A feed mapping mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\FeedOperation $feed_operation
+ * A feed mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\LabelOperation $label_operation
+ * A label mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\MediaFileOperation $media_file_operation
+ * A media file mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation $remarketing_action_operation
+ * A remarketing action mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation $shared_criterion_operation
+ * A shared criterion mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\SharedSetOperation $shared_set_operation
+ * A shared set mutate operation.
+ * @type \Google\Ads\GoogleAds\V2\Services\UserListOperation $user_list_operation
+ * A user list mutate operation.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * An ad group ad label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupAdLabelOperation ad_group_ad_label_operation = 17;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation
+ */
+ public function getAdGroupAdLabelOperation()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * An ad group ad label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupAdLabelOperation ad_group_ad_label_operation = 17;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation $var
+ * @return $this
+ */
+ public function setAdGroupAdLabelOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupAdLabelOperation::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group ad mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupAdOperation ad_group_ad_operation = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation
+ */
+ public function getAdGroupAdOperation()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * An ad group ad mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupAdOperation ad_group_ad_operation = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation $var
+ * @return $this
+ */
+ public function setAdGroupAdOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupAdOperation::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group bid modifier mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupBidModifierOperation ad_group_bid_modifier_operation = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation
+ */
+ public function getAdGroupBidModifierOperation()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * An ad group bid modifier mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupBidModifierOperation ad_group_bid_modifier_operation = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation $var
+ * @return $this
+ */
+ public function setAdGroupBidModifierOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupBidModifierOperation::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group criterion label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupCriterionLabelOperation ad_group_criterion_label_operation = 18;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation
+ */
+ public function getAdGroupCriterionLabelOperation()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * An ad group criterion label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupCriterionLabelOperation ad_group_criterion_label_operation = 18;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation $var
+ * @return $this
+ */
+ public function setAdGroupCriterionLabelOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionLabelOperation::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupCriterionOperation ad_group_criterion_operation = 3;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation
+ */
+ public function getAdGroupCriterionOperation()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * An ad group criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupCriterionOperation ad_group_criterion_operation = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation $var
+ * @return $this
+ */
+ public function setAdGroupCriterionOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupCriterionOperation::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group extension setting mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupExtensionSettingOperation ad_group_extension_setting_operation = 19;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation
+ */
+ public function getAdGroupExtensionSettingOperation()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * An ad group extension setting mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupExtensionSettingOperation ad_group_extension_setting_operation = 19;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation $var
+ * @return $this
+ */
+ public function setAdGroupExtensionSettingOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupExtensionSettingOperation::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupFeedOperation ad_group_feed_operation = 20;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation
+ */
+ public function getAdGroupFeedOperation()
+ {
+ return $this->readOneof(20);
+ }
+
+ /**
+ * An ad group feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupFeedOperation ad_group_feed_operation = 20;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation $var
+ * @return $this
+ */
+ public function setAdGroupFeedOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupFeedOperation::class);
+ $this->writeOneof(20, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupLabelOperation ad_group_label_operation = 21;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation
+ */
+ public function getAdGroupLabelOperation()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * An ad group label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupLabelOperation ad_group_label_operation = 21;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation $var
+ * @return $this
+ */
+ public function setAdGroupLabelOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupLabelOperation::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad group mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupOperation ad_group_operation = 5;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdGroupOperation
+ */
+ public function getAdGroupOperation()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * An ad group mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdGroupOperation ad_group_operation = 5;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdGroupOperation $var
+ * @return $this
+ */
+ public function setAdGroupOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdGroupOperation::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * An ad parameter mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdParameterOperation ad_parameter_operation = 22;
+ * @return \Google\Ads\GoogleAds\V2\Services\AdParameterOperation
+ */
+ public function getAdParameterOperation()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * An ad parameter mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AdParameterOperation ad_parameter_operation = 22;
+ * @param \Google\Ads\GoogleAds\V2\Services\AdParameterOperation $var
+ * @return $this
+ */
+ public function setAdParameterOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AdParameterOperation::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * An asset mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AssetOperation asset_operation = 23;
+ * @return \Google\Ads\GoogleAds\V2\Services\AssetOperation
+ */
+ public function getAssetOperation()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * An asset mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.AssetOperation asset_operation = 23;
+ * @param \Google\Ads\GoogleAds\V2\Services\AssetOperation $var
+ * @return $this
+ */
+ public function setAssetOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\AssetOperation::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * A bidding strategy mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.BiddingStrategyOperation bidding_strategy_operation = 6;
+ * @return \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation
+ */
+ public function getBiddingStrategyOperation()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * A bidding strategy mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.BiddingStrategyOperation bidding_strategy_operation = 6;
+ * @param \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation $var
+ * @return $this
+ */
+ public function setBiddingStrategyOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\BiddingStrategyOperation::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign bid modifier mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignBidModifierOperation campaign_bid_modifier_operation = 7;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation
+ */
+ public function getCampaignBidModifierOperation()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * A campaign bid modifier mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignBidModifierOperation campaign_bid_modifier_operation = 7;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation $var
+ * @return $this
+ */
+ public function setCampaignBidModifierOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignBidModifierOperation::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign budget mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignBudgetOperation campaign_budget_operation = 8;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation
+ */
+ public function getCampaignBudgetOperation()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * A campaign budget mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignBudgetOperation campaign_budget_operation = 8;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation $var
+ * @return $this
+ */
+ public function setCampaignBudgetOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignBudgetOperation::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignCriterionOperation campaign_criterion_operation = 13;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation
+ */
+ public function getCampaignCriterionOperation()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * A campaign criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignCriterionOperation campaign_criterion_operation = 13;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation $var
+ * @return $this
+ */
+ public function setCampaignCriterionOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignCriterionOperation::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign draft mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignDraftOperation campaign_draft_operation = 24;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation
+ */
+ public function getCampaignDraftOperation()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * A campaign draft mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignDraftOperation campaign_draft_operation = 24;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation $var
+ * @return $this
+ */
+ public function setCampaignDraftOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignDraftOperation::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign experiment mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignExperimentOperation campaign_experiment_operation = 25;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation
+ */
+ public function getCampaignExperimentOperation()
+ {
+ return $this->readOneof(25);
+ }
+
+ /**
+ * A campaign experiment mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignExperimentOperation campaign_experiment_operation = 25;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation $var
+ * @return $this
+ */
+ public function setCampaignExperimentOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignExperimentOperation::class);
+ $this->writeOneof(25, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign extension setting mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignExtensionSettingOperation campaign_extension_setting_operation = 26;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation
+ */
+ public function getCampaignExtensionSettingOperation()
+ {
+ return $this->readOneof(26);
+ }
+
+ /**
+ * A campaign extension setting mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignExtensionSettingOperation campaign_extension_setting_operation = 26;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation $var
+ * @return $this
+ */
+ public function setCampaignExtensionSettingOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignExtensionSettingOperation::class);
+ $this->writeOneof(26, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignFeedOperation campaign_feed_operation = 27;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation
+ */
+ public function getCampaignFeedOperation()
+ {
+ return $this->readOneof(27);
+ }
+
+ /**
+ * A campaign feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignFeedOperation campaign_feed_operation = 27;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation $var
+ * @return $this
+ */
+ public function setCampaignFeedOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignFeedOperation::class);
+ $this->writeOneof(27, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignLabelOperation campaign_label_operation = 28;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation
+ */
+ public function getCampaignLabelOperation()
+ {
+ return $this->readOneof(28);
+ }
+
+ /**
+ * A campaign label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignLabelOperation campaign_label_operation = 28;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation $var
+ * @return $this
+ */
+ public function setCampaignLabelOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignLabelOperation::class);
+ $this->writeOneof(28, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignOperation campaign_operation = 10;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignOperation
+ */
+ public function getCampaignOperation()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * A campaign mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignOperation campaign_operation = 10;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignOperation $var
+ * @return $this
+ */
+ public function setCampaignOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignOperation::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * A campaign shared set mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignSharedSetOperation campaign_shared_set_operation = 11;
+ * @return \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation
+ */
+ public function getCampaignSharedSetOperation()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * A campaign shared set mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CampaignSharedSetOperation campaign_shared_set_operation = 11;
+ * @param \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation $var
+ * @return $this
+ */
+ public function setCampaignSharedSetOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CampaignSharedSetOperation::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * A conversion action mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ConversionActionOperation conversion_action_operation = 12;
+ * @return \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation
+ */
+ public function getConversionActionOperation()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * A conversion action mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ConversionActionOperation conversion_action_operation = 12;
+ * @param \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation $var
+ * @return $this
+ */
+ public function setConversionActionOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ConversionActionOperation::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * A customer extension setting mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerExtensionSettingOperation customer_extension_setting_operation = 30;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation
+ */
+ public function getCustomerExtensionSettingOperation()
+ {
+ return $this->readOneof(30);
+ }
+
+ /**
+ * A customer extension setting mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerExtensionSettingOperation customer_extension_setting_operation = 30;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation $var
+ * @return $this
+ */
+ public function setCustomerExtensionSettingOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerExtensionSettingOperation::class);
+ $this->writeOneof(30, $var);
+
+ return $this;
+ }
+
+ /**
+ * A customer feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerFeedOperation customer_feed_operation = 31;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation
+ */
+ public function getCustomerFeedOperation()
+ {
+ return $this->readOneof(31);
+ }
+
+ /**
+ * A customer feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerFeedOperation customer_feed_operation = 31;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation $var
+ * @return $this
+ */
+ public function setCustomerFeedOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerFeedOperation::class);
+ $this->writeOneof(31, $var);
+
+ return $this;
+ }
+
+ /**
+ * A customer label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerLabelOperation customer_label_operation = 32;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation
+ */
+ public function getCustomerLabelOperation()
+ {
+ return $this->readOneof(32);
+ }
+
+ /**
+ * A customer label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerLabelOperation customer_label_operation = 32;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation $var
+ * @return $this
+ */
+ public function setCustomerLabelOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerLabelOperation::class);
+ $this->writeOneof(32, $var);
+
+ return $this;
+ }
+
+ /**
+ * A customer negative criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerNegativeCriterionOperation customer_negative_criterion_operation = 34;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation
+ */
+ public function getCustomerNegativeCriterionOperation()
+ {
+ return $this->readOneof(34);
+ }
+
+ /**
+ * A customer negative criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerNegativeCriterionOperation customer_negative_criterion_operation = 34;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation $var
+ * @return $this
+ */
+ public function setCustomerNegativeCriterionOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerNegativeCriterionOperation::class);
+ $this->writeOneof(34, $var);
+
+ return $this;
+ }
+
+ /**
+ * A customer mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerOperation customer_operation = 35;
+ * @return \Google\Ads\GoogleAds\V2\Services\CustomerOperation
+ */
+ public function getCustomerOperation()
+ {
+ return $this->readOneof(35);
+ }
+
+ /**
+ * A customer mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.CustomerOperation customer_operation = 35;
+ * @param \Google\Ads\GoogleAds\V2\Services\CustomerOperation $var
+ * @return $this
+ */
+ public function setCustomerOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\CustomerOperation::class);
+ $this->writeOneof(35, $var);
+
+ return $this;
+ }
+
+ /**
+ * An extension feed item mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ExtensionFeedItemOperation extension_feed_item_operation = 36;
+ * @return \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation
+ */
+ public function getExtensionFeedItemOperation()
+ {
+ return $this->readOneof(36);
+ }
+
+ /**
+ * An extension feed item mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.ExtensionFeedItemOperation extension_feed_item_operation = 36;
+ * @param \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation $var
+ * @return $this
+ */
+ public function setExtensionFeedItemOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\ExtensionFeedItemOperation::class);
+ $this->writeOneof(36, $var);
+
+ return $this;
+ }
+
+ /**
+ * A feed item mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedItemOperation feed_item_operation = 37;
+ * @return \Google\Ads\GoogleAds\V2\Services\FeedItemOperation
+ */
+ public function getFeedItemOperation()
+ {
+ return $this->readOneof(37);
+ }
+
+ /**
+ * A feed item mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedItemOperation feed_item_operation = 37;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedItemOperation $var
+ * @return $this
+ */
+ public function setFeedItemOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\FeedItemOperation::class);
+ $this->writeOneof(37, $var);
+
+ return $this;
+ }
+
+ /**
+ * A feed item target mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedItemTargetOperation feed_item_target_operation = 38;
+ * @return \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation
+ */
+ public function getFeedItemTargetOperation()
+ {
+ return $this->readOneof(38);
+ }
+
+ /**
+ * A feed item target mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedItemTargetOperation feed_item_target_operation = 38;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation $var
+ * @return $this
+ */
+ public function setFeedItemTargetOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\FeedItemTargetOperation::class);
+ $this->writeOneof(38, $var);
+
+ return $this;
+ }
+
+ /**
+ * A feed mapping mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedMappingOperation feed_mapping_operation = 39;
+ * @return \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation
+ */
+ public function getFeedMappingOperation()
+ {
+ return $this->readOneof(39);
+ }
+
+ /**
+ * A feed mapping mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedMappingOperation feed_mapping_operation = 39;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation $var
+ * @return $this
+ */
+ public function setFeedMappingOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\FeedMappingOperation::class);
+ $this->writeOneof(39, $var);
+
+ return $this;
+ }
+
+ /**
+ * A feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedOperation feed_operation = 40;
+ * @return \Google\Ads\GoogleAds\V2\Services\FeedOperation
+ */
+ public function getFeedOperation()
+ {
+ return $this->readOneof(40);
+ }
+
+ /**
+ * A feed mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.FeedOperation feed_operation = 40;
+ * @param \Google\Ads\GoogleAds\V2\Services\FeedOperation $var
+ * @return $this
+ */
+ public function setFeedOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\FeedOperation::class);
+ $this->writeOneof(40, $var);
+
+ return $this;
+ }
+
+ /**
+ * A label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.LabelOperation label_operation = 41;
+ * @return \Google\Ads\GoogleAds\V2\Services\LabelOperation
+ */
+ public function getLabelOperation()
+ {
+ return $this->readOneof(41);
+ }
+
+ /**
+ * A label mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.LabelOperation label_operation = 41;
+ * @param \Google\Ads\GoogleAds\V2\Services\LabelOperation $var
+ * @return $this
+ */
+ public function setLabelOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\LabelOperation::class);
+ $this->writeOneof(41, $var);
+
+ return $this;
+ }
+
+ /**
+ * A media file mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MediaFileOperation media_file_operation = 42;
+ * @return \Google\Ads\GoogleAds\V2\Services\MediaFileOperation
+ */
+ public function getMediaFileOperation()
+ {
+ return $this->readOneof(42);
+ }
+
+ /**
+ * A media file mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MediaFileOperation media_file_operation = 42;
+ * @param \Google\Ads\GoogleAds\V2\Services\MediaFileOperation $var
+ * @return $this
+ */
+ public function setMediaFileOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MediaFileOperation::class);
+ $this->writeOneof(42, $var);
+
+ return $this;
+ }
+
+ /**
+ * A remarketing action mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.RemarketingActionOperation remarketing_action_operation = 43;
+ * @return \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation
+ */
+ public function getRemarketingActionOperation()
+ {
+ return $this->readOneof(43);
+ }
+
+ /**
+ * A remarketing action mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.RemarketingActionOperation remarketing_action_operation = 43;
+ * @param \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation $var
+ * @return $this
+ */
+ public function setRemarketingActionOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation::class);
+ $this->writeOneof(43, $var);
+
+ return $this;
+ }
+
+ /**
+ * A shared criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SharedCriterionOperation shared_criterion_operation = 14;
+ * @return \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation
+ */
+ public function getSharedCriterionOperation()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * A shared criterion mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SharedCriterionOperation shared_criterion_operation = 14;
+ * @param \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation $var
+ * @return $this
+ */
+ public function setSharedCriterionOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * A shared set mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SharedSetOperation shared_set_operation = 15;
+ * @return \Google\Ads\GoogleAds\V2\Services\SharedSetOperation
+ */
+ public function getSharedSetOperation()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * A shared set mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SharedSetOperation shared_set_operation = 15;
+ * @param \Google\Ads\GoogleAds\V2\Services\SharedSetOperation $var
+ * @return $this
+ */
+ public function setSharedSetOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\SharedSetOperation::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * A user list mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.UserListOperation user_list_operation = 16;
+ * @return \Google\Ads\GoogleAds\V2\Services\UserListOperation
+ */
+ public function getUserListOperation()
+ {
+ return $this->readOneof(16);
+ }
+
+ /**
+ * A user list mutate operation.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.UserListOperation user_list_operation = 16;
+ * @param \Google\Ads\GoogleAds\V2\Services\UserListOperation $var
+ * @return $this
+ */
+ public function setUserListOperation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\UserListOperation::class);
+ $this->writeOneof(16, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateOperationResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateOperationResponse.php
new file mode 100644
index 000000000..1b35f9862
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateOperationResponse.php
@@ -0,0 +1,1134 @@
+google.ads.googleads.v2.services.MutateOperationResponse
+ */
+final class MutateOperationResponse extends \Google\Protobuf\Internal\Message
+{
+ protected $response;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult $ad_group_ad_label_result
+ * The result for the ad group ad label mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult $ad_group_ad_result
+ * The result for the ad group ad mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult $ad_group_bid_modifier_result
+ * The result for the ad group bid modifier mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult $ad_group_criterion_label_result
+ * The result for the ad group criterion label mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult $ad_group_criterion_result
+ * The result for the ad group criterion mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult $ad_group_extension_setting_result
+ * The result for the ad group extension setting mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult $ad_group_feed_result
+ * The result for the ad group feed mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult $ad_group_label_result
+ * The result for the ad group label mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult $ad_group_result
+ * The result for the ad group mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult $ad_parameter_result
+ * The result for the ad parameter mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateAssetResult $asset_result
+ * The result for the asset mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult $bidding_strategy_result
+ * The result for the bidding strategy mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult $campaign_bid_modifier_result
+ * The result for the campaign bid modifier mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult $campaign_budget_result
+ * The result for the campaign budget mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult $campaign_criterion_result
+ * The result for the campaign criterion mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult $campaign_draft_result
+ * The result for the campaign draft mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult $campaign_experiment_result
+ * The result for the campaign experiment mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult $campaign_extension_setting_result
+ * The result for the campaign extension setting mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult $campaign_feed_result
+ * The result for the campaign feed mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult $campaign_label_result
+ * The result for the campaign label mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult $campaign_result
+ * The result for the campaign mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult $campaign_shared_set_result
+ * The result for the campaign shared set mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult $conversion_action_result
+ * The result for the conversion action mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult $customer_extension_setting_result
+ * The result for the customer extension setting mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult $customer_feed_result
+ * The result for the customer feed mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult $customer_label_result
+ * The result for the customer label mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult $customer_negative_criterion_result
+ * The result for the customer negative criterion mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult $customer_result
+ * The result for the customer mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult $extension_feed_item_result
+ * The result for the extension feed item mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult $feed_item_result
+ * The result for the feed item mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult $feed_item_target_result
+ * The result for the feed item target mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult $feed_mapping_result
+ * The result for the feed mapping mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateFeedResult $feed_result
+ * The result for the feed mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateLabelResult $label_result
+ * The result for the label mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult $media_file_result
+ * The result for the media file mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult $remarketing_action_result
+ * The result for the remarketing action mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult $shared_criterion_result
+ * The result for the shared criterion mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult $shared_set_result
+ * The result for the shared set mutate.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateUserListResult $user_list_result
+ * The result for the user list mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The result for the ad group ad label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupAdLabelResult ad_group_ad_label_result = 17;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult
+ */
+ public function getAdGroupAdLabelResult()
+ {
+ return $this->readOneof(17);
+ }
+
+ /**
+ * The result for the ad group ad label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupAdLabelResult ad_group_ad_label_result = 17;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult $var
+ * @return $this
+ */
+ public function setAdGroupAdLabelResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdLabelResult::class);
+ $this->writeOneof(17, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group ad mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupAdResult ad_group_ad_result = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult
+ */
+ public function getAdGroupAdResult()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * The result for the ad group ad mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupAdResult ad_group_ad_result = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult $var
+ * @return $this
+ */
+ public function setAdGroupAdResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupAdResult::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group bid modifier mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupBidModifierResult ad_group_bid_modifier_result = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult
+ */
+ public function getAdGroupBidModifierResult()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * The result for the ad group bid modifier mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupBidModifierResult ad_group_bid_modifier_result = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult $var
+ * @return $this
+ */
+ public function setAdGroupBidModifierResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupBidModifierResult::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group criterion label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupCriterionLabelResult ad_group_criterion_label_result = 18;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult
+ */
+ public function getAdGroupCriterionLabelResult()
+ {
+ return $this->readOneof(18);
+ }
+
+ /**
+ * The result for the ad group criterion label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupCriterionLabelResult ad_group_criterion_label_result = 18;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult $var
+ * @return $this
+ */
+ public function setAdGroupCriterionLabelResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionLabelResult::class);
+ $this->writeOneof(18, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupCriterionResult ad_group_criterion_result = 3;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult
+ */
+ public function getAdGroupCriterionResult()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * The result for the ad group criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupCriterionResult ad_group_criterion_result = 3;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult $var
+ * @return $this
+ */
+ public function setAdGroupCriterionResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupCriterionResult::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group extension setting mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupExtensionSettingResult ad_group_extension_setting_result = 19;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult
+ */
+ public function getAdGroupExtensionSettingResult()
+ {
+ return $this->readOneof(19);
+ }
+
+ /**
+ * The result for the ad group extension setting mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupExtensionSettingResult ad_group_extension_setting_result = 19;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult $var
+ * @return $this
+ */
+ public function setAdGroupExtensionSettingResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupExtensionSettingResult::class);
+ $this->writeOneof(19, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupFeedResult ad_group_feed_result = 20;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult
+ */
+ public function getAdGroupFeedResult()
+ {
+ return $this->readOneof(20);
+ }
+
+ /**
+ * The result for the ad group feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupFeedResult ad_group_feed_result = 20;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult $var
+ * @return $this
+ */
+ public function setAdGroupFeedResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupFeedResult::class);
+ $this->writeOneof(20, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupLabelResult ad_group_label_result = 21;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult
+ */
+ public function getAdGroupLabelResult()
+ {
+ return $this->readOneof(21);
+ }
+
+ /**
+ * The result for the ad group label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupLabelResult ad_group_label_result = 21;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult $var
+ * @return $this
+ */
+ public function setAdGroupLabelResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupLabelResult::class);
+ $this->writeOneof(21, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad group mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupResult ad_group_result = 5;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult
+ */
+ public function getAdGroupResult()
+ {
+ return $this->readOneof(5);
+ }
+
+ /**
+ * The result for the ad group mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdGroupResult ad_group_result = 5;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult $var
+ * @return $this
+ */
+ public function setAdGroupResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdGroupResult::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the ad parameter mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdParameterResult ad_parameter_result = 22;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult
+ */
+ public function getAdParameterResult()
+ {
+ return $this->readOneof(22);
+ }
+
+ /**
+ * The result for the ad parameter mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAdParameterResult ad_parameter_result = 22;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult $var
+ * @return $this
+ */
+ public function setAdParameterResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAdParameterResult::class);
+ $this->writeOneof(22, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the asset mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAssetResult asset_result = 23;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateAssetResult
+ */
+ public function getAssetResult()
+ {
+ return $this->readOneof(23);
+ }
+
+ /**
+ * The result for the asset mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateAssetResult asset_result = 23;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateAssetResult $var
+ * @return $this
+ */
+ public function setAssetResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateAssetResult::class);
+ $this->writeOneof(23, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the bidding strategy mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateBiddingStrategyResult bidding_strategy_result = 6;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult
+ */
+ public function getBiddingStrategyResult()
+ {
+ return $this->readOneof(6);
+ }
+
+ /**
+ * The result for the bidding strategy mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateBiddingStrategyResult bidding_strategy_result = 6;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult $var
+ * @return $this
+ */
+ public function setBiddingStrategyResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateBiddingStrategyResult::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign bid modifier mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignBidModifierResult campaign_bid_modifier_result = 7;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult
+ */
+ public function getCampaignBidModifierResult()
+ {
+ return $this->readOneof(7);
+ }
+
+ /**
+ * The result for the campaign bid modifier mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignBidModifierResult campaign_bid_modifier_result = 7;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult $var
+ * @return $this
+ */
+ public function setCampaignBidModifierResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignBidModifierResult::class);
+ $this->writeOneof(7, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign budget mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignBudgetResult campaign_budget_result = 8;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult
+ */
+ public function getCampaignBudgetResult()
+ {
+ return $this->readOneof(8);
+ }
+
+ /**
+ * The result for the campaign budget mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignBudgetResult campaign_budget_result = 8;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult $var
+ * @return $this
+ */
+ public function setCampaignBudgetResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignBudgetResult::class);
+ $this->writeOneof(8, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignCriterionResult campaign_criterion_result = 13;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult
+ */
+ public function getCampaignCriterionResult()
+ {
+ return $this->readOneof(13);
+ }
+
+ /**
+ * The result for the campaign criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignCriterionResult campaign_criterion_result = 13;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult $var
+ * @return $this
+ */
+ public function setCampaignCriterionResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignCriterionResult::class);
+ $this->writeOneof(13, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign draft mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignDraftResult campaign_draft_result = 24;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult
+ */
+ public function getCampaignDraftResult()
+ {
+ return $this->readOneof(24);
+ }
+
+ /**
+ * The result for the campaign draft mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignDraftResult campaign_draft_result = 24;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult $var
+ * @return $this
+ */
+ public function setCampaignDraftResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignDraftResult::class);
+ $this->writeOneof(24, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign experiment mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignExperimentResult campaign_experiment_result = 25;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult
+ */
+ public function getCampaignExperimentResult()
+ {
+ return $this->readOneof(25);
+ }
+
+ /**
+ * The result for the campaign experiment mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignExperimentResult campaign_experiment_result = 25;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult $var
+ * @return $this
+ */
+ public function setCampaignExperimentResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignExperimentResult::class);
+ $this->writeOneof(25, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign extension setting mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignExtensionSettingResult campaign_extension_setting_result = 26;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult
+ */
+ public function getCampaignExtensionSettingResult()
+ {
+ return $this->readOneof(26);
+ }
+
+ /**
+ * The result for the campaign extension setting mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignExtensionSettingResult campaign_extension_setting_result = 26;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult $var
+ * @return $this
+ */
+ public function setCampaignExtensionSettingResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignExtensionSettingResult::class);
+ $this->writeOneof(26, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignFeedResult campaign_feed_result = 27;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult
+ */
+ public function getCampaignFeedResult()
+ {
+ return $this->readOneof(27);
+ }
+
+ /**
+ * The result for the campaign feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignFeedResult campaign_feed_result = 27;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult $var
+ * @return $this
+ */
+ public function setCampaignFeedResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignFeedResult::class);
+ $this->writeOneof(27, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignLabelResult campaign_label_result = 28;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult
+ */
+ public function getCampaignLabelResult()
+ {
+ return $this->readOneof(28);
+ }
+
+ /**
+ * The result for the campaign label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignLabelResult campaign_label_result = 28;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult $var
+ * @return $this
+ */
+ public function setCampaignLabelResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignLabelResult::class);
+ $this->writeOneof(28, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignResult campaign_result = 10;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult
+ */
+ public function getCampaignResult()
+ {
+ return $this->readOneof(10);
+ }
+
+ /**
+ * The result for the campaign mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignResult campaign_result = 10;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult $var
+ * @return $this
+ */
+ public function setCampaignResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignResult::class);
+ $this->writeOneof(10, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the campaign shared set mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignSharedSetResult campaign_shared_set_result = 11;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult
+ */
+ public function getCampaignSharedSetResult()
+ {
+ return $this->readOneof(11);
+ }
+
+ /**
+ * The result for the campaign shared set mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCampaignSharedSetResult campaign_shared_set_result = 11;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult $var
+ * @return $this
+ */
+ public function setCampaignSharedSetResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCampaignSharedSetResult::class);
+ $this->writeOneof(11, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the conversion action mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateConversionActionResult conversion_action_result = 12;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult
+ */
+ public function getConversionActionResult()
+ {
+ return $this->readOneof(12);
+ }
+
+ /**
+ * The result for the conversion action mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateConversionActionResult conversion_action_result = 12;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult $var
+ * @return $this
+ */
+ public function setConversionActionResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateConversionActionResult::class);
+ $this->writeOneof(12, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the customer extension setting mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerExtensionSettingResult customer_extension_setting_result = 30;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult
+ */
+ public function getCustomerExtensionSettingResult()
+ {
+ return $this->readOneof(30);
+ }
+
+ /**
+ * The result for the customer extension setting mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerExtensionSettingResult customer_extension_setting_result = 30;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult $var
+ * @return $this
+ */
+ public function setCustomerExtensionSettingResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerExtensionSettingResult::class);
+ $this->writeOneof(30, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the customer feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerFeedResult customer_feed_result = 31;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult
+ */
+ public function getCustomerFeedResult()
+ {
+ return $this->readOneof(31);
+ }
+
+ /**
+ * The result for the customer feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerFeedResult customer_feed_result = 31;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult $var
+ * @return $this
+ */
+ public function setCustomerFeedResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerFeedResult::class);
+ $this->writeOneof(31, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the customer label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerLabelResult customer_label_result = 32;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult
+ */
+ public function getCustomerLabelResult()
+ {
+ return $this->readOneof(32);
+ }
+
+ /**
+ * The result for the customer label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerLabelResult customer_label_result = 32;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult $var
+ * @return $this
+ */
+ public function setCustomerLabelResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerLabelResult::class);
+ $this->writeOneof(32, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the customer negative criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResult customer_negative_criterion_result = 34;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult
+ */
+ public function getCustomerNegativeCriterionResult()
+ {
+ return $this->readOneof(34);
+ }
+
+ /**
+ * The result for the customer negative criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerNegativeCriteriaResult customer_negative_criterion_result = 34;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult $var
+ * @return $this
+ */
+ public function setCustomerNegativeCriterionResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerNegativeCriteriaResult::class);
+ $this->writeOneof(34, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the customer mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerResult customer_result = 35;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult
+ */
+ public function getCustomerResult()
+ {
+ return $this->readOneof(35);
+ }
+
+ /**
+ * The result for the customer mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateCustomerResult customer_result = 35;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult $var
+ * @return $this
+ */
+ public function setCustomerResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateCustomerResult::class);
+ $this->writeOneof(35, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the extension feed item mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateExtensionFeedItemResult extension_feed_item_result = 36;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult
+ */
+ public function getExtensionFeedItemResult()
+ {
+ return $this->readOneof(36);
+ }
+
+ /**
+ * The result for the extension feed item mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateExtensionFeedItemResult extension_feed_item_result = 36;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult $var
+ * @return $this
+ */
+ public function setExtensionFeedItemResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateExtensionFeedItemResult::class);
+ $this->writeOneof(36, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the feed item mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedItemResult feed_item_result = 37;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult
+ */
+ public function getFeedItemResult()
+ {
+ return $this->readOneof(37);
+ }
+
+ /**
+ * The result for the feed item mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedItemResult feed_item_result = 37;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult $var
+ * @return $this
+ */
+ public function setFeedItemResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateFeedItemResult::class);
+ $this->writeOneof(37, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the feed item target mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedItemTargetResult feed_item_target_result = 38;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult
+ */
+ public function getFeedItemTargetResult()
+ {
+ return $this->readOneof(38);
+ }
+
+ /**
+ * The result for the feed item target mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedItemTargetResult feed_item_target_result = 38;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult $var
+ * @return $this
+ */
+ public function setFeedItemTargetResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateFeedItemTargetResult::class);
+ $this->writeOneof(38, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the feed mapping mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedMappingResult feed_mapping_result = 39;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult
+ */
+ public function getFeedMappingResult()
+ {
+ return $this->readOneof(39);
+ }
+
+ /**
+ * The result for the feed mapping mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedMappingResult feed_mapping_result = 39;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult $var
+ * @return $this
+ */
+ public function setFeedMappingResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateFeedMappingResult::class);
+ $this->writeOneof(39, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedResult feed_result = 40;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateFeedResult
+ */
+ public function getFeedResult()
+ {
+ return $this->readOneof(40);
+ }
+
+ /**
+ * The result for the feed mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateFeedResult feed_result = 40;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateFeedResult $var
+ * @return $this
+ */
+ public function setFeedResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateFeedResult::class);
+ $this->writeOneof(40, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateLabelResult label_result = 41;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateLabelResult
+ */
+ public function getLabelResult()
+ {
+ return $this->readOneof(41);
+ }
+
+ /**
+ * The result for the label mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateLabelResult label_result = 41;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateLabelResult $var
+ * @return $this
+ */
+ public function setLabelResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateLabelResult::class);
+ $this->writeOneof(41, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the media file mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateMediaFileResult media_file_result = 42;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult
+ */
+ public function getMediaFileResult()
+ {
+ return $this->readOneof(42);
+ }
+
+ /**
+ * The result for the media file mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateMediaFileResult media_file_result = 42;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult $var
+ * @return $this
+ */
+ public function setMediaFileResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateMediaFileResult::class);
+ $this->writeOneof(42, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the remarketing action mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateRemarketingActionResult remarketing_action_result = 43;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult
+ */
+ public function getRemarketingActionResult()
+ {
+ return $this->readOneof(43);
+ }
+
+ /**
+ * The result for the remarketing action mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateRemarketingActionResult remarketing_action_result = 43;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult $var
+ * @return $this
+ */
+ public function setRemarketingActionResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult::class);
+ $this->writeOneof(43, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the shared criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateSharedCriterionResult shared_criterion_result = 14;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult
+ */
+ public function getSharedCriterionResult()
+ {
+ return $this->readOneof(14);
+ }
+
+ /**
+ * The result for the shared criterion mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateSharedCriterionResult shared_criterion_result = 14;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult $var
+ * @return $this
+ */
+ public function setSharedCriterionResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult::class);
+ $this->writeOneof(14, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the shared set mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateSharedSetResult shared_set_result = 15;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult
+ */
+ public function getSharedSetResult()
+ {
+ return $this->readOneof(15);
+ }
+
+ /**
+ * The result for the shared set mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateSharedSetResult shared_set_result = 15;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult $var
+ * @return $this
+ */
+ public function setSharedSetResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult::class);
+ $this->writeOneof(15, $var);
+
+ return $this;
+ }
+
+ /**
+ * The result for the user list mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateUserListResult user_list_result = 16;
+ * @return \Google\Ads\GoogleAds\V2\Services\MutateUserListResult
+ */
+ public function getUserListResult()
+ {
+ return $this->readOneof(16);
+ }
+
+ /**
+ * The result for the user list mutate.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.MutateUserListResult user_list_result = 16;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateUserListResult $var
+ * @return $this
+ */
+ public function setUserListResult($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\MutateUserListResult::class);
+ $this->writeOneof(16, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getResponse()
+ {
+ return $this->whichOneof("response");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionResult.php
new file mode 100644
index 000000000..fcb5ba258
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateRemarketingActionResult
+ */
+final class MutateRemarketingActionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RemarketingActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsRequest.php
new file mode 100644
index 000000000..2450a41f3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateRemarketingActionsRequest
+ */
+final class MutateRemarketingActionsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose remarketing actions are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual remarketing actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.RemarketingActionOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose remarketing actions are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual remarketing actions.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RemarketingActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose remarketing actions are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose remarketing actions are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual remarketing actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.RemarketingActionOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual remarketing actions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.RemarketingActionOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\RemarketingActionOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsResponse.php
new file mode 100644
index 000000000..54f0c3e43
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateRemarketingActionsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateRemarketingActionsResponse
+ */
+final class MutateRemarketingActionsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateRemarketingActionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RemarketingActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateRemarketingActionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateRemarketingActionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaRequest.php
new file mode 100644
index 000000000..98ca7c32a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateSharedCriteriaRequest
+ */
+final class MutateSharedCriteriaRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose shared criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual shared criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.SharedCriterionOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose shared criteria are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual shared criteria.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose shared criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose shared criteria are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual shared criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.SharedCriterionOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual shared criteria.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.SharedCriterionOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\SharedCriterionOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaResponse.php
new file mode 100644
index 000000000..827ca54d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriteriaResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateSharedCriteriaResponse
+ */
+final class MutateSharedCriteriaResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateSharedCriterionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateSharedCriterionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateSharedCriterionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateSharedCriterionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriterionResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriterionResult.php
new file mode 100644
index 000000000..b9ee95c72
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedCriterionResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateSharedCriterionResult
+ */
+final class MutateSharedCriterionResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetResult.php
new file mode 100644
index 000000000..e873ca3c5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateSharedSetResult
+ */
+final class MutateSharedSetResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsRequest.php
new file mode 100644
index 000000000..778c153be
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateSharedSetsRequest
+ */
+final class MutateSharedSetsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose shared sets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual shared sets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.SharedSetOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose shared sets are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\SharedSetOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual shared sets.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose shared sets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose shared sets are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual shared sets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.SharedSetOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual shared sets.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.SharedSetOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\SharedSetOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\SharedSetOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsResponse.php
new file mode 100644
index 000000000..3c290d492
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateSharedSetsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateSharedSetsResponse
+ */
+final class MutateSharedSetsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateSharedSetResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateSharedSetResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateSharedSetResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateSharedSetResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateUserListResult.php b/src/Google/Ads/GoogleAds/V2/Services/MutateUserListResult.php
new file mode 100644
index 000000000..ffa32ffc8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateUserListResult.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.MutateUserListResult
+ */
+final class MutateUserListResult extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * Returned for successful operations.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserListService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * Returned for successful operations.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateUserListsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/MutateUserListsRequest.php
new file mode 100644
index 000000000..8d48cd31d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateUserListsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.MutateUserListsRequest
+ */
+final class MutateUserListsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer whose user lists are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The list of operations to perform on individual user lists.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.UserListOperation operations = 2;
+ */
+ private $operations;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer whose user lists are being modified.
+ * @type \Google\Ads\GoogleAds\V2\Services\UserListOperation[]|\Google\Protobuf\Internal\RepeatedField $operations
+ * The list of operations to perform on individual user lists.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserListService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer whose user lists are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer whose user lists are being modified.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of operations to perform on individual user lists.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.UserListOperation operations = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOperations()
+ {
+ return $this->operations;
+ }
+
+ /**
+ * The list of operations to perform on individual user lists.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.UserListOperation operations = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\UserListOperation[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOperations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\UserListOperation::class);
+ $this->operations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * Default is false.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/MutateUserListsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/MutateUserListsResponse.php
new file mode 100644
index 000000000..97467ccc9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/MutateUserListsResponse.php
@@ -0,0 +1,113 @@
+google.ads.googleads.v2.services.MutateUserListsResponse
+ */
+final class MutateUserListsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ */
+ private $partial_failure_error = null;
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateUserListResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\MutateUserListResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * All results for the mutate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserListService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to operation failures in the partial failure mode.
+ * Returned only when partial_failure = true and all errors occur inside the
+ * operations. If any errors occur outside the operations (e.g. auth errors),
+ * we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 3;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateUserListResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * All results for the mutate.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.MutateUserListResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateUserListResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\MutateUserListResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClient.php
new file mode 100644
index 000000000..ab7d1f4a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.OperatingSystemVersionConstantService/GetOperatingSystemVersionConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\OperatingSystemVersionConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClient.php
new file mode 100644
index 000000000..804a00940
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.PaidOrganicSearchTermViewService/GetPaidOrganicSearchTermView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\PaidOrganicSearchTermView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClient.php
new file mode 100644
index 000000000..dbf18b3e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ParentalStatusViewService/GetParentalStatusView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ParentalStatusView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClient.php
new file mode 100644
index 000000000..808fc2627
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.PaymentsAccountService/ListPaymentsAccounts',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ListPaymentsAccountsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClient.php
new file mode 100644
index 000000000..e477b382f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ProductBiddingCategoryConstantService/GetProductBiddingCategoryConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ProductBiddingCategoryConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClient.php
new file mode 100644
index 000000000..f0be3716d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ProductGroupViewService/GetProductGroupView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ProductGroupView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignDraftRequest.php b/src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignDraftRequest.php
new file mode 100644
index 000000000..4e3fc6dd6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignDraftRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.PromoteCampaignDraftRequest
+ */
+final class PromoteCampaignDraftRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign draft to promote.
+ *
+ * Generated from protobuf field string campaign_draft = 1;
+ */
+ private $campaign_draft = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $campaign_draft
+ * The resource name of the campaign draft to promote.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignDraftService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign draft to promote.
+ *
+ * Generated from protobuf field string campaign_draft = 1;
+ * @return string
+ */
+ public function getCampaignDraft()
+ {
+ return $this->campaign_draft;
+ }
+
+ /**
+ * The resource name of the campaign draft to promote.
+ *
+ * Generated from protobuf field string campaign_draft = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCampaignDraft($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->campaign_draft = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignExperimentRequest.php b/src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignExperimentRequest.php
new file mode 100644
index 000000000..20c2e0a95
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/PromoteCampaignExperimentRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.PromoteCampaignExperimentRequest
+ */
+final class PromoteCampaignExperimentRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the campaign experiment to promote.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ */
+ private $campaign_experiment = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $campaign_experiment
+ * The resource name of the campaign experiment to promote.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\CampaignExperimentService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the campaign experiment to promote.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @return string
+ */
+ public function getCampaignExperiment()
+ {
+ return $this->campaign_experiment;
+ }
+
+ /**
+ * The resource name of the campaign experiment to promote.
+ *
+ * Generated from protobuf field string campaign_experiment = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCampaignExperiment($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->campaign_experiment = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClient.php
new file mode 100644
index 000000000..bb02a8980
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.RecommendationService/GetRecommendation',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Recommendation', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Applies given recommendations with corresponding apply parameters.
+ * @param \Google\Ads\GoogleAds\V2\Services\ApplyRecommendationRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function ApplyRecommendation(\Google\Ads\GoogleAds\V2\Services\ApplyRecommendationRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.RecommendationService/ApplyRecommendation',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\ApplyRecommendationResponse', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Dismisses given recommendations.
+ * @param \Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function DismissRecommendation(\Google\Ads\GoogleAds\V2\Services\DismissRecommendationRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.RecommendationService/DismissRecommendation',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\DismissRecommendationResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/RemarketingActionOperation.php b/src/Google/Ads/GoogleAds/V2/Services/RemarketingActionOperation.php
new file mode 100644
index 000000000..cdd38b561
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/RemarketingActionOperation.php
@@ -0,0 +1,138 @@
+google.ads.googleads.v2.services.RemarketingActionOperation
+ */
+final class RemarketingActionOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\RemarketingAction $create
+ * Create operation: No resource name is expected for the new remarketing
+ * action.
+ * @type \Google\Ads\GoogleAds\V2\Resources\RemarketingAction $update
+ * Update operation: The remarketing action is expected to have a valid
+ * resource name.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\RemarketingActionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new remarketing
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\RemarketingAction
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new remarketing
+ * action.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\RemarketingAction $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\RemarketingAction::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The remarketing action is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\RemarketingAction
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The remarketing action is expected to have a valid
+ * resource name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.RemarketingAction update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\RemarketingAction $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\RemarketingAction::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClient.php
new file mode 100644
index 000000000..4e5b0f59a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.RemarketingActionService/GetRemarketingAction',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\RemarketingAction', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or updates remarketing actions. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateRemarketingActions(\Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.RemarketingActionService/MutateRemarketingActions',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateRemarketingActionsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/RestatementValue.php b/src/Google/Ads/GoogleAds/V2/Services/RestatementValue.php
new file mode 100644
index 000000000..a3894c386
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/RestatementValue.php
@@ -0,0 +1,189 @@
+google.ads.googleads.v2.services.RestatementValue
+ */
+final class RestatementValue extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The restated conversion value. This is the value of the conversion after
+ * restatement. For example, to change the value of a conversion from 100 to
+ * 70, an adjusted value of 70 should be reported.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue adjusted_value = 1;
+ */
+ private $adjusted_value = null;
+ /**
+ * The currency of the restated value. If not provided, then the default
+ * currency from the conversion action is used, and if that is not set then
+ * the account currency is used. This is the ISO 4217 3-character currency
+ * code e.g. USD or EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 2;
+ */
+ private $currency_code = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\DoubleValue $adjusted_value
+ * The restated conversion value. This is the value of the conversion after
+ * restatement. For example, to change the value of a conversion from 100 to
+ * 70, an adjusted value of 70 should be reported.
+ * @type \Google\Protobuf\StringValue $currency_code
+ * The currency of the restated value. If not provided, then the default
+ * currency from the conversion action is used, and if that is not set then
+ * the account currency is used. This is the ISO 4217 3-character currency
+ * code e.g. USD or EUR.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The restated conversion value. This is the value of the conversion after
+ * restatement. For example, to change the value of a conversion from 100 to
+ * 70, an adjusted value of 70 should be reported.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue adjusted_value = 1;
+ * @return \Google\Protobuf\DoubleValue
+ */
+ public function getAdjustedValue()
+ {
+ return $this->adjusted_value;
+ }
+
+ /**
+ * Returns the unboxed value from getAdjustedValue()
+
+ * The restated conversion value. This is the value of the conversion after
+ * restatement. For example, to change the value of a conversion from 100 to
+ * 70, an adjusted value of 70 should be reported.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue adjusted_value = 1;
+ * @return float|null
+ */
+ public function getAdjustedValueUnwrapped()
+ {
+ $wrapper = $this->getAdjustedValue();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The restated conversion value. This is the value of the conversion after
+ * restatement. For example, to change the value of a conversion from 100 to
+ * 70, an adjusted value of 70 should be reported.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue adjusted_value = 1;
+ * @param \Google\Protobuf\DoubleValue $var
+ * @return $this
+ */
+ public function setAdjustedValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\DoubleValue::class);
+ $this->adjusted_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\DoubleValue object.
+
+ * The restated conversion value. This is the value of the conversion after
+ * restatement. For example, to change the value of a conversion from 100 to
+ * 70, an adjusted value of 70 should be reported.
+ *
+ * Generated from protobuf field .google.protobuf.DoubleValue adjusted_value = 1;
+ * @param float|null $var
+ * @return $this
+ */
+ public function setAdjustedValueUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\DoubleValue(['value' => $var]);
+ return $this->setAdjustedValue($wrappedVar);
+ }
+
+ /**
+ * The currency of the restated value. If not provided, then the default
+ * currency from the conversion action is used, and if that is not set then
+ * the account currency is used. This is the ISO 4217 3-character currency
+ * code e.g. USD or EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 2;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currency_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCurrencyCode()
+
+ * The currency of the restated value. If not provided, then the default
+ * currency from the conversion action is used, and if that is not set then
+ * the account currency is used. This is the ISO 4217 3-character currency
+ * code e.g. USD or EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 2;
+ * @return string|null
+ */
+ public function getCurrencyCodeUnwrapped()
+ {
+ $wrapper = $this->getCurrencyCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The currency of the restated value. If not provided, then the default
+ * currency from the conversion action is used, and if that is not set then
+ * the account currency is used. This is the ISO 4217 3-character currency
+ * code e.g. USD or EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 2;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The currency of the restated value. If not provided, then the default
+ * currency from the conversion action is used, and if that is not set then
+ * the account currency is used. This is the ISO 4217 3-character currency
+ * code e.g. USD or EUR.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue currency_code = 2;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCurrencyCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCurrencyCode($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/RunMutateJobRequest.php b/src/Google/Ads/GoogleAds/V2/Services/RunMutateJobRequest.php
new file mode 100644
index 000000000..38988913d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/RunMutateJobRequest.php
@@ -0,0 +1,67 @@
+google.ads.googleads.v2.services.RunMutateJobRequest
+ */
+final class RunMutateJobRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The resource name of the MutateJob to run.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ */
+ private $resource_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $resource_name
+ * The resource name of the MutateJob to run.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\MutateJobService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The resource name of the MutateJob to run.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @return string
+ */
+ public function getResourceName()
+ {
+ return $this->resource_name;
+ }
+
+ /**
+ * The resource name of the MutateJob to run.
+ *
+ * Generated from protobuf field string resource_name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setResourceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->resource_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsRequest.php
new file mode 100644
index 000000000..abc4eb36a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsRequest.php
@@ -0,0 +1,151 @@
+google.ads.googleads.v2.services.SearchGoogleAdsFieldsRequest
+ */
+final class SearchGoogleAdsFieldsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The query string.
+ *
+ * Generated from protobuf field string query = 1;
+ */
+ private $query = '';
+ /**
+ * Token of the page to retrieve. If not specified, the first page of
+ * results will be returned. Use the value obtained from `next_page_token`
+ * in the previous response in order to request the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ */
+ private $page_token = '';
+ /**
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to further
+ * limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ */
+ private $page_size = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $query
+ * The query string.
+ * @type string $page_token
+ * Token of the page to retrieve. If not specified, the first page of
+ * results will be returned. Use the value obtained from `next_page_token`
+ * in the previous response in order to request the next page of results.
+ * @type int $page_size
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to further
+ * limit the number of returned resources.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsFieldService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The query string.
+ *
+ * Generated from protobuf field string query = 1;
+ * @return string
+ */
+ public function getQuery()
+ {
+ return $this->query;
+ }
+
+ /**
+ * The query string.
+ *
+ * Generated from protobuf field string query = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setQuery($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->query = $var;
+
+ return $this;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first page of
+ * results will be returned. Use the value obtained from `next_page_token`
+ * in the previous response in order to request the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first page of
+ * results will be returned. Use the value obtained from `next_page_token`
+ * in the previous response in order to request the next page of results.
+ *
+ * Generated from protobuf field string page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to further
+ * limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to further
+ * limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsResponse.php
new file mode 100644
index 000000000..396a69cdc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsFieldsResponse.php
@@ -0,0 +1,143 @@
+google.ads.googleads.v2.services.SearchGoogleAdsFieldsResponse
+ */
+final class SearchGoogleAdsFieldsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of fields that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.GoogleAdsField results = 1;
+ */
+ private $results;
+ /**
+ * Pagination token used to retrieve the next page of results. Pass the
+ * content of this string as the `page_token` attribute of the next request.
+ * `next_page_token` is not returned for the last page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ private $next_page_token = '';
+ /**
+ * Total number of results that match the query ignoring the LIMIT clause.
+ *
+ * Generated from protobuf field int64 total_results_count = 3;
+ */
+ private $total_results_count = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\GoogleAdsField[]|\Google\Protobuf\Internal\RepeatedField $results
+ * The list of fields that matched the query.
+ * @type string $next_page_token
+ * Pagination token used to retrieve the next page of results. Pass the
+ * content of this string as the `page_token` attribute of the next request.
+ * `next_page_token` is not returned for the last page.
+ * @type int|string $total_results_count
+ * Total number of results that match the query ignoring the LIMIT clause.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsFieldService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of fields that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.GoogleAdsField results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * The list of fields that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.resources.GoogleAdsField results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\GoogleAdsField[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Resources\GoogleAdsField::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results. Pass the
+ * content of this string as the `page_token` attribute of the next request.
+ * `next_page_token` is not returned for the last page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results. Pass the
+ * content of this string as the `page_token` attribute of the next request.
+ * `next_page_token` is not returned for the last page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Total number of results that match the query ignoring the LIMIT clause.
+ *
+ * Generated from protobuf field int64 total_results_count = 3;
+ * @return int|string
+ */
+ public function getTotalResultsCount()
+ {
+ return $this->total_results_count;
+ }
+
+ /**
+ * Total number of results that match the query ignoring the LIMIT clause.
+ *
+ * Generated from protobuf field int64 total_results_count = 3;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setTotalResultsCount($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->total_results_count = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsRequest.php
new file mode 100644
index 000000000..6ae425c83
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsRequest.php
@@ -0,0 +1,261 @@
+google.ads.googleads.v2.services.SearchGoogleAdsRequest
+ */
+final class SearchGoogleAdsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer being queried.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The query string.
+ *
+ * Generated from protobuf field string query = 2;
+ */
+ private $query = '';
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ private $page_token = '';
+ /**
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 4;
+ */
+ private $page_size = 0;
+ /**
+ * If true, the request is validated but not executed.
+ *
+ * Generated from protobuf field bool validate_only = 5;
+ */
+ private $validate_only = false;
+ /**
+ * If true, summary row will be included in the response.
+ * Otherwise(false or not specified) summary row will not be returned.
+ *
+ * Generated from protobuf field bool return_summary_row = 6;
+ */
+ private $return_summary_row = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer being queried.
+ * @type string $query
+ * The query string.
+ * @type string $page_token
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ * @type int $page_size
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to
+ * further limit the number of returned resources.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed.
+ * @type bool $return_summary_row
+ * If true, summary row will be included in the response.
+ * Otherwise(false or not specified) summary row will not be returned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer being queried.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer being queried.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The query string.
+ *
+ * Generated from protobuf field string query = 2;
+ * @return string
+ */
+ public function getQuery()
+ {
+ return $this->query;
+ }
+
+ /**
+ * The query string.
+ *
+ * Generated from protobuf field string query = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setQuery($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->query = $var;
+
+ return $this;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Token of the page to retrieve. If not specified, the first
+ * page of results will be returned. Use the value obtained from
+ * `next_page_token` in the previous response in order to request
+ * the next page of results.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 4;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Number of elements to retrieve in a single page.
+ * When too large a page is requested, the server may decide to
+ * further limit the number of returned resources.
+ *
+ * Generated from protobuf field int32 page_size = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed.
+ *
+ * Generated from protobuf field bool validate_only = 5;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed.
+ *
+ * Generated from protobuf field bool validate_only = 5;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, summary row will be included in the response.
+ * Otherwise(false or not specified) summary row will not be returned.
+ *
+ * Generated from protobuf field bool return_summary_row = 6;
+ * @return bool
+ */
+ public function getReturnSummaryRow()
+ {
+ return $this->return_summary_row;
+ }
+
+ /**
+ * If true, summary row will be included in the response.
+ * Otherwise(false or not specified) summary row will not be returned.
+ *
+ * Generated from protobuf field bool return_summary_row = 6;
+ * @param bool $var
+ * @return $this
+ */
+ public function setReturnSummaryRow($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->return_summary_row = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsResponse.php
new file mode 100644
index 000000000..57492d196
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SearchGoogleAdsResponse.php
@@ -0,0 +1,227 @@
+google.ads.googleads.v2.services.SearchGoogleAdsResponse
+ */
+final class SearchGoogleAdsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of rows that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GoogleAdsRow results = 1;
+ */
+ private $results;
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ private $next_page_token = '';
+ /**
+ * Total number of results that match the query ignoring the LIMIT
+ * clause.
+ *
+ * Generated from protobuf field int64 total_results_count = 3;
+ */
+ private $total_results_count = 0;
+ /**
+ * FieldMask that represents what fields were requested by the user.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask field_mask = 5;
+ */
+ private $field_mask = null;
+ /**
+ * Summary row that contains summary of metrics in results.
+ * Summary of metrics means aggregation of metrics across all results,
+ * here aggregation could be sum, average, rate, etc.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GoogleAdsRow summary_row = 6;
+ */
+ private $summary_row = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow[]|\Google\Protobuf\Internal\RepeatedField $results
+ * The list of rows that matched the query.
+ * @type string $next_page_token
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ * @type int|string $total_results_count
+ * Total number of results that match the query ignoring the LIMIT
+ * clause.
+ * @type \Google\Protobuf\FieldMask $field_mask
+ * FieldMask that represents what fields were requested by the user.
+ * @type \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow $summary_row
+ * Summary row that contains summary of metrics in results.
+ * Summary of metrics means aggregation of metrics across all results,
+ * here aggregation could be sum, average, rate, etc.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GoogleAdsService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of rows that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GoogleAdsRow results = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * The list of rows that matched the query.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GoogleAdsRow results = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Pagination token used to retrieve the next page of results.
+ * Pass the content of this string as the `page_token` attribute of
+ * the next request. `next_page_token` is not returned for the last
+ * page.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Total number of results that match the query ignoring the LIMIT
+ * clause.
+ *
+ * Generated from protobuf field int64 total_results_count = 3;
+ * @return int|string
+ */
+ public function getTotalResultsCount()
+ {
+ return $this->total_results_count;
+ }
+
+ /**
+ * Total number of results that match the query ignoring the LIMIT
+ * clause.
+ *
+ * Generated from protobuf field int64 total_results_count = 3;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setTotalResultsCount($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->total_results_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * FieldMask that represents what fields were requested by the user.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask field_mask = 5;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getFieldMask()
+ {
+ return $this->field_mask;
+ }
+
+ /**
+ * FieldMask that represents what fields were requested by the user.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask field_mask = 5;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setFieldMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->field_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Summary row that contains summary of metrics in results.
+ * Summary of metrics means aggregation of metrics across all results,
+ * here aggregation could be sum, average, rate, etc.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GoogleAdsRow summary_row = 6;
+ * @return \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow
+ */
+ public function getSummaryRow()
+ {
+ return $this->summary_row;
+ }
+
+ /**
+ * Summary row that contains summary of metrics in results.
+ * Summary of metrics means aggregation of metrics across all results,
+ * here aggregation could be sum, average, rate, etc.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.GoogleAdsRow summary_row = 6;
+ * @param \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow $var
+ * @return $this
+ */
+ public function setSummaryRow($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\GoogleAdsRow::class);
+ $this->summary_row = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClient.php
new file mode 100644
index 000000000..7bee55c0e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.SearchTermViewService/GetSearchTermView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\SearchTermView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SharedCriterionOperation.php b/src/Google/Ads/GoogleAds/V2/Services/SharedCriterionOperation.php
new file mode 100644
index 000000000..19f6eebd6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SharedCriterionOperation.php
@@ -0,0 +1,107 @@
+google.ads.googleads.v2.services.SharedCriterionOperation
+ */
+final class SharedCriterionOperation extends \Google\Protobuf\Internal\Message
+{
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Resources\SharedCriterion $create
+ * Create operation: No resource name is expected for the new shared
+ * criterion.
+ * @type string $remove
+ * Remove operation: A resource name for the removed shared criterion is
+ * expected, in this format:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedCriterionService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new shared
+ * criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedCriterion create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\SharedCriterion
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new shared
+ * criterion.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedCriterion create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\SharedCriterion $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\SharedCriterion::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed shared criterion is
+ * expected, in this format:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed shared criterion is
+ * expected, in this format:
+ * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClient.php
new file mode 100644
index 000000000..c75d5916a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.SharedCriterionService/GetSharedCriterion',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\SharedCriterion', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or removes shared criteria. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateSharedCriteriaRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateSharedCriteria(\Google\Ads\GoogleAds\V2\Services\MutateSharedCriteriaRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.SharedCriterionService/MutateSharedCriteria',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateSharedCriteriaResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SharedSetOperation.php b/src/Google/Ads/GoogleAds/V2/Services/SharedSetOperation.php
new file mode 100644
index 000000000..16a0d590d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SharedSetOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.SharedSetOperation
+ */
+final class SharedSetOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\SharedSet $create
+ * Create operation: No resource name is expected for the new shared set.
+ * @type \Google\Ads\GoogleAds\V2\Resources\SharedSet $update
+ * Update operation: The shared set is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed shared set is expected,
+ * in this format:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\SharedSetService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new shared set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\SharedSet
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new shared set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\SharedSet $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\SharedSet::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The shared set is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\SharedSet
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The shared set is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.SharedSet update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\SharedSet $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\SharedSet::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed shared set is expected,
+ * in this format:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed shared set is expected,
+ * in this format:
+ * `customers/{customer_id}/sharedSets/{shared_set_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClient.php
new file mode 100644
index 000000000..db5018622
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.SharedSetService/GetSharedSet',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\SharedSet', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates, updates, or removes shared sets. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateSharedSetsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateSharedSets(\Google\Ads\GoogleAds\V2\Services\MutateSharedSetsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.SharedSetService/MutateSharedSets',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateSharedSetsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClient.php
new file mode 100644
index 000000000..f5e587765
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.ShoppingPerformanceViewService/GetShoppingPerformanceView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\ShoppingPerformanceView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest.php
new file mode 100644
index 000000000..d2dcb67f5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest.php
@@ -0,0 +1,237 @@
+google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest
+ */
+final class SuggestGeoTargetConstantsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * If possible, returned geo targets are translated using this locale. If not,
+ * en is used by default. This is also used as a hint for returned geo
+ * targets.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 3;
+ */
+ private $locale = null;
+ /**
+ * Returned geo targets are restricted to this country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ */
+ private $country_code = null;
+ protected $query;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $locale
+ * If possible, returned geo targets are translated using this locale. If not,
+ * en is used by default. This is also used as a hint for returned geo
+ * targets.
+ * @type \Google\Protobuf\StringValue $country_code
+ * Returned geo targets are restricted to this country code.
+ * @type \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\LocationNames $location_names
+ * The location names to search by. At most 25 names can be set.
+ * @type \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\GeoTargets $geo_targets
+ * The geo target constant resource names to filter by.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeoTargetConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * If possible, returned geo targets are translated using this locale. If not,
+ * en is used by default. This is also used as a hint for returned geo
+ * targets.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 3;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * Returns the unboxed value from getLocale()
+
+ * If possible, returned geo targets are translated using this locale. If not,
+ * en is used by default. This is also used as a hint for returned geo
+ * targets.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 3;
+ * @return string|null
+ */
+ public function getLocaleUnwrapped()
+ {
+ $wrapper = $this->getLocale();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * If possible, returned geo targets are translated using this locale. If not,
+ * en is used by default. This is also used as a hint for returned geo
+ * targets.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 3;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setLocale($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->locale = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * If possible, returned geo targets are translated using this locale. If not,
+ * en is used by default. This is also used as a hint for returned geo
+ * targets.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue locale = 3;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setLocaleUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setLocale($wrappedVar);
+ }
+
+ /**
+ * Returned geo targets are restricted to this country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getCountryCode()
+ {
+ return $this->country_code;
+ }
+
+ /**
+ * Returns the unboxed value from getCountryCode()
+
+ * Returned geo targets are restricted to this country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @return string|null
+ */
+ public function getCountryCodeUnwrapped()
+ {
+ $wrapper = $this->getCountryCode();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * Returned geo targets are restricted to this country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setCountryCode($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->country_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * Returned geo targets are restricted to this country code.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue country_code = 5;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setCountryCodeUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setCountryCode($wrappedVar);
+ }
+
+ /**
+ * The location names to search by. At most 25 names can be set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest.LocationNames location_names = 1;
+ * @return \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\LocationNames
+ */
+ public function getLocationNames()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * The location names to search by. At most 25 names can be set.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest.LocationNames location_names = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\LocationNames $var
+ * @return $this
+ */
+ public function setLocationNames($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest_LocationNames::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * The geo target constant resource names to filter by.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest.GeoTargets geo_targets = 2;
+ * @return \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\GeoTargets
+ */
+ public function getGeoTargets()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * The geo target constant resource names to filter by.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest.GeoTargets geo_targets = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest\GeoTargets $var
+ * @return $this
+ */
+ public function setGeoTargets($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest_GeoTargets::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getQuery()
+ {
+ return $this->whichOneof("query");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/GeoTargets.php b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/GeoTargets.php
new file mode 100644
index 000000000..217fb5fb5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/GeoTargets.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest.GeoTargets
+ */
+final class GeoTargets extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A list of geo target constant resource names.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 1;
+ */
+ private $geo_target_constants;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $geo_target_constants
+ * A list of geo target constant resource names.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeoTargetConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A list of geo target constant resource names.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeoTargetConstants()
+ {
+ return $this->geo_target_constants;
+ }
+
+ /**
+ * A list of geo target constant resource names.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue geo_target_constants = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeoTargetConstants($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->geo_target_constants = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(GeoTargets::class, \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest_GeoTargets::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/LocationNames.php b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/LocationNames.php
new file mode 100644
index 000000000..4dcf5a21c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest/LocationNames.php
@@ -0,0 +1,70 @@
+google.ads.googleads.v2.services.SuggestGeoTargetConstantsRequest.LocationNames
+ */
+final class LocationNames extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * A list of location names.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue names = 1;
+ */
+ private $names;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $names
+ * A list of location names.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeoTargetConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * A list of location names.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue names = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getNames()
+ {
+ return $this->names;
+ }
+
+ /**
+ * A list of location names.
+ *
+ * Generated from protobuf field repeated .google.protobuf.StringValue names = 1;
+ * @param \Google\Protobuf\StringValue[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setNames($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\StringValue::class);
+ $this->names = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(LocationNames::class, \Google\Ads\GoogleAds\V2\Services\SuggestGeoTargetConstantsRequest_LocationNames::class);
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest_GeoTargets.php b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest_GeoTargets.php
new file mode 100644
index 000000000..49f87e03f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/SuggestGeoTargetConstantsRequest_GeoTargets.php
@@ -0,0 +1,16 @@
+google.ads.googleads.v2.services.SuggestGeoTargetConstantsResponse
+ */
+final class SuggestGeoTargetConstantsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Geo target constant suggestions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GeoTargetConstantSuggestion geo_target_constant_suggestions = 1;
+ */
+ private $geo_target_constant_suggestions;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Ads\GoogleAds\V2\Services\GeoTargetConstantSuggestion[]|\Google\Protobuf\Internal\RepeatedField $geo_target_constant_suggestions
+ * Geo target constant suggestions.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\GeoTargetConstantService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Geo target constant suggestions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GeoTargetConstantSuggestion geo_target_constant_suggestions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeoTargetConstantSuggestions()
+ {
+ return $this->geo_target_constant_suggestions;
+ }
+
+ /**
+ * Geo target constant suggestions.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.GeoTargetConstantSuggestion geo_target_constant_suggestions = 1;
+ * @param \Google\Ads\GoogleAds\V2\Services\GeoTargetConstantSuggestion[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeoTargetConstantSuggestions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\GeoTargetConstantSuggestion::class);
+ $this->geo_target_constant_suggestions = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClient.php
new file mode 100644
index 000000000..d00cd639d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.TopicConstantService/GetTopicConstant',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\TopicConstant', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClient.php
new file mode 100644
index 000000000..cd3480f92
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.TopicViewService/GetTopicView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\TopicView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsRequest.php
new file mode 100644
index 000000000..68fa336fc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.UploadCallConversionsRequest
+ */
+final class UploadCallConversionsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The conversions that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CallConversion conversions = 2;
+ */
+ private $conversions;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer performing the upload.
+ * @type \Google\Ads\GoogleAds\V2\Services\CallConversion[]|\Google\Protobuf\Internal\RepeatedField $conversions
+ * The conversions that are being uploaded.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The conversions that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CallConversion conversions = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConversions()
+ {
+ return $this->conversions;
+ }
+
+ /**
+ * The conversions that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CallConversion conversions = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CallConversion[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConversions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CallConversion::class);
+ $this->conversions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsResponse.php
new file mode 100644
index 000000000..051896067
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UploadCallConversionsResponse.php
@@ -0,0 +1,117 @@
+google.ads.googleads.v2.services.UploadCallConversionsResponse
+ */
+final class UploadCallConversionsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ */
+ private $partial_failure_error = null;
+ /**
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CallConversionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\CallConversionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CallConversionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.CallConversionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\CallConversionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\CallConversionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsRequest.php
new file mode 100644
index 000000000..ef033c92a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsRequest.php
@@ -0,0 +1,185 @@
+google.ads.googleads.v2.services.UploadClickConversionsRequest
+ */
+final class UploadClickConversionsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The conversions that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ClickConversion conversions = 2;
+ */
+ private $conversions;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer performing the upload.
+ * @type \Google\Ads\GoogleAds\V2\Services\ClickConversion[]|\Google\Protobuf\Internal\RepeatedField $conversions
+ * The conversions that are being uploaded.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The conversions that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ClickConversion conversions = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConversions()
+ {
+ return $this->conversions;
+ }
+
+ /**
+ * The conversions that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ClickConversion conversions = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ClickConversion[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConversions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ClickConversion::class);
+ $this->conversions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried
+ * out in one transaction if and only if they are all valid.
+ * This should always be set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsResponse.php
new file mode 100644
index 000000000..d0f83988c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UploadClickConversionsResponse.php
@@ -0,0 +1,117 @@
+google.ads.googleads.v2.services.UploadClickConversionsResponse
+ */
+final class UploadClickConversionsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ */
+ private $partial_failure_error = null;
+ /**
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ClickConversionResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\ClickConversionResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to conversion failures in the partial failure mode.
+ * Returned when all errors occur inside the conversions. If any errors occur
+ * outside the conversions (e.g. auth errors), we return an RPC level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ClickConversionResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * Returned for successfully processed conversions. Proto will be empty for
+ * rows that received an error. Results are not returned when validate_only is
+ * true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ClickConversionResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ClickConversionResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ClickConversionResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsRequest.php b/src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsRequest.php
new file mode 100644
index 000000000..1ed56369e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsRequest.php
@@ -0,0 +1,186 @@
+google.ads.googleads.v2.services.UploadConversionAdjustmentsRequest
+ */
+final class UploadConversionAdjustmentsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ */
+ private $customer_id = '';
+ /**
+ * The conversion adjustments that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionAdjustment conversion_adjustments = 2;
+ */
+ private $conversion_adjustments;
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried out
+ * in one transaction if and only if they are all valid. This should always be
+ * set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ */
+ private $partial_failure = false;
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ */
+ private $validate_only = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $customer_id
+ * The ID of the customer performing the upload.
+ * @type \Google\Ads\GoogleAds\V2\Services\ConversionAdjustment[]|\Google\Protobuf\Internal\RepeatedField $conversion_adjustments
+ * The conversion adjustments that are being uploaded.
+ * @type bool $partial_failure
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried out
+ * in one transaction if and only if they are all valid. This should always be
+ * set to true.
+ * @type bool $validate_only
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @return string
+ */
+ public function getCustomerId()
+ {
+ return $this->customer_id;
+ }
+
+ /**
+ * The ID of the customer performing the upload.
+ *
+ * Generated from protobuf field string customer_id = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setCustomerId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->customer_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The conversion adjustments that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionAdjustment conversion_adjustments = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConversionAdjustments()
+ {
+ return $this->conversion_adjustments;
+ }
+
+ /**
+ * The conversion adjustments that are being uploaded.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionAdjustment conversion_adjustments = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ConversionAdjustment[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConversionAdjustments($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ConversionAdjustment::class);
+ $this->conversion_adjustments = $arr;
+
+ return $this;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried out
+ * in one transaction if and only if they are all valid. This should always be
+ * set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @return bool
+ */
+ public function getPartialFailure()
+ {
+ return $this->partial_failure;
+ }
+
+ /**
+ * If true, successful operations will be carried out and invalid
+ * operations will return errors. If false, all operations will be carried out
+ * in one transaction if and only if they are all valid. This should always be
+ * set to true.
+ *
+ * Generated from protobuf field bool partial_failure = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setPartialFailure($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->partial_failure = $var;
+
+ return $this;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @return bool
+ */
+ public function getValidateOnly()
+ {
+ return $this->validate_only;
+ }
+
+ /**
+ * If true, the request is validated but not executed. Only errors are
+ * returned, not results.
+ *
+ * Generated from protobuf field bool validate_only = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setValidateOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->validate_only = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsResponse.php b/src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsResponse.php
new file mode 100644
index 000000000..73c40c326
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UploadConversionAdjustmentsResponse.php
@@ -0,0 +1,122 @@
+google.ads.googleads.v2.services.UploadConversionAdjustmentsResponse
+ */
+final class UploadConversionAdjustmentsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Errors that pertain to conversion adjustment failures in the partial
+ * failure mode. Returned when all errors occur inside the adjustments. If any
+ * errors occur outside the adjustments (e.g. auth errors), we return an RPC
+ * level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ */
+ private $partial_failure_error = null;
+ /**
+ * Returned for successfully processed conversion adjustments. Proto will be
+ * empty for rows that received an error. Results are not returned when
+ * validate_only is true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionAdjustmentResult results = 2;
+ */
+ private $results;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Rpc\Status $partial_failure_error
+ * Errors that pertain to conversion adjustment failures in the partial
+ * failure mode. Returned when all errors occur inside the adjustments. If any
+ * errors occur outside the adjustments (e.g. auth errors), we return an RPC
+ * level error.
+ * @type \Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentResult[]|\Google\Protobuf\Internal\RepeatedField $results
+ * Returned for successfully processed conversion adjustments. Proto will be
+ * empty for rows that received an error. Results are not returned when
+ * validate_only is true.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentUploadService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Errors that pertain to conversion adjustment failures in the partial
+ * failure mode. Returned when all errors occur inside the adjustments. If any
+ * errors occur outside the adjustments (e.g. auth errors), we return an RPC
+ * level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ * @return \Google\Rpc\Status
+ */
+ public function getPartialFailureError()
+ {
+ return $this->partial_failure_error;
+ }
+
+ /**
+ * Errors that pertain to conversion adjustment failures in the partial
+ * failure mode. Returned when all errors occur inside the adjustments. If any
+ * errors occur outside the adjustments (e.g. auth errors), we return an RPC
+ * level error.
+ *
+ * Generated from protobuf field .google.rpc.Status partial_failure_error = 1;
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setPartialFailureError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->partial_failure_error = $var;
+
+ return $this;
+ }
+
+ /**
+ * Returned for successfully processed conversion adjustments. Proto will be
+ * empty for rows that received an error. Results are not returned when
+ * validate_only is true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionAdjustmentResult results = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getResults()
+ {
+ return $this->results;
+ }
+
+ /**
+ * Returned for successfully processed conversion adjustments. Proto will be
+ * empty for rows that received an error. Results are not returned when
+ * validate_only is true.
+ *
+ * Generated from protobuf field repeated .google.ads.googleads.v2.services.ConversionAdjustmentResult results = 2;
+ * @param \Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentResult[]|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setResults($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V2\Services\ConversionAdjustmentResult::class);
+ $this->results = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UrlSeed.php b/src/Google/Ads/GoogleAds/V2/Services/UrlSeed.php
new file mode 100644
index 000000000..ed5f7a048
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UrlSeed.php
@@ -0,0 +1,96 @@
+google.ads.googleads.v2.services.UrlSeed
+ */
+final class UrlSeed extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ */
+ private $url = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\StringValue $url
+ * The URL to crawl in order to generate keyword ideas.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\KeywordPlanIdeaService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @return \Google\Protobuf\StringValue
+ */
+ public function getUrl()
+ {
+ return $this->url;
+ }
+
+ /**
+ * Returns the unboxed value from getUrl()
+
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @return string|null
+ */
+ public function getUrlUnwrapped()
+ {
+ $wrapper = $this->getUrl();
+ return is_null($wrapper) ? null : $wrapper->getValue();
+ }
+
+ /**
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @param \Google\Protobuf\StringValue $var
+ * @return $this
+ */
+ public function setUrl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
+ $this->url = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.
+
+ * The URL to crawl in order to generate keyword ideas.
+ *
+ * Generated from protobuf field .google.protobuf.StringValue url = 1;
+ * @param string|null $var
+ * @return $this
+ */
+ public function setUrlUnwrapped($var)
+ {
+ $wrappedVar = is_null($var) ? null : new \Google\Protobuf\StringValue(['value' => $var]);
+ return $this->setUrl($wrappedVar);
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClient.php
new file mode 100644
index 000000000..fd64aca0b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.UserInterestService/GetUserInterest',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\UserInterest', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UserListOperation.php b/src/Google/Ads/GoogleAds/V2/Services/UserListOperation.php
new file mode 100644
index 000000000..2569ec83d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UserListOperation.php
@@ -0,0 +1,169 @@
+google.ads.googleads.v2.services.UserListOperation
+ */
+final class UserListOperation extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ */
+ private $update_mask = null;
+ protected $operation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * FieldMask that determines which resource fields are modified in an update.
+ * @type \Google\Ads\GoogleAds\V2\Resources\UserList $create
+ * Create operation: No resource name is expected for the new user list.
+ * @type \Google\Ads\GoogleAds\V2\Resources\UserList $update
+ * Update operation: The user list is expected to have a valid resource
+ * name.
+ * @type string $remove
+ * Remove operation: A resource name for the removed user list is expected,
+ * in this format:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Ads\GoogleAds\V2\Services\UserListService::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @return \Google\Protobuf\FieldMask
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ /**
+ * FieldMask that determines which resource fields are modified in an update.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 4;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList create = 1;
+ * @return \Google\Ads\GoogleAds\V2\Resources\UserList
+ */
+ public function getCreate()
+ {
+ return $this->readOneof(1);
+ }
+
+ /**
+ * Create operation: No resource name is expected for the new user list.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList create = 1;
+ * @param \Google\Ads\GoogleAds\V2\Resources\UserList $var
+ * @return $this
+ */
+ public function setCreate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\UserList::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Update operation: The user list is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList update = 2;
+ * @return \Google\Ads\GoogleAds\V2\Resources\UserList
+ */
+ public function getUpdate()
+ {
+ return $this->readOneof(2);
+ }
+
+ /**
+ * Update operation: The user list is expected to have a valid resource
+ * name.
+ *
+ * Generated from protobuf field .google.ads.googleads.v2.resources.UserList update = 2;
+ * @param \Google\Ads\GoogleAds\V2\Resources\UserList $var
+ * @return $this
+ */
+ public function setUpdate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Ads\GoogleAds\V2\Resources\UserList::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Remove operation: A resource name for the removed user list is expected,
+ * in this format:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @return string
+ */
+ public function getRemove()
+ {
+ return $this->readOneof(3);
+ }
+
+ /**
+ * Remove operation: A resource name for the removed user list is expected,
+ * in this format:
+ * `customers/{customer_id}/userLists/{user_list_id}`
+ *
+ * Generated from protobuf field string remove = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setRemove($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOperation()
+ {
+ return $this->whichOneof("operation");
+ }
+
+}
+
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UserListServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/UserListServiceClient.php
new file mode 100644
index 000000000..30747eddf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UserListServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.UserListService/GetUserList',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\UserList', 'decode'],
+ $metadata, $options);
+ }
+
+ /**
+ * Creates or updates user lists. Operation statuses are returned.
+ * @param \Google\Ads\GoogleAds\V2\Services\MutateUserListsRequest $argument input argument
+ * @param array $metadata metadata
+ * @param array $options call options
+ */
+ public function MutateUserLists(\Google\Ads\GoogleAds\V2\Services\MutateUserListsRequest $argument,
+ $metadata = [], $options = []) {
+ return $this->_simpleRequest('/google.ads.googleads.v2.services.UserListService/MutateUserLists',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Services\MutateUserListsResponse', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClient.php
new file mode 100644
index 000000000..0e93800de
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.UserLocationViewService/GetUserLocationView',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\UserLocationView', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/VideoServiceClient.php b/src/Google/Ads/GoogleAds/V2/Services/VideoServiceClient.php
new file mode 100644
index 000000000..48c6f1c2e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/VideoServiceClient.php
@@ -0,0 +1,38 @@
+_simpleRequest('/google.ads.googleads.v2.services.VideoService/GetVideo',
+ $argument,
+ ['\Google\Ads\GoogleAds\V2\Resources\Video', 'decode'],
+ $metadata, $options);
+ }
+
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_client_config.json
new file mode 100644
index 000000000..faab46e63
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AccountBudgetProposalService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAccountBudgetProposal": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAccountBudgetProposal": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_descriptor_config.php
new file mode 100644
index 000000000..43125218d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AccountBudgetProposalService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_rest_client_config.php
new file mode 100644
index 000000000..a5ef6eec6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_proposal_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AccountBudgetProposalService' => [
+ 'GetAccountBudgetProposal' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/accountBudgetProposals/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAccountBudgetProposal' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/accountBudgetProposals:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_client_config.json
new file mode 100644
index 000000000..f939c1c51
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AccountBudgetService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAccountBudget": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_descriptor_config.php
new file mode 100644
index 000000000..48f7b6405
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AccountBudgetService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_rest_client_config.php
new file mode 100644
index 000000000..e1c73a193
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/account_budget_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AccountBudgetService' => [
+ 'GetAccountBudget' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/accountBudgets/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_client_config.json
new file mode 100644
index 000000000..31c9e8f35
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupAdAssetViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupAdAssetView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_descriptor_config.php
new file mode 100644
index 000000000..c7ea10349
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAdAssetViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_rest_client_config.php
new file mode 100644
index 000000000..4bdf5286e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_asset_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAdAssetViewService' => [
+ 'GetAdGroupAdAssetView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupAdAssetViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_client_config.json
new file mode 100644
index 000000000..46f503aff
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupAdLabelService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupAdLabel": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupAdLabels": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_descriptor_config.php
new file mode 100644
index 000000000..3a9368d34
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAdLabelService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_rest_client_config.php
new file mode 100644
index 000000000..b0e6888ac
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_label_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAdLabelService' => [
+ 'GetAdGroupAdLabel' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupAdLabels/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupAdLabels' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupAdLabels:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_client_config.json
new file mode 100644
index 000000000..9203566c9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupAdService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupAd": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupAds": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_descriptor_config.php
new file mode 100644
index 000000000..a8cc8bd8f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAdService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_rest_client_config.php
new file mode 100644
index 000000000..2ba2e7467
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_ad_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAdService' => [
+ 'GetAdGroupAd' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupAds/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupAds' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupAds:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_client_config.json
new file mode 100644
index 000000000..6122f2a60
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupAudienceViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupAudienceView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_descriptor_config.php
new file mode 100644
index 000000000..6b1533f41
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAudienceViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_rest_client_config.php
new file mode 100644
index 000000000..424b39b7c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_audience_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupAudienceViewService' => [
+ 'GetAdGroupAudienceView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupAudienceViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_client_config.json
new file mode 100644
index 000000000..a18e4f11d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupBidModifierService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupBidModifier": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupBidModifiers": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_descriptor_config.php
new file mode 100644
index 000000000..04f9e9827
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupBidModifierService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_rest_client_config.php
new file mode 100644
index 000000000..8d9bf38c5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_bid_modifier_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupBidModifierService' => [
+ 'GetAdGroupBidModifier' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupBidModifiers/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupBidModifiers' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupBidModifiers:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_client_config.json
new file mode 100644
index 000000000..f1acfc6bb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupCriterionLabelService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupCriterionLabel": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupCriterionLabels": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_descriptor_config.php
new file mode 100644
index 000000000..23a9050e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupCriterionLabelService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_rest_client_config.php
new file mode 100644
index 000000000..5589d7504
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_label_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupCriterionLabelService' => [
+ 'GetAdGroupCriterionLabel' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupCriterionLabels/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupCriterionLabels' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupCriterionLabels:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_client_config.json
new file mode 100644
index 000000000..dcb414d2c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupCriterionService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupCriterion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupCriteria": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_descriptor_config.php
new file mode 100644
index 000000000..c9332b329
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupCriterionService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_rest_client_config.php
new file mode 100644
index 000000000..2246b0576
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupCriterionService' => [
+ 'GetAdGroupCriterion' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupCriteria/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupCriteria' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupCriteria:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_client_config.json
new file mode 100644
index 000000000..1932e558f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupCriterionSimulationService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupCriterionSimulation": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_descriptor_config.php
new file mode 100644
index 000000000..cc85053b0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupCriterionSimulationService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_rest_client_config.php
new file mode 100644
index 000000000..317718e00
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_criterion_simulation_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupCriterionSimulationService' => [
+ 'GetAdGroupCriterionSimulation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupCriterionSimulations/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_client_config.json
new file mode 100644
index 000000000..59d576147
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupExtensionSettingService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupExtensionSetting": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupExtensionSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_descriptor_config.php
new file mode 100644
index 000000000..3cdd23950
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupExtensionSettingService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_rest_client_config.php
new file mode 100644
index 000000000..b2d0c2998
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_extension_setting_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupExtensionSettingService' => [
+ 'GetAdGroupExtensionSetting' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupExtensionSettings/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupExtensionSettings' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupExtensionSettings:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_client_config.json
new file mode 100644
index 000000000..302f03083
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupFeedService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupFeed": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupFeeds": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_descriptor_config.php
new file mode 100644
index 000000000..25757734e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupFeedService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_rest_client_config.php
new file mode 100644
index 000000000..063f43364
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_feed_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupFeedService' => [
+ 'GetAdGroupFeed' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupFeeds/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupFeeds' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupFeeds:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_client_config.json
new file mode 100644
index 000000000..b29d3932b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupLabelService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupLabel": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroupLabels": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_descriptor_config.php
new file mode 100644
index 000000000..3f16d50f6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupLabelService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_rest_client_config.php
new file mode 100644
index 000000000..fdfc1129e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_label_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupLabelService' => [
+ 'GetAdGroupLabel' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupLabels/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroupLabels' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroupLabels:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_client_config.json
new file mode 100644
index 000000000..a8e34855a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroup": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdGroups": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_descriptor_config.php
new file mode 100644
index 000000000..f1c56c50f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_rest_client_config.php
new file mode 100644
index 000000000..64f655d29
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupService' => [
+ 'GetAdGroup' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroups/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdGroups' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adGroups:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_client_config.json
new file mode 100644
index 000000000..e79eccbf2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdGroupSimulationService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdGroupSimulation": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_descriptor_config.php
new file mode 100644
index 000000000..7ac1cdd82
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupSimulationService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_rest_client_config.php
new file mode 100644
index 000000000..ef13ec284
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_group_simulation_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AdGroupSimulationService' => [
+ 'GetAdGroupSimulation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adGroupSimulations/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_client_config.json
new file mode 100644
index 000000000..194adae42
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdParameterService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdParameter": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAdParameters": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_descriptor_config.php
new file mode 100644
index 000000000..54ae695d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdParameterService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_rest_client_config.php
new file mode 100644
index 000000000..2c691ebf2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_parameter_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdParameterService' => [
+ 'GetAdParameter' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adParameters/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAdParameters' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/adParameters:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_client_config.json
new file mode 100644
index 000000000..b1764fa95
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdScheduleViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAdScheduleView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_descriptor_config.php
new file mode 100644
index 000000000..2784e1ea1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdScheduleViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_rest_client_config.php
new file mode 100644
index 000000000..d7b10c409
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_schedule_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AdScheduleViewService' => [
+ 'GetAdScheduleView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/adScheduleViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_client_config.json
new file mode 100644
index 000000000..f20e1b870
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AdService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAd": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAds": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_descriptor_config.php
new file mode 100644
index 000000000..f684cf98a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AdService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_rest_client_config.php
new file mode 100644
index 000000000..2f89dcd79
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/ad_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AdService' => [
+ 'GetAd' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/ads/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAds' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/ads:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_client_config.json
new file mode 100644
index 000000000..4e9fae49c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AgeRangeViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAgeRangeView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_descriptor_config.php
new file mode 100644
index 000000000..84697ac80
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AgeRangeViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_rest_client_config.php
new file mode 100644
index 000000000..2594d9978
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/age_range_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.AgeRangeViewService' => [
+ 'GetAgeRangeView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/ageRangeViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_client_config.json
new file mode 100644
index 000000000..493fe174d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.AssetService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetAsset": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateAssets": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_descriptor_config.php
new file mode 100644
index 000000000..6053b0d63
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.AssetService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_rest_client_config.php
new file mode 100644
index 000000000..960d48d0e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/asset_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.AssetService' => [
+ 'GetAsset' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/assets/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateAssets' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/assets:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_client_config.json
new file mode 100644
index 000000000..02195b1fa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.BiddingStrategyService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetBiddingStrategy": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateBiddingStrategies": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_descriptor_config.php
new file mode 100644
index 000000000..9e754aaac
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.BiddingStrategyService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_rest_client_config.php
new file mode 100644
index 000000000..c347bde26
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/bidding_strategy_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.BiddingStrategyService' => [
+ 'GetBiddingStrategy' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/biddingStrategies/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateBiddingStrategies' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/biddingStrategies:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_client_config.json
new file mode 100644
index 000000000..6c200bd76
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.BillingSetupService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetBillingSetup": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateBillingSetup": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_descriptor_config.php
new file mode 100644
index 000000000..d9290a3f5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.BillingSetupService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_rest_client_config.php
new file mode 100644
index 000000000..c49dca269
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/billing_setup_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.BillingSetupService' => [
+ 'GetBillingSetup' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/billingSetups/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateBillingSetup' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/billingSetups:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_client_config.json
new file mode 100644
index 000000000..f02218682
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignAudienceViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignAudienceView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_descriptor_config.php
new file mode 100644
index 000000000..597f0500d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignAudienceViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_rest_client_config.php
new file mode 100644
index 000000000..bc0acc1ae
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_audience_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignAudienceViewService' => [
+ 'GetCampaignAudienceView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignAudienceViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_client_config.json
new file mode 100644
index 000000000..7965f1d42
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignBidModifierService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignBidModifier": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignBidModifiers": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_descriptor_config.php
new file mode 100644
index 000000000..729a5df74
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignBidModifierService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_rest_client_config.php
new file mode 100644
index 000000000..9b2c367f1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_bid_modifier_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignBidModifierService' => [
+ 'GetCampaignBidModifier' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignBidModifiers/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignBidModifiers' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignBidModifiers:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_client_config.json
new file mode 100644
index 000000000..e63db2875
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignBudgetService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignBudget": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignBudgets": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_descriptor_config.php
new file mode 100644
index 000000000..fa143b27e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignBudgetService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_rest_client_config.php
new file mode 100644
index 000000000..9ba6522eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_budget_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignBudgetService' => [
+ 'GetCampaignBudget' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignBudgets/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignBudgets' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignBudgets:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_client_config.json
new file mode 100644
index 000000000..79b91dfe8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignCriterionService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignCriterion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignCriteria": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_descriptor_config.php
new file mode 100644
index 000000000..c8f9891d8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignCriterionService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_rest_client_config.php
new file mode 100644
index 000000000..5165ab7dd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignCriterionService' => [
+ 'GetCampaignCriterion' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignCriteria/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignCriteria' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignCriteria:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_client_config.json
new file mode 100644
index 000000000..e6299aef1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignCriterionSimulationService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignCriterionSimulation": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_descriptor_config.php
new file mode 100644
index 000000000..bcb887d65
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignCriterionSimulationService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_rest_client_config.php
new file mode 100644
index 000000000..806a04d7f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_criterion_simulation_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignCriterionSimulationService' => [
+ 'GetCampaignCriterionSimulation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignCriterionSimulations/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_client_config.json
new file mode 100644
index 000000000..cf6aae2be
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_client_config.json
@@ -0,0 +1,46 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignDraftService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignDraft": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignDrafts": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "PromoteCampaignDraft": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "ListCampaignDraftAsyncErrors": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_descriptor_config.php
new file mode 100644
index 000000000..3f8e999a1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_descriptor_config.php
@@ -0,0 +1,28 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignDraftService' => [
+ 'PromoteCampaignDraft' => [
+ 'longRunning' => [
+ 'operationReturnType' => '\Google\Protobuf\GPBEmpty',
+ 'metadataReturnType' => '\Google\Protobuf\GPBEmpty',
+ 'initialPollDelayMillis' => '500',
+ 'pollDelayMultiplier' => '1.5',
+ 'maxPollDelayMillis' => '5000',
+ 'totalPollTimeoutMillis' => '300000',
+ ],
+ ],
+ 'ListCampaignDraftAsyncErrors' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getErrors',
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_rest_client_config.php
new file mode 100644
index 000000000..b98fe959b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_draft_service_rest_client_config.php
@@ -0,0 +1,113 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignDraftService' => [
+ 'GetCampaignDraft' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignDrafts/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignDrafts' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignDrafts:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'PromoteCampaignDraft' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{campaign_draft=customers/*/campaignDrafts/*}:promote',
+ 'body' => '*',
+ 'placeholders' => [
+ 'campaign_draft' => [
+ 'getters' => [
+ 'getCampaignDraft',
+ ],
+ ],
+ ],
+ ],
+ 'ListCampaignDraftAsyncErrors' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_client_config.json
new file mode 100644
index 000000000..aaf9d901c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_client_config.json
@@ -0,0 +1,61 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignExperimentService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignExperiment": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateCampaignExperiment": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignExperiments": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GraduateCampaignExperiment": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "PromoteCampaignExperiment": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "EndCampaignExperiment": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "ListCampaignExperimentAsyncErrors": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_descriptor_config.php
new file mode 100644
index 000000000..17ecea397
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_descriptor_config.php
@@ -0,0 +1,38 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignExperimentService' => [
+ 'CreateCampaignExperiment' => [
+ 'longRunning' => [
+ 'operationReturnType' => '\Google\Protobuf\GPBEmpty',
+ 'metadataReturnType' => '\Google\Ads\GoogleAds\V2\Services\CreateCampaignExperimentMetadata',
+ 'initialPollDelayMillis' => '500',
+ 'pollDelayMultiplier' => '1.5',
+ 'maxPollDelayMillis' => '5000',
+ 'totalPollTimeoutMillis' => '300000',
+ ],
+ ],
+ 'PromoteCampaignExperiment' => [
+ 'longRunning' => [
+ 'operationReturnType' => '\Google\Protobuf\GPBEmpty',
+ 'metadataReturnType' => '\Google\Protobuf\GPBEmpty',
+ 'initialPollDelayMillis' => '500',
+ 'pollDelayMultiplier' => '1.5',
+ 'maxPollDelayMillis' => '5000',
+ 'totalPollTimeoutMillis' => '300000',
+ ],
+ ],
+ 'ListCampaignExperimentAsyncErrors' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getErrors',
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_rest_client_config.php
new file mode 100644
index 000000000..2a03e78b1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_experiment_service_rest_client_config.php
@@ -0,0 +1,149 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignExperimentService' => [
+ 'GetCampaignExperiment' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignExperiments/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'CreateCampaignExperiment' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignExperiments:create',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignExperiments' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignExperiments:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'GraduateCampaignExperiment' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{campaign_experiment=customers/*/campaignExperiments/*}:graduate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'campaign_experiment' => [
+ 'getters' => [
+ 'getCampaignExperiment',
+ ],
+ ],
+ ],
+ ],
+ 'PromoteCampaignExperiment' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{campaign_experiment=customers/*/campaignExperiments/*}:promote',
+ 'body' => '*',
+ 'placeholders' => [
+ 'campaign_experiment' => [
+ 'getters' => [
+ 'getCampaignExperiment',
+ ],
+ ],
+ ],
+ ],
+ 'EndCampaignExperiment' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{campaign_experiment=customers/*/campaignExperiments/*}:end',
+ 'body' => '*',
+ 'placeholders' => [
+ 'campaign_experiment' => [
+ 'getters' => [
+ 'getCampaignExperiment',
+ ],
+ ],
+ ],
+ ],
+ 'ListCampaignExperimentAsyncErrors' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignExperiments/*}:listAsyncErrors',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_client_config.json
new file mode 100644
index 000000000..c5f1e528f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignExtensionSettingService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignExtensionSetting": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignExtensionSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_descriptor_config.php
new file mode 100644
index 000000000..59fbbc1e8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignExtensionSettingService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_rest_client_config.php
new file mode 100644
index 000000000..ebed06030
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_extension_setting_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignExtensionSettingService' => [
+ 'GetCampaignExtensionSetting' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignExtensionSettings/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignExtensionSettings' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignExtensionSettings:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_client_config.json
new file mode 100644
index 000000000..af2ae883b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignFeedService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignFeed": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignFeeds": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_descriptor_config.php
new file mode 100644
index 000000000..b29a3f7d0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignFeedService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_rest_client_config.php
new file mode 100644
index 000000000..df29a54b5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_feed_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignFeedService' => [
+ 'GetCampaignFeed' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignFeeds/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignFeeds' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignFeeds:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_client_config.json
new file mode 100644
index 000000000..6019d1788
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignLabelService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignLabel": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignLabels": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_descriptor_config.php
new file mode 100644
index 000000000..92a91efbb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignLabelService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_rest_client_config.php
new file mode 100644
index 000000000..6bcfe3c12
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_label_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignLabelService' => [
+ 'GetCampaignLabel' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignLabels/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignLabels' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignLabels:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_client_config.json
new file mode 100644
index 000000000..5c0bdca5b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaign": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaigns": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_descriptor_config.php
new file mode 100644
index 000000000..ef297e631
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_rest_client_config.php
new file mode 100644
index 000000000..6864ac3ea
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignService' => [
+ 'GetCampaign' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaigns/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaigns' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaigns:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_client_config.json
new file mode 100644
index 000000000..8fa445f68
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CampaignSharedSetService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCampaignSharedSet": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCampaignSharedSets": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_descriptor_config.php
new file mode 100644
index 000000000..b5049ec55
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignSharedSetService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_rest_client_config.php
new file mode 100644
index 000000000..01c68bb8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/campaign_shared_set_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CampaignSharedSetService' => [
+ 'GetCampaignSharedSet' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/campaignSharedSets/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCampaignSharedSets' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/campaignSharedSets:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_client_config.json
new file mode 100644
index 000000000..bfd939532
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CarrierConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCarrierConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_descriptor_config.php
new file mode 100644
index 000000000..bf070983b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CarrierConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_rest_client_config.php
new file mode 100644
index 000000000..785bc82ee
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/carrier_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.CarrierConstantService' => [
+ 'GetCarrierConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=carrierConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_client_config.json
new file mode 100644
index 000000000..73728ffd5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ChangeStatusService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetChangeStatus": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_descriptor_config.php
new file mode 100644
index 000000000..0dccb26b6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ChangeStatusService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_rest_client_config.php
new file mode 100644
index 000000000..c307458ca
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/change_status_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ChangeStatusService' => [
+ 'GetChangeStatus' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/changeStatus/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_client_config.json
new file mode 100644
index 000000000..613313bf2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ClickViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetClickView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_descriptor_config.php
new file mode 100644
index 000000000..fc9ca88a0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ClickViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_rest_client_config.php
new file mode 100644
index 000000000..c133f4004
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/click_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ClickViewService' => [
+ 'GetClickView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/clickViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_client_config.json
new file mode 100644
index 000000000..e4dbce34b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ConversionActionService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetConversionAction": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateConversionActions": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_descriptor_config.php
new file mode 100644
index 000000000..c6eba9c65
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ConversionActionService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_rest_client_config.php
new file mode 100644
index 000000000..37d8b7906
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_action_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.ConversionActionService' => [
+ 'GetConversionAction' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/conversionActions/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateConversionActions' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/conversionActions:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_client_config.json
new file mode 100644
index 000000000..97ffc2c3b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ConversionAdjustmentUploadService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "UploadConversionAdjustments": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_descriptor_config.php
new file mode 100644
index 000000000..4f1ee8948
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ConversionAdjustmentUploadService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_rest_client_config.php
new file mode 100644
index 000000000..38d5ed9db
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_adjustment_upload_service_rest_client_config.php
@@ -0,0 +1,79 @@
+ [
+ 'google.ads.googleads.v2.services.ConversionAdjustmentUploadService' => [
+ 'UploadConversionAdjustments' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}:uploadConversionAdjustments',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_client_config.json
new file mode 100644
index 000000000..bf0b9093b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ConversionUploadService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "UploadClickConversions": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "UploadCallConversions": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_descriptor_config.php
new file mode 100644
index 000000000..44a3a83b7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ConversionUploadService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_rest_client_config.php
new file mode 100644
index 000000000..5a0c277b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/conversion_upload_service_rest_client_config.php
@@ -0,0 +1,91 @@
+ [
+ 'google.ads.googleads.v2.services.ConversionUploadService' => [
+ 'UploadClickConversions' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}:uploadClickConversions',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'UploadCallConversions' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}:uploadCallConversions',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_client_config.json
new file mode 100644
index 000000000..d8744a2fc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomInterestService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomInterest": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomInterests": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_descriptor_config.php
new file mode 100644
index 000000000..87b029ec1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomInterestService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_rest_client_config.php
new file mode 100644
index 000000000..17d379f05
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/custom_interest_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomInterestService' => [
+ 'GetCustomInterest' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customInterests/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomInterests' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customInterests:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_client_config.json
new file mode 100644
index 000000000..49583a6ef
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerClientLinkService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerClientLink": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomerClientLink": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_descriptor_config.php
new file mode 100644
index 000000000..066fd3973
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerClientLinkService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_rest_client_config.php
new file mode 100644
index 000000000..293ea41c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_link_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerClientLinkService' => [
+ 'GetCustomerClientLink' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerClientLinks/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomerClientLink' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customerClientLinks:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_client_config.json
new file mode 100644
index 000000000..9cba02d97
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerClientService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerClient": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_descriptor_config.php
new file mode 100644
index 000000000..048998b6f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerClientService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_rest_client_config.php
new file mode 100644
index 000000000..6014bd391
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_client_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerClientService' => [
+ 'GetCustomerClient' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerClients/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_client_config.json
new file mode 100644
index 000000000..3551e3a8c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerExtensionSettingService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerExtensionSetting": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomerExtensionSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_descriptor_config.php
new file mode 100644
index 000000000..51f4fefda
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerExtensionSettingService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_rest_client_config.php
new file mode 100644
index 000000000..99dec7446
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_extension_setting_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerExtensionSettingService' => [
+ 'GetCustomerExtensionSetting' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerExtensionSettings/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomerExtensionSettings' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customerExtensionSettings:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_client_config.json
new file mode 100644
index 000000000..c933e1ac4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerFeedService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerFeed": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomerFeeds": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_descriptor_config.php
new file mode 100644
index 000000000..f851125f3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerFeedService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_rest_client_config.php
new file mode 100644
index 000000000..5fb07a602
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_feed_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerFeedService' => [
+ 'GetCustomerFeed' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerFeeds/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomerFeeds' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customerFeeds:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_client_config.json
new file mode 100644
index 000000000..fd99decc0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerLabelService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerLabel": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomerLabels": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_descriptor_config.php
new file mode 100644
index 000000000..693192d8d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerLabelService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_rest_client_config.php
new file mode 100644
index 000000000..e4ee7132b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_label_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerLabelService' => [
+ 'GetCustomerLabel' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerLabels/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomerLabels' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customerLabels:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_client_config.json
new file mode 100644
index 000000000..ed3af2a40
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerManagerLinkService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerManagerLink": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomerManagerLink": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_descriptor_config.php
new file mode 100644
index 000000000..2fc6695fc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerManagerLinkService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_rest_client_config.php
new file mode 100644
index 000000000..407b79c64
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_manager_link_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerManagerLinkService' => [
+ 'GetCustomerManagerLink' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerManagerLinks/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomerManagerLink' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customerManagerLinks:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_client_config.json
new file mode 100644
index 000000000..bd36a9ff2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerNegativeCriterionService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomerNegativeCriterion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomerNegativeCriteria": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_descriptor_config.php
new file mode 100644
index 000000000..669dd9a0f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerNegativeCriterionService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_rest_client_config.php
new file mode 100644
index 000000000..a4dde80e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_negative_criterion_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerNegativeCriterionService' => [
+ 'GetCustomerNegativeCriterion' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/customerNegativeCriteria/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomerNegativeCriteria' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/customerNegativeCriteria:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_client_config.json
new file mode 100644
index 000000000..da6bcbd55
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_client_config.json
@@ -0,0 +1,46 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.CustomerService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetCustomer": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateCustomer": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "ListAccessibleCustomers": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateCustomerClient": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_descriptor_config.php
new file mode 100644
index 000000000..7d00ea237
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_rest_client_config.php
new file mode 100644
index 000000000..45fdb75cd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/customer_service_rest_client_config.php
@@ -0,0 +1,106 @@
+ [
+ 'google.ads.googleads.v2.services.CustomerService' => [
+ 'GetCustomer' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateCustomer' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'ListAccessibleCustomers' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/customers:listAccessibleCustomers',
+ ],
+ 'CreateCustomerClient' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}:createCustomerClient',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_client_config.json
new file mode 100644
index 000000000..e4d22730b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.DetailPlacementViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetDetailPlacementView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_descriptor_config.php
new file mode 100644
index 000000000..ece7ac499
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.DetailPlacementViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_rest_client_config.php
new file mode 100644
index 000000000..1071f0ed1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/detail_placement_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.DetailPlacementViewService' => [
+ 'GetDetailPlacementView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/detailPlacementViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_client_config.json
new file mode 100644
index 000000000..31eb994e1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.DisplayKeywordViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetDisplayKeywordView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_descriptor_config.php
new file mode 100644
index 000000000..3f834f783
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.DisplayKeywordViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_rest_client_config.php
new file mode 100644
index 000000000..d31aa6006
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/display_keyword_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.DisplayKeywordViewService' => [
+ 'GetDisplayKeywordView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/displayKeywordViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_client_config.json
new file mode 100644
index 000000000..86398c9c8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.DistanceViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetDistanceView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_descriptor_config.php
new file mode 100644
index 000000000..7a0ce1943
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.DistanceViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_rest_client_config.php
new file mode 100644
index 000000000..a26128038
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/distance_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.DistanceViewService' => [
+ 'GetDistanceView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/distanceViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_client_config.json
new file mode 100644
index 000000000..6e87502a9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.DomainCategoryService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetDomainCategory": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_descriptor_config.php
new file mode 100644
index 000000000..db29c21fe
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.DomainCategoryService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_rest_client_config.php
new file mode 100644
index 000000000..967d371d3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/domain_category_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.DomainCategoryService' => [
+ 'GetDomainCategory' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/domainCategories/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_client_config.json
new file mode 100644
index 000000000..d12b739db
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.DynamicSearchAdsSearchTermViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetDynamicSearchAdsSearchTermView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_descriptor_config.php
new file mode 100644
index 000000000..aac54fad4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.DynamicSearchAdsSearchTermViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_rest_client_config.php
new file mode 100644
index 000000000..db012bedd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/dynamic_search_ads_search_term_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.DynamicSearchAdsSearchTermViewService' => [
+ 'GetDynamicSearchAdsSearchTermView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/dynamicSearchAdsSearchTermViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_client_config.json
new file mode 100644
index 000000000..7b6f8d029
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ExpandedLandingPageViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetExpandedLandingPageView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_descriptor_config.php
new file mode 100644
index 000000000..5e21e8b7f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ExpandedLandingPageViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_rest_client_config.php
new file mode 100644
index 000000000..ca757a385
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/expanded_landing_page_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ExpandedLandingPageViewService' => [
+ 'GetExpandedLandingPageView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/expandedLandingPageViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_client_config.json
new file mode 100644
index 000000000..38ec6f7df
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ExtensionFeedItemService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetExtensionFeedItem": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateExtensionFeedItems": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_descriptor_config.php
new file mode 100644
index 000000000..2f5c6b3c7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ExtensionFeedItemService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_rest_client_config.php
new file mode 100644
index 000000000..7f872aa76
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/extension_feed_item_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.ExtensionFeedItemService' => [
+ 'GetExtensionFeedItem' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/extensionFeedItems/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateExtensionFeedItems' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/extensionFeedItems:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_client_config.json
new file mode 100644
index 000000000..289ca5253
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.FeedItemService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetFeedItem": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateFeedItems": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_descriptor_config.php
new file mode 100644
index 000000000..7c2124667
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.FeedItemService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_rest_client_config.php
new file mode 100644
index 000000000..3ba37d2d9
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.FeedItemService' => [
+ 'GetFeedItem' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/feedItems/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateFeedItems' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/feedItems:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_client_config.json
new file mode 100644
index 000000000..a00fa80bc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.FeedItemTargetService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetFeedItemTarget": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateFeedItemTargets": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_descriptor_config.php
new file mode 100644
index 000000000..512b0c5bd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.FeedItemTargetService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_rest_client_config.php
new file mode 100644
index 000000000..6a8b807f4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_item_target_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.FeedItemTargetService' => [
+ 'GetFeedItemTarget' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/feedItemTargets/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateFeedItemTargets' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/feedItemTargets:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_client_config.json
new file mode 100644
index 000000000..76aab8cf6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.FeedMappingService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetFeedMapping": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateFeedMappings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_descriptor_config.php
new file mode 100644
index 000000000..c712b9409
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.FeedMappingService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_rest_client_config.php
new file mode 100644
index 000000000..c4b2c81fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_mapping_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.FeedMappingService' => [
+ 'GetFeedMapping' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/feedMappings/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateFeedMappings' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/feedMappings:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_client_config.json
new file mode 100644
index 000000000..92214a448
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.FeedPlaceholderViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetFeedPlaceholderView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_descriptor_config.php
new file mode 100644
index 000000000..1103b6064
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.FeedPlaceholderViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_rest_client_config.php
new file mode 100644
index 000000000..cfceb4f43
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_placeholder_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.FeedPlaceholderViewService' => [
+ 'GetFeedPlaceholderView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/feedPlaceholderViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_client_config.json
new file mode 100644
index 000000000..029976c24
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.FeedService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetFeed": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateFeeds": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_descriptor_config.php
new file mode 100644
index 000000000..adf06761a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.FeedService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_rest_client_config.php
new file mode 100644
index 000000000..ea2649462
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/feed_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.FeedService' => [
+ 'GetFeed' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/feeds/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateFeeds' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/feeds:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_client_config.json
new file mode 100644
index 000000000..130a86229
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.GenderViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetGenderView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_descriptor_config.php
new file mode 100644
index 000000000..9d834832a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.GenderViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_rest_client_config.php
new file mode 100644
index 000000000..9957ff7cb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/gender_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.GenderViewService' => [
+ 'GetGenderView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/genderViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_client_config.json
new file mode 100644
index 000000000..5581050c1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.GeoTargetConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetGeoTargetConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "SuggestGeoTargetConstants": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_descriptor_config.php
new file mode 100644
index 000000000..1d90a527f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.GeoTargetConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_rest_client_config.php
new file mode 100644
index 000000000..76866466d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/geo_target_constant_service_rest_client_config.php
@@ -0,0 +1,83 @@
+ [
+ 'google.ads.googleads.v2.services.GeoTargetConstantService' => [
+ 'GetGeoTargetConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=geoTargetConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'SuggestGeoTargetConstants' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/geoTargetConstants:suggest',
+ 'body' => '*',
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_client_config.json
new file mode 100644
index 000000000..0c28c044d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.GeographicViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetGeographicView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_descriptor_config.php
new file mode 100644
index 000000000..10667a8fa
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.GeographicViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_rest_client_config.php
new file mode 100644
index 000000000..398e718fb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/geographic_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.GeographicViewService' => [
+ 'GetGeographicView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/geographicViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_client_config.json
new file mode 100644
index 000000000..c8edcda47
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.GoogleAdsFieldService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetGoogleAdsField": {
+ "timeout_millis": 600000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "SearchGoogleAdsFields": {
+ "timeout_millis": 600000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_descriptor_config.php
new file mode 100644
index 000000000..b0d25ff03
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_descriptor_config.php
@@ -0,0 +1,18 @@
+ [
+ 'google.ads.googleads.v2.services.GoogleAdsFieldService' => [
+ 'SearchGoogleAdsFields' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getResults',
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_rest_client_config.php
new file mode 100644
index 000000000..c6bfe73ab
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_field_service_rest_client_config.php
@@ -0,0 +1,83 @@
+ [
+ 'google.ads.googleads.v2.services.GoogleAdsFieldService' => [
+ 'GetGoogleAdsField' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=googleAdsFields/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'SearchGoogleAdsFields' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/googleAdsFields:search',
+ 'body' => '*',
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_client_config.json
new file mode 100644
index 000000000..950e48527
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.GoogleAdsService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "Search": {
+ "timeout_millis": 3600000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "Mutate": {
+ "timeout_millis": 600000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_descriptor_config.php
new file mode 100644
index 000000000..4dcae78b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_descriptor_config.php
@@ -0,0 +1,18 @@
+ [
+ 'google.ads.googleads.v2.services.GoogleAdsService' => [
+ 'Search' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getResults',
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_rest_client_config.php
new file mode 100644
index 000000000..0f34dc71c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/google_ads_service_rest_client_config.php
@@ -0,0 +1,91 @@
+ [
+ 'google.ads.googleads.v2.services.GoogleAdsService' => [
+ 'Search' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/googleAds:search',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'Mutate' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/googleAds:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_client_config.json
new file mode 100644
index 000000000..33d8e558b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.GroupPlacementViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetGroupPlacementView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_descriptor_config.php
new file mode 100644
index 000000000..95b6660bf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.GroupPlacementViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_rest_client_config.php
new file mode 100644
index 000000000..8bffe7a91
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/group_placement_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.GroupPlacementViewService' => [
+ 'GetGroupPlacementView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/groupPlacementViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_client_config.json
new file mode 100644
index 000000000..4a035e1e7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.HotelGroupViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetHotelGroupView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_descriptor_config.php
new file mode 100644
index 000000000..8dfa0e8f7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.HotelGroupViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_rest_client_config.php
new file mode 100644
index 000000000..004c93575
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_group_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.HotelGroupViewService' => [
+ 'GetHotelGroupView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/hotelGroupViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_client_config.json
new file mode 100644
index 000000000..458bef457
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.HotelPerformanceViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetHotelPerformanceView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_descriptor_config.php
new file mode 100644
index 000000000..b23bc24f5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.HotelPerformanceViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_rest_client_config.php
new file mode 100644
index 000000000..c75c19cc1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/hotel_performance_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.HotelPerformanceViewService' => [
+ 'GetHotelPerformanceView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/hotelPerformanceView}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_client_config.json
new file mode 100644
index 000000000..997432c62
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordPlanAdGroupService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetKeywordPlanAdGroup": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateKeywordPlanAdGroups": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_descriptor_config.php
new file mode 100644
index 000000000..edb7c03bb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanAdGroupService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_rest_client_config.php
new file mode 100644
index 000000000..5b401b19f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_ad_group_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanAdGroupService' => [
+ 'GetKeywordPlanAdGroup' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/keywordPlanAdGroups/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateKeywordPlanAdGroups' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/keywordPlanAdGroups:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_client_config.json
new file mode 100644
index 000000000..9c65eb88a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordPlanCampaignService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetKeywordPlanCampaign": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateKeywordPlanCampaigns": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_descriptor_config.php
new file mode 100644
index 000000000..2ab0bafd8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanCampaignService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_rest_client_config.php
new file mode 100644
index 000000000..04b632a4b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_campaign_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanCampaignService' => [
+ 'GetKeywordPlanCampaign' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/keywordPlanCampaigns/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateKeywordPlanCampaigns' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/keywordPlanCampaigns:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_client_config.json
new file mode 100644
index 000000000..6170c1d94
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordPlanIdeaService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GenerateKeywordIdeas": {
+ "timeout_millis": 600000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_descriptor_config.php
new file mode 100644
index 000000000..e88151f9c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanIdeaService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_rest_client_config.php
new file mode 100644
index 000000000..3daff58b6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_idea_service_rest_client_config.php
@@ -0,0 +1,79 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanIdeaService' => [
+ 'GenerateKeywordIdeas' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}:generateKeywordIdeas',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_client_config.json
new file mode 100644
index 000000000..0337fa968
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordPlanKeywordService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetKeywordPlanKeyword": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateKeywordPlanKeywords": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_descriptor_config.php
new file mode 100644
index 000000000..7bedce951
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanKeywordService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_rest_client_config.php
new file mode 100644
index 000000000..247ffb774
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_keyword_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanKeywordService' => [
+ 'GetKeywordPlanKeyword' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/keywordPlanKeywords/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateKeywordPlanKeywords' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/keywordPlanKeywords:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_client_config.json
new file mode 100644
index 000000000..0c4488c42
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetKeywordPlanNegativeKeyword": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateKeywordPlanNegativeKeywords": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_descriptor_config.php
new file mode 100644
index 000000000..432de22eb
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_rest_client_config.php
new file mode 100644
index 000000000..0b24c1eba
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_negative_keyword_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService' => [
+ 'GetKeywordPlanNegativeKeyword' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/keywordPlanNegativeKeywords/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateKeywordPlanNegativeKeywords' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/keywordPlanNegativeKeywords:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_client_config.json
new file mode 100644
index 000000000..700c4a933
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_client_config.json
@@ -0,0 +1,46 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordPlanService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetKeywordPlan": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateKeywordPlans": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GenerateForecastMetrics": {
+ "timeout_millis": 600000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "GenerateHistoricalMetrics": {
+ "timeout_millis": 600000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_descriptor_config.php
new file mode 100644
index 000000000..f7da133c5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_rest_client_config.php
new file mode 100644
index 000000000..042d8f5e2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_plan_service_rest_client_config.php
@@ -0,0 +1,114 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordPlanService' => [
+ 'GetKeywordPlan' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/keywordPlans/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateKeywordPlans' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/keywordPlans:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'GenerateForecastMetrics' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics',
+ 'body' => '*',
+ 'placeholders' => [
+ 'keyword_plan' => [
+ 'getters' => [
+ 'getKeywordPlan',
+ ],
+ ],
+ ],
+ ],
+ 'GenerateHistoricalMetrics' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics',
+ 'body' => '*',
+ 'placeholders' => [
+ 'keyword_plan' => [
+ 'getters' => [
+ 'getKeywordPlan',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_client_config.json
new file mode 100644
index 000000000..336430297
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.KeywordViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetKeywordView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_descriptor_config.php
new file mode 100644
index 000000000..a40bf313b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_rest_client_config.php
new file mode 100644
index 000000000..5464b154b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/keyword_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.KeywordViewService' => [
+ 'GetKeywordView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/keywordViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_client_config.json
new file mode 100644
index 000000000..63046f588
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.LabelService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetLabel": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateLabels": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_descriptor_config.php
new file mode 100644
index 000000000..03517305a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.LabelService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_rest_client_config.php
new file mode 100644
index 000000000..e5c67513d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/label_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.LabelService' => [
+ 'GetLabel' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/labels/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateLabels' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/labels:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_client_config.json
new file mode 100644
index 000000000..23755c2a4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.LandingPageViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetLandingPageView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_descriptor_config.php
new file mode 100644
index 000000000..a76acd089
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.LandingPageViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_rest_client_config.php
new file mode 100644
index 000000000..c30eaa3a2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/landing_page_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.LandingPageViewService' => [
+ 'GetLandingPageView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/landingPageViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_client_config.json
new file mode 100644
index 000000000..f2ed4cc5e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.LanguageConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetLanguageConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_descriptor_config.php
new file mode 100644
index 000000000..44a490d43
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.LanguageConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_rest_client_config.php
new file mode 100644
index 000000000..fec9938b2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/language_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.LanguageConstantService' => [
+ 'GetLanguageConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=languageConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_client_config.json
new file mode 100644
index 000000000..bb46c80e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.LocationViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetLocationView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_descriptor_config.php
new file mode 100644
index 000000000..8fda25743
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.LocationViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_rest_client_config.php
new file mode 100644
index 000000000..e50c4132f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/location_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.LocationViewService' => [
+ 'GetLocationView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/locationViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_client_config.json
new file mode 100644
index 000000000..a9b3389fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ManagedPlacementViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetManagedPlacementView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_descriptor_config.php
new file mode 100644
index 000000000..b388e689f
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ManagedPlacementViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_rest_client_config.php
new file mode 100644
index 000000000..d18583a4b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/managed_placement_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ManagedPlacementViewService' => [
+ 'GetManagedPlacementView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/managedPlacementViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_client_config.json
new file mode 100644
index 000000000..e42eaf117
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.MediaFileService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetMediaFile": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateMediaFiles": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_descriptor_config.php
new file mode 100644
index 000000000..40de70c92
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.MediaFileService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_rest_client_config.php
new file mode 100644
index 000000000..067a5b848
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/media_file_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.MediaFileService' => [
+ 'GetMediaFile' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/mediaFiles/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateMediaFiles' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/mediaFiles:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_client_config.json
new file mode 100644
index 000000000..0702284e6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_client_config.json
@@ -0,0 +1,41 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.MerchantCenterLinkService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "ListMerchantCenterLinks": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "GetMerchantCenterLink": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateMerchantCenterLink": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_descriptor_config.php
new file mode 100644
index 000000000..f194be63b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.MerchantCenterLinkService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_rest_client_config.php
new file mode 100644
index 000000000..7c79620f5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/merchant_center_link_service_rest_client_config.php
@@ -0,0 +1,101 @@
+ [
+ 'google.ads.googleads.v2.services.MerchantCenterLinkService' => [
+ 'ListMerchantCenterLinks' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/merchantCenterLinks',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'GetMerchantCenterLink' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/merchantCenterLinks/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateMerchantCenterLink' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/merchantCenterLinks:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_client_config.json
new file mode 100644
index 000000000..b881a6922
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.MobileAppCategoryConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetMobileAppCategoryConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_descriptor_config.php
new file mode 100644
index 000000000..d6ae133e3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.MobileAppCategoryConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_rest_client_config.php
new file mode 100644
index 000000000..3221d8a50
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_app_category_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.MobileAppCategoryConstantService' => [
+ 'GetMobileAppCategoryConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=mobileAppCategoryConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_client_config.json
new file mode 100644
index 000000000..af34898c6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.MobileDeviceConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetMobileDeviceConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_descriptor_config.php
new file mode 100644
index 000000000..d118d7432
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.MobileDeviceConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_rest_client_config.php
new file mode 100644
index 000000000..d1348192e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mobile_device_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.MobileDeviceConstantService' => [
+ 'GetMobileDeviceConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=mobileDeviceConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_client_config.json
new file mode 100644
index 000000000..354185b60
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_client_config.json
@@ -0,0 +1,51 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.MutateJobService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "CreateMutateJob": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GetMutateJob": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ListMutateJobResults": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "RunMutateJob": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "AddMutateJobOperations": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_descriptor_config.php
new file mode 100644
index 000000000..9f54653fc
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_descriptor_config.php
@@ -0,0 +1,28 @@
+ [
+ 'google.ads.googleads.v2.services.MutateJobService' => [
+ 'RunMutateJob' => [
+ 'longRunning' => [
+ 'operationReturnType' => '\Google\Protobuf\GPBEmpty',
+ 'metadataReturnType' => '\Google\Ads\GoogleAds\V2\Resources\MutateJob\MutateJobMetadata',
+ 'initialPollDelayMillis' => '500',
+ 'pollDelayMultiplier' => '1.5',
+ 'maxPollDelayMillis' => '5000',
+ 'totalPollTimeoutMillis' => '300000',
+ ],
+ ],
+ 'ListMutateJobResults' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getResults',
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_rest_client_config.php
new file mode 100644
index 000000000..3cc0080f7
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/mutate_job_service_rest_client_config.php
@@ -0,0 +1,125 @@
+ [
+ 'google.ads.googleads.v2.services.MutateJobService' => [
+ 'CreateMutateJob' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/mutateJobs:create',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'GetMutateJob' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/mutateJobs/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'ListMutateJobResults' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/mutateJobs/*}:listResults',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'RunMutateJob' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/mutateJobs/*}:run',
+ 'body' => '*',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'AddMutateJobOperations' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/mutateJobs/*}:addOperations',
+ 'body' => '*',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_client_config.json
new file mode 100644
index 000000000..01ff15ccf
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.OperatingSystemVersionConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetOperatingSystemVersionConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_descriptor_config.php
new file mode 100644
index 000000000..460f51eb5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.OperatingSystemVersionConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_rest_client_config.php
new file mode 100644
index 000000000..bbb4ef2fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/operating_system_version_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.OperatingSystemVersionConstantService' => [
+ 'GetOperatingSystemVersionConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=operatingSystemVersionConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_client_config.json
new file mode 100644
index 000000000..9f6d7278d
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.PaidOrganicSearchTermViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetPaidOrganicSearchTermView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_descriptor_config.php
new file mode 100644
index 000000000..c222e0270
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.PaidOrganicSearchTermViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_rest_client_config.php
new file mode 100644
index 000000000..7ebd21f38
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/paid_organic_search_term_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.PaidOrganicSearchTermViewService' => [
+ 'GetPaidOrganicSearchTermView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/paidOrganicSearchTermViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_client_config.json
new file mode 100644
index 000000000..39b12062a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ParentalStatusViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetParentalStatusView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_descriptor_config.php
new file mode 100644
index 000000000..3ca626b2e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ParentalStatusViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_rest_client_config.php
new file mode 100644
index 000000000..a6ff92275
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/parental_status_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ParentalStatusViewService' => [
+ 'GetParentalStatusView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/parentalStatusViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_client_config.json
new file mode 100644
index 000000000..b5165a859
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.PaymentsAccountService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "ListPaymentsAccounts": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_descriptor_config.php
new file mode 100644
index 000000000..781de4fa1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.PaymentsAccountService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_rest_client_config.php
new file mode 100644
index 000000000..afaf6748e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/payments_account_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.PaymentsAccountService' => [
+ 'ListPaymentsAccounts' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/paymentsAccounts',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_client_config.json
new file mode 100644
index 000000000..3dde64969
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ProductBiddingCategoryConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetProductBiddingCategoryConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_descriptor_config.php
new file mode 100644
index 000000000..40a7a1cc5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ProductBiddingCategoryConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_rest_client_config.php
new file mode 100644
index 000000000..2858a21f4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/product_bidding_category_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ProductBiddingCategoryConstantService' => [
+ 'GetProductBiddingCategoryConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=productBiddingCategoryConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_client_config.json
new file mode 100644
index 000000000..ba52e74b8
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ProductGroupViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetProductGroupView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_descriptor_config.php
new file mode 100644
index 000000000..454e33aa2
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ProductGroupViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_rest_client_config.php
new file mode 100644
index 000000000..4f466c97e
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/product_group_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ProductGroupViewService' => [
+ 'GetProductGroupView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/productGroupViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_client_config.json
new file mode 100644
index 000000000..73d2a3e7b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_client_config.json
@@ -0,0 +1,41 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.RecommendationService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetRecommendation": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ApplyRecommendation": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "DismissRecommendation": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_descriptor_config.php
new file mode 100644
index 000000000..2740078fd
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.RecommendationService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_rest_client_config.php
new file mode 100644
index 000000000..5e711c663
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/recommendation_service_rest_client_config.php
@@ -0,0 +1,102 @@
+ [
+ 'google.ads.googleads.v2.services.RecommendationService' => [
+ 'GetRecommendation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/recommendations/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'ApplyRecommendation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/recommendations:apply',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ 'DismissRecommendation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/recommendations:dismiss',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_client_config.json
new file mode 100644
index 000000000..3b4f59f8a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.RemarketingActionService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetRemarketingAction": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateRemarketingActions": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_descriptor_config.php
new file mode 100644
index 000000000..90d02a4c1
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.RemarketingActionService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_rest_client_config.php
new file mode 100644
index 000000000..390f16005
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/remarketing_action_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.RemarketingActionService' => [
+ 'GetRemarketingAction' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/remarketingActions/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateRemarketingActions' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/remarketingActions:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_client_config.json
new file mode 100644
index 000000000..6228f28d6
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.SearchTermViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetSearchTermView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_descriptor_config.php
new file mode 100644
index 000000000..103f47252
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.SearchTermViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_rest_client_config.php
new file mode 100644
index 000000000..479ac9713
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/search_term_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.SearchTermViewService' => [
+ 'GetSearchTermView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/searchTermViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_client_config.json
new file mode 100644
index 000000000..513b219af
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.SharedCriterionService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetSharedCriterion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateSharedCriteria": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_descriptor_config.php
new file mode 100644
index 000000000..01741ffda
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.SharedCriterionService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_rest_client_config.php
new file mode 100644
index 000000000..144edf596
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_criterion_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.SharedCriterionService' => [
+ 'GetSharedCriterion' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/sharedCriteria/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateSharedCriteria' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/sharedCriteria:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_client_config.json
new file mode 100644
index 000000000..28c625549
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.SharedSetService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetSharedSet": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateSharedSets": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_descriptor_config.php
new file mode 100644
index 000000000..b581e75ef
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.SharedSetService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_rest_client_config.php
new file mode 100644
index 000000000..fd654c01c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shared_set_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.SharedSetService' => [
+ 'GetSharedSet' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/sharedSets/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateSharedSets' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/sharedSets:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_client_config.json
new file mode 100644
index 000000000..ce1125336
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.ShoppingPerformanceViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetShoppingPerformanceView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_descriptor_config.php
new file mode 100644
index 000000000..412095257
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.ShoppingPerformanceViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_rest_client_config.php
new file mode 100644
index 000000000..1bd02c0b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/shopping_performance_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.ShoppingPerformanceViewService' => [
+ 'GetShoppingPerformanceView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/shoppingPerformanceView}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_client_config.json
new file mode 100644
index 000000000..9fe55469a
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.TopicConstantService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetTopicConstant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_descriptor_config.php
new file mode 100644
index 000000000..670c1a4b4
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.TopicConstantService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_rest_client_config.php
new file mode 100644
index 000000000..27e02077c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_constant_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.TopicConstantService' => [
+ 'GetTopicConstant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=topicConstants/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_client_config.json
new file mode 100644
index 000000000..dbd59ec2b
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.TopicViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetTopicView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_descriptor_config.php
new file mode 100644
index 000000000..cf741e956
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.TopicViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_rest_client_config.php
new file mode 100644
index 000000000..1890503a5
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/topic_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.TopicViewService' => [
+ 'GetTopicView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/topicViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_client_config.json
new file mode 100644
index 000000000..81aed3b62
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.UserInterestService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetUserInterest": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_descriptor_config.php
new file mode 100644
index 000000000..9580c32b0
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.UserInterestService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_rest_client_config.php
new file mode 100644
index 000000000..1d9df8bee
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_interest_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.UserInterestService' => [
+ 'GetUserInterest' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/userInterests/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_client_config.json
new file mode 100644
index 000000000..c66125046
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_client_config.json
@@ -0,0 +1,36 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.UserListService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetUserList": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "MutateUserLists": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_descriptor_config.php
new file mode 100644
index 000000000..feafad585
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.UserListService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_rest_client_config.php
new file mode 100644
index 000000000..45f7c43ed
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_list_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.ads.googleads.v2.services.UserListService' => [
+ 'GetUserList' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/userLists/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ 'MutateUserLists' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/customers/{customer_id=*}/userLists:mutate',
+ 'body' => '*',
+ 'placeholders' => [
+ 'customer_id' => [
+ 'getters' => [
+ 'getCustomerId',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_client_config.json
new file mode 100644
index 000000000..01369d887
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.UserLocationViewService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetUserLocationView": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_descriptor_config.php
new file mode 100644
index 000000000..cc71a87ce
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.UserLocationViewService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_rest_client_config.php
new file mode 100644
index 000000000..edb8a966c
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/user_location_view_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.UserLocationViewService' => [
+ 'GetUserLocationView' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/userLocationViews/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_client_config.json b/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_client_config.json
new file mode 100644
index 000000000..c593a3999
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_client_config.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "google.ads.googleads.v2.services.VideoService": {
+ "retry_codes": {
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ],
+ "non_idempotent": []
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 5000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 3600000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 3600000,
+ "total_timeout_millis": 3600000
+ }
+ },
+ "methods": {
+ "GetVideo": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_descriptor_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_descriptor_config.php
new file mode 100644
index 000000000..6345f95c3
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_descriptor_config.php
@@ -0,0 +1,8 @@
+ [
+ 'google.ads.googleads.v2.services.VideoService' => [
+ ],
+ ],
+];
diff --git a/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_rest_client_config.php b/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_rest_client_config.php
new file mode 100644
index 000000000..555f5b8de
--- /dev/null
+++ b/src/Google/Ads/GoogleAds/V2/Services/resources/video_service_rest_client_config.php
@@ -0,0 +1,78 @@
+ [
+ 'google.ads.googleads.v2.services.VideoService' => [
+ 'GetVideo' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{resource_name=customers/*/videos/*}',
+ 'placeholders' => [
+ 'resource_name' => [
+ 'getters' => [
+ 'getResourceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'google.longrunning.Operations' => [
+ 'CancelOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:cancel',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteOperation' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetOperation' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOperations' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=customers/*/operations}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'WaitOperation' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=customers/*/operations/*}:wait',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilderTest.php b/tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilderTest.php
new file mode 100644
index 000000000..8c3cbee50
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientBuilderTest.php
@@ -0,0 +1,309 @@
+googleAdsClientBuilder = new GoogleAdsClientBuilder();
+ $this->fetchAuthTokenInterfaceMock = $this
+ ->getMockBuilder(FetchAuthTokenInterface::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::from
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ */
+ public function testBuildClientFromConfiguration()
+ {
+ $valueMap = [
+ /* Config name, section, value */
+ ['developerToken', 'GOOGLE_ADS', self::$DEVELOPER_TOKEN],
+ ['loginCustomerId', 'GOOGLE_ADS', self::$LOGIN_CUSTOMER_ID],
+ ['endpoint', 'GOOGLE_ADS', 'https://abc.xyz:443'],
+ ['proxy', 'CONNECTION', 'https://localhost:8080']
+ ];
+ $configurationMock = $this->getMockBuilder(Configuration::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $configurationMock->expects($this->any())
+ ->method('getConfiguration')
+ ->will($this->returnValueMap($valueMap));
+
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->from($configurationMock)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame(self::$DEVELOPER_TOKEN, $googleAdsClient->getDeveloperToken());
+ $this->assertSame(self::$LOGIN_CUSTOMER_ID, $googleAdsClient->getLoginCustomerId());
+ $this->assertSame('https://abc.xyz:443', $googleAdsClient->getEndpoint());
+ $this->assertSame('https://localhost:8080', $googleAdsClient->getProxy());
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::from
+ */
+ public function testBuildFromDefaults()
+ {
+ $valueMap = [
+ ['developerToken', 'GOOGLE_ADS', self::$DEVELOPER_TOKEN]
+ ];
+ $configurationMock = $this->getMockBuilder(Configuration::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $configurationMock->expects($this->any())
+ ->method('getConfiguration')
+ ->will($this->returnValueMap($valueMap));
+
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->from($configurationMock)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame(
+ self::$DEVELOPER_TOKEN,
+ $googleAdsClient->getDeveloperToken()
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @expectedException \InvalidArgumentException
+ */
+ public function testBuildFailsWithoutDeveloperToken()
+ {
+ $this->googleAdsClientBuilder
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @expectedException \InvalidArgumentException
+ */
+ public function testBuildFailsWithInvalidEndpointUrl()
+ {
+ $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withEndpoint('http://:999')
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @expectedException \InvalidArgumentException
+ */
+ public function testBuildFailsWithoutOAuth2Credential()
+ {
+ $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->build();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @dataProvider provideInvalidProxyURIs
+ * @expectedException \InvalidArgumentException
+ */
+ public function testBuildFailsWithInvalidProxyUri($invalidProxyUri)
+ {
+ $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withProxy($invalidProxyUri)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+ }
+
+
+ public function provideInvalidProxyURIs()
+ {
+ return [
+ ['foo'],
+ ['http://'],
+ ['foo.com'],
+ ['http://.com']
+ ];
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ */
+ public function testBuild()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withLoginCustomerId(self::$LOGIN_CUSTOMER_ID)
+ ->withEndpoint('abc.xyz.com')
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame(self::$DEVELOPER_TOKEN, $googleAdsClient->getDeveloperToken());
+ $this->assertSame(self::$LOGIN_CUSTOMER_ID, $googleAdsClient->getLoginCustomerId());
+ $this->assertSame('abc.xyz.com', $googleAdsClient->getEndpoint());
+ $this->assertInstanceOf(
+ FetchAuthTokenInterface::class,
+ $googleAdsClient->getOAuth2Credential()
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ */
+ public function testBuildDefaults()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame(self::$DEVELOPER_TOKEN, $googleAdsClient->getDeveloperToken());
+ $this->assertInstanceOf(
+ FetchAuthTokenInterface::class,
+ $googleAdsClient->getOAuth2Credential()
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ */
+ public function testBuildWithLoginCustomerId()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withLoginCustomerId(self::$LOGIN_CUSTOMER_ID)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame(self::$LOGIN_CUSTOMER_ID, $googleAdsClient->getLoginCustomerId());
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ */
+ public function testBuildWithNullLoginCustomerId()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withLoginCustomerId(null)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+ $this->assertNull($googleAdsClient->getLoginCustomerId());
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @expectedException \InvalidArgumentException
+ */
+ public function testBuildWithNegativeLoginCustomerId()
+ {
+ $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withLoginCustomerId(-1)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @dataProvider provideValidProxyURIs
+ */
+ public function testBuildWithValidProxyURIs(string $proxy)
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withProxy($proxy)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame($proxy, $googleAdsClient->getProxy());
+ }
+
+ public function provideValidProxyURIs()
+ {
+ return [
+ ['http://localhost:8080'],
+ ['http://user:pass@localhost:8080'],
+ ['https://localhost:8080'],
+ ['https://user:pass@localhost:8080']
+ ];
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ */
+ public function testBuildWithoutLogLevelSetsDefault()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->build();
+
+ $this->assertSame(LogLevel::INFO, $googleAdsClient->getLogLevel());
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @expectedException \InvalidArgumentException
+ */
+ public function testBuildWithInvalidLogLevelThrowsException()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->withLogLevel("banana")
+ ->build();
+ }
+
+ public function testBuildWithLowercaseLogLevel()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->withLogLevel("debug")
+ ->build();
+
+ $this->assertSame(LogLevel::DEBUG, $googleAdsClient->getLogLevel());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientTest.php b/tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientTest.php
new file mode 100644
index 000000000..1ae385fc7
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Lib/V2/GoogleAdsClientTest.php
@@ -0,0 +1,114 @@
+googleAdsClientBuilder = new GoogleAdsClientBuilder();
+ $this->fetchAuthTokenInterfaceMock = $this
+ ->getMockBuilder(FetchAuthTokenInterface::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClient::getGoogleAdsClientOptions
+ */
+ public function testGetClientOptions()
+ {
+ $googleAdsClient = $this->googleAdsClientBuilder
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withLoginCustomerId(self::$LOGIN_CUSTOMER_ID)
+ ->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->withLogger(new Logger('', [new NullHandler()]))
+ ->withProxy(self::$PROXY)
+ ->build();
+ $clientOptions = $googleAdsClient->getGoogleAdsClientOptions();
+
+ $this->assertSame(
+ $this->fetchAuthTokenInterfaceMock,
+ $clientOptions[self::$CREDENTIALS_LOADER_KEY]
+ );
+ $this->assertSame(
+ self::$DEVELOPER_TOKEN,
+ $clientOptions[self::$DEVELOPER_TOKEN_KEY]
+ );
+ $this->assertSame(
+ self::$LOGIN_CUSTOMER_ID,
+ $clientOptions[self::$LOGIN_CUSTOMER_ID_KEY]
+ );
+ $this->assertInstanceOf(
+ GoogleAdsLoggingInterceptor::class,
+ $clientOptions['transportConfig']['grpc']['interceptors'][0]
+ );
+ $this->assertSame(
+ getenv('http_proxy'),
+ self::$PROXY
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClientBuilder::build
+ * @covers \Google\Ads\GoogleAds\Lib\GoogleAdsClient::getGoogleAdsClientOptions
+ */
+ public function testNullLoginCustomerIdNotAppearInClientOptions()
+ {
+ $googleAdsClient =
+ $this->googleAdsClientBuilder->withOAuth2Credential($this->fetchAuthTokenInterfaceMock)
+ ->withDeveloperToken(self::$DEVELOPER_TOKEN)
+ ->withLoginCustomerId(null)
+ ->build();
+
+ $this->assertArrayNotHasKey(
+ self::$LOGIN_CUSTOMER_ID_KEY,
+ $googleAdsClient->getGoogleAdsClientOptions()
+ );
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatterTest.php b/tests/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatterTest.php
new file mode 100644
index 000000000..72815bca3
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Lib/V2/LogMessageFormatterTest.php
@@ -0,0 +1,322 @@
+createSuccessRequestResponse();
+ $this->createFailureRequestResponse();
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\LogMessageFormatter::formatSummary()
+ */
+ public function testFormatSummary()
+ {
+ $logMessageFormatter = new LogMessageFormatter();
+
+ $actualOutput = $logMessageFormatter->formatSummary(
+ $this->successRequest,
+ $this->successResponse,
+ 'googleads.api.com'
+ );
+
+ $this->assertContains('RequestId: "AbCdEfGh"', $actualOutput);
+ $this->assertContains('Method: "GoogleAdsService/Search"', $actualOutput);
+ $this->assertContains('ClientCustomerId: 1234567890', $actualOutput);
+ $this->assertContains('Host: "googleads.api.com"', $actualOutput);
+ $this->assertContains('IsFault: 0', $actualOutput);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\LogMessageFormatter::formatSummary()
+ */
+ public function testFormatSummaryWithFailureRequest()
+ {
+ $mockStatusMetadataExtractor = $this->getMockBuilder(StatusMetadataExtractor::class)
+ ->disableOriginalConstructor()
+ ->disableOriginalClone()
+ ->disableArgumentCloning()
+ ->getMock();
+ $mockStatusMetadataExtractor->method('extractErrorMessageList')->willReturn(
+ ['Authentication of the request failed.']
+ );
+ $logMessageFormatter = new LogMessageFormatter($mockStatusMetadataExtractor);
+
+ $actualOutput = $logMessageFormatter->formatSummary(
+ $this->failureRequest,
+ $this->failureResponse,
+ 'googleads.api.com'
+ );
+
+ $this->assertContains('RequestId: "AbCdEfGhIJk"', $actualOutput);
+ $this->assertContains('Method: "GoogleAdsService/Search"', $actualOutput);
+ $this->assertContains('ClientCustomerId: 1234567890', $actualOutput);
+ $this->assertContains('Host: "googleads.api.com"', $actualOutput);
+ $this->assertContains('IsFault: 1', $actualOutput);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\LogMessageFormatter::formatSummary()
+ */
+ public function testFormatSummaryWithNoCustomerIdInRequest()
+ {
+ $this->createRequestWithNoCustomerId();
+ $logMessageFormatter = new LogMessageFormatter();
+
+ $actualOutput = $logMessageFormatter->formatSummary(
+ $this->noCustomerIdRequest,
+ $this->noCustomerIdResponse,
+ 'googleads.api.com'
+ );
+
+ $this->assertContains('RequestId: "AbCdEfGh"', $actualOutput);
+ $this->assertContains(
+ 'Method: "GeoTargetConstantService/SuggestGeoTargetConstants"',
+ $actualOutput
+ );
+ $this->assertContains('Host: "googleads.api.com"', $actualOutput);
+ $this->assertContains('IsFault: 0', $actualOutput);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\LogMessageFormatter::formatDetail()
+ */
+ public function testFormatDetail()
+ {
+ $logMessageFormatter = new LogMessageFormatter();
+
+ $actualOutput = $logMessageFormatter->formatDetail(
+ $this->successRequest,
+ $this->successResponse,
+ 'googleads.api.com'
+ );
+
+ $this->assertContains('"request-id": "AbCdEfGh"', $actualOutput);
+ $this->assertContains('"developer-token": "REDACTED"', $actualOutput);
+ $this->assertContains('Method Name: GoogleAdsService/Search', $actualOutput);
+ $this->assertContains(
+ 'Request: {"customerId":"1234567890","query":"SELECT campaign.id FROM campaign"}',
+ $actualOutput
+ );
+ $this->assertContains('Host: googleads.api.com', $actualOutput);
+ $this->assertContains(
+ 'Response: {"results":[{"campaign":{"id":"1"}},{"campaign":{"id":"2"}},'
+ . '{"campaign":{"id":"3"}}]}',
+ $actualOutput
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Lib\LogMessageFormatter::formatDetail()
+ */
+ public function testFormatDetailWithFailureRequest()
+ {
+ $mockStatusMetadataExtractor = $this->getMockBuilder(StatusMetadataExtractor::class)
+ ->disableOriginalConstructor()
+ ->disableOriginalClone()
+ ->disableArgumentCloning()
+ ->getMock();
+ $mockStatusMetadataExtractor->method('extractGoogleAdsFailure')->willReturn(
+ new GoogleAdsFailure(
+ [
+ 'errors' => [
+ new GoogleAdsError(
+ [
+ 'error_code' => new ErrorCode(['authentication_error' => 2]),
+ 'message' => 'Authentication of the request failed.'
+ ]
+ )
+ ]
+ ]
+ )
+ );
+ $logMessageFormatter = new LogMessageFormatter($mockStatusMetadataExtractor);
+
+ $actualOutput = $logMessageFormatter->formatDetail(
+ $this->failureRequest,
+ $this->failureResponse,
+ 'googleads.api.com'
+ );
+
+ $this->assertContains('"request-id": "AbCdEfGhIJk"', $actualOutput);
+ $this->assertContains('"developer-token": "REDACTED"', $actualOutput);
+ $this->assertContains('Method Name: GoogleAdsService/Search', $actualOutput);
+ $this->assertContains(
+ 'Request: {"customerId":"1234567890","query":"SELECT campaign.id FROM campaign"}',
+ $actualOutput
+ );
+ $this->assertContains(
+ 'Details: Request is missing required authentication credential. Expected OAuth '
+ . '2 access token, login cookie or other valid authentication credential.',
+ $actualOutput
+ );
+ $this->assertContains('"authenticationError":"AUTHENTICATION_ERROR"', $actualOutput);
+ $this->assertContains('Host: googleads.api.com', $actualOutput);
+ }
+
+ private function createSuccessRequestResponse()
+ {
+ $method = 'GoogleAdsService/Search';
+ $argument = new SearchGoogleAdsRequest(
+ ['customer_id' => 1234567890, 'query' => 'SELECT campaign.id FROM campaign']
+ );
+ $metadata = ['developer-token' => ['a1b2c3']];
+
+ $status = new stdClass();
+ $status->code = 0;
+ $status->metadata = [
+ 'request-id' => ['AbCdEfGh']
+ ];
+
+ $googleAdsRows = [
+ new GoogleAdsRow(
+ ['campaign' => new Campaign(['id' => new Int64Value(['value' => 1])])]
+ ),
+ new GoogleAdsRow(
+ ['campaign' => new Campaign(['id' => new Int64Value(['value' => 2])])]
+ ),
+ new GoogleAdsRow(['campaign' => new Campaign(['id' => new Int64Value(['value' => 3])])])
+ ];
+ $response = new SearchGoogleAdsResponse(['results' => $googleAdsRows]);
+
+ $unaryCall = $this->getMockBuilder(UnaryCall::class)
+ ->disableOriginalConstructor()
+ ->disableOriginalClone()
+ ->disableArgumentCloning()
+ ->getMock();
+ $unaryCall->method('getMetadata')->willReturn(
+ ['request-id' => ['AbCdEfGh'], 'x-google-session-info' => ['1234abcd']]
+ );
+
+ $this->successRequest = compact('method', 'argument', 'metadata');
+ $this->successResponse = compact('status', 'response', 'unaryCall');
+ }
+
+ private function createRequestWithNoCustomerId()
+ {
+ $method = 'GeoTargetConstantService/SuggestGeoTargetConstants';
+ $argument = new SuggestGeoTargetConstantsRequest([
+ 'location_names' => new LocationNames(
+ ['names' => [new StringValue(['value' => 'Paris'])]]
+ )
+ ]);
+ $metadata = ['developer-token' => ['a1b2c3']];
+
+ $status = new stdClass();
+ $status->code = 0;
+ $status->metadata = [
+ 'request-id' => ['AbCdEfGh']
+ ];
+
+ $geoTargetConstantSuggestions = [
+ new GeoTargetConstantSuggestion([
+ 'locale' => new StringValue(['value' => 'US']),
+ 'reach' => new Int64Value(['value' => 30000]),
+ 'search_term' => new StringValue(['value' => 'Paris']),
+ 'geo_target_constant' => new GeoTargetConstant([
+ 'id' => new Int64Value(['value' => 1006094])
+ ])
+ ]),
+ ];
+ $response = new SuggestGeoTargetConstantsResponse(
+ ['geo_target_constant_suggestions' => $geoTargetConstantSuggestions]
+ );
+
+ $unaryCall = $this->getMockBuilder(UnaryCall::class)
+ ->disableOriginalConstructor()
+ ->disableOriginalClone()
+ ->disableArgumentCloning()
+ ->getMock();
+ $unaryCall->method('getMetadata')->willReturn(
+ ['request-id' => ['AbCdEfGh'], 'x-google-session-info' => ['1234abcd']]
+ );
+
+ $this->noCustomerIdRequest = compact('method', 'argument', 'metadata');
+ $this->noCustomerIdResponse = compact('status', 'response', 'unaryCall');
+ }
+
+ private function createFailureRequestResponse()
+ {
+ $method = 'GoogleAdsService/Search';
+ $argument = new SearchGoogleAdsRequest(
+ ['customer_id' => 1234567890, 'query' => 'SELECT campaign.id FROM campaign']
+ );
+ $metadata = ['developer-token' => ['a1b2c3']];
+
+ $status = new stdClass();
+ $status->code = 16;
+ $status->metadata = [
+ 'request-id' => ['AbCdEfGhIJk']
+ ];
+ $status->details =
+ 'Request is missing required authentication credential. Expected OAuth 2 access token,'
+ . ' login cookie or other valid authentication credential.';
+
+ $response = new SearchGoogleAdsResponse(['results' => []]);
+
+ $unaryCall = $this->getMockBuilder(UnaryCall::class)
+ ->disableOriginalConstructor()
+ ->disableOriginalClone()
+ ->disableArgumentCloning()
+ ->getMock();
+ $unaryCall->method('getMetadata')->willReturn(
+ ['request-id' => ['AbCdEfGhIJk'], 'x-google-session-info' => ['1234abcd']]
+ );
+
+ $this->failureRequest = compact('method', 'argument', 'metadata');
+ $this->failureResponse = compact('status', 'response', 'unaryCall');
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/Util/V1/GoogleAdsFailuresTest.php b/tests/Google/Ads/GoogleAds/Util/V1/GoogleAdsFailuresTest.php
index 1e9d3d84a..193737256 100644
--- a/tests/Google/Ads/GoogleAds/Util/V1/GoogleAdsFailuresTest.php
+++ b/tests/Google/Ads/GoogleAds/Util/V1/GoogleAdsFailuresTest.php
@@ -29,7 +29,7 @@ public function testFromAny()
{
$any = new Any();
$any->pack(new GoogleAdsFailure());
-
+
$this->assertInstanceOf(GoogleAdsFailure::class, GoogleAdsFailures::fromAny($any));
}
@@ -38,7 +38,7 @@ public function testFromAnyContainingInvalidTypeWillThrowException()
$this->expectException(\InvalidArgumentException::class);
$any = new Any();
$any->pack(new GoogleAdsError());
-
+
GoogleAdsFailures::fromAny($any);
}
diff --git a/tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrorsTest.php b/tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrorsTest.php
new file mode 100644
index 000000000..dc9cb31df
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsErrorsTest.php
@@ -0,0 +1,108 @@
+failure = new GoogleAdsFailure([
+ "errors" => [
+ new GoogleAdsError([
+ "message" => "A test message.",
+ "location" => new ErrorLocation([
+ "field_path_elements" => [
+ new FieldPathElement([
+ "index" => 0,
+ "field_name" => "operations"
+ ])
+ ]
+ ])
+ ])
+ ]
+ ]);
+
+ $any = new Any();
+ $any->pack($this->failure);
+ $this->status = new Status([
+ 'details' => [$any]
+ ]);
+ }
+
+ public function testFromStatusWithNoErrors()
+ {
+ $emptyStatus = new Status(['details' => []]);
+ $errors = GoogleAdsErrors::fromStatus(0, $emptyStatus);
+ $this->assertCount(0, $errors);
+ }
+
+ public function testFromStatusWithSingleError()
+ {
+ $errors = GoogleAdsErrors::fromStatus(0, $this->status);
+ $this->assertCount(1, $errors);
+
+ $expectedMessage = "A test message.";
+ $this->assertEquals($expectedMessage, $errors[0]->getMessage());
+ }
+
+ public function testFromStatusWithInvalidOperationIndex()
+ {
+ $errors = GoogleAdsErrors::fromStatus(1, $this->status);
+ $this->assertCount(0, $errors);
+ }
+
+ public function testFromFailureWithNoErrors()
+ {
+ $emptyFailure = new GoogleAdsFailure(['errors' => []]);
+ $errors = GoogleAdsErrors::fromFailure(0, $emptyFailure);
+ $this->assertCount(0, $errors);
+ }
+
+ public function testFromFailureWithSingleError()
+ {
+ $errors = GoogleAdsErrors::fromFailure(0, $this->failure);
+ $this->assertCount(1, $errors);
+
+ $expectedMessage = "A test message.";
+ $this->assertEquals($expectedMessage, $errors[0]->getMessage());
+ }
+
+ public function testFromFailureWithInvalidOperationIndex()
+ {
+ $errors = GoogleAdsErrors::fromFailure(1, $this->failure);
+ $this->assertCount(0, $errors);
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailuresTest.php b/tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailuresTest.php
new file mode 100644
index 000000000..aaa18ef13
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Util/V2/GoogleAdsFailuresTest.php
@@ -0,0 +1,60 @@
+pack(new GoogleAdsFailure());
+
+ $this->assertInstanceOf(GoogleAdsFailure::class, GoogleAdsFailures::fromAny($any));
+ }
+
+ public function testFromAnyContainingInvalidTypeWillThrowException()
+ {
+ $this->expectException(\InvalidArgumentException::class);
+ $any = new Any();
+ $any->pack(new GoogleAdsError());
+
+ GoogleAdsFailures::fromAny($any);
+ }
+
+ public function testFromEmptyStatus()
+ {
+ $this->assertCount(0, GoogleAdsFailures::fromStatus(new Status()));
+ }
+
+ public function testFromStatusWithSingleFailure()
+ {
+ $any = new Any();
+ $any->pack(new GoogleAdsFailure());
+
+ $status = new Status(['details' => [$any]]);
+ $failures = GoogleAdsFailures::fromStatus($status);
+ $this->assertCount(1, $failures);
+ $this->assertInstanceOf(GoogleAdsFailure::class, $failures[0]);
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/Util/V2/PartialFailuresTest.php b/tests/Google/Ads/GoogleAds/Util/V2/PartialFailuresTest.php
new file mode 100644
index 000000000..075e016c0
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Util/V2/PartialFailuresTest.php
@@ -0,0 +1,45 @@
+assertTrue(PartialFailures::isPartialFailure($emptyMessage));
+ }
+
+ public function testNotPartialFailure()
+ {
+ $someMessage = new Status(['message' => 'a']);
+
+ $this->assertFalse(PartialFailures::isPartialFailure($someMessage));
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/Util/V2/ResourceNamesTest.php b/tests/Google/Ads/GoogleAds/Util/V2/ResourceNamesTest.php
new file mode 100644
index 000000000..10ad3cbb9
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/Util/V2/ResourceNamesTest.php
@@ -0,0 +1,2163 @@
+assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAccountBudgetProposal(self::CUSTOMER_ID, $accountBudgetProposalId)
+ );
+
+ $names = AccountBudgetProposalServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($accountBudgetProposalId, $names['account_budget_proposal']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAccountBudget()
+ */
+ public function testGetNameForAccountBudget()
+ {
+ $accountBudgetId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/accountBudgets/%s', self::CUSTOMER_ID, $accountBudgetId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAccountBudget(self::CUSTOMER_ID, $accountBudgetId)
+ );
+
+ $names = AccountBudgetServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($accountBudgetId, $names['account_budget']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupAdLabel()
+ */
+ public function testGetNameForAdGroupAdLabel()
+ {
+ $adGroupId = 111111;
+ $adId = 222222;
+ $labelId = 333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupAdLabels/%s~%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $adId,
+ $labelId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupAdLabel(self::CUSTOMER_ID, $adGroupId, $adId, $labelId)
+ );
+
+ $names = AdGroupAdLabelServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$adId}~{$labelId}", $names['ad_group_ad_label']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupAd()
+ */
+ public function testGetNameForAdGroupAd()
+ {
+ $adGroupId = 111111;
+ $adId = 22222;
+ $expectedResourceName =
+ sprintf('customers/%s/adGroupAds/%s~%s', self::CUSTOMER_ID, $adGroupId, $adId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupAd(self::CUSTOMER_ID, $adGroupId, $adId)
+ );
+
+ $names = AdGroupAdServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$adId}", $names['ad_group_ad']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupAudienceView()
+ */
+ public function testGetNameForAdGroupAudienceView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupAudienceViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupAudienceView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ )
+ );
+
+ $names = AdGroupAudienceViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['ad_group_audience_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupBidModifier()
+ */
+ public function testGetNameForAdGroupBidModifier()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupBidModifiers/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupBidModifier(self::CUSTOMER_ID, $adGroupId, $criterionId)
+ );
+
+ $names = AdGroupBidModifierServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['ad_group_bid_modifier']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupCriterionLabel()
+ */
+ public function testGetNameForAdGroupCriterionLabel()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $labelId = 4444444;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupCriterionLabels/%s~%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId,
+ $labelId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupCriterionLabel(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId,
+ $labelId
+ )
+ );
+
+ $names = AdGroupCriterionLabelServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$adGroupId}~{$criterionId}~{$labelId}",
+ $names['ad_group_criterion_label']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupCriterion()
+ */
+ public function testGetNameForAdGroupCriterion()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupCriteria/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupCriterion(self::CUSTOMER_ID, $adGroupId, $criterionId)
+ );
+
+ $names = AdGroupCriterionServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['ad_group_criteria']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupCriterionSimulation()
+ */
+ public function testGetNameForAdGroupCriterionSimulation()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $type = 4444444;
+ $modificationMethod = 5555555;
+ $startDate = 66666666;
+ $endDate = 7777777;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupCriterionSimulations/%s~%s~%s~%s~%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId,
+ $type,
+ $modificationMethod,
+ $startDate,
+ $endDate
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupCriterionSimulation(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId,
+ $type,
+ $modificationMethod,
+ $startDate,
+ $endDate
+ )
+ );
+
+ $names = AdGroupCriterionSimulationServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$adGroupId}~{$criterionId}~{$type}~{$modificationMethod}~{$startDate}~{$endDate}",
+ $names['ad_group_criterion_simulation']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupExtensionSetting()
+ */
+ public function testGetNameForAdGroupExtensionSetting()
+ {
+ $adGroupId = 111111;
+ $extensionType = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupExtensionSettings/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $extensionType
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupExtensionSetting(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $extensionType
+ )
+ );
+
+ $names = AdGroupExtensionSettingServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$extensionType}", $names['ad_group_extension_setting']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupFeed()
+ */
+ public function testGetNameForAdGroupFeed()
+ {
+ $adGroupId = 111111;
+ $feedId = 3333333;
+ $expectedResourceName =
+ sprintf('customers/%s/adGroupFeeds/%s~%s', self::CUSTOMER_ID, $adGroupId, $feedId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupFeed(self::CUSTOMER_ID, $adGroupId, $feedId)
+ );
+
+ $names = AdGroupFeedServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$feedId}", $names['ad_group_feed']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupLabel()
+ */
+ public function testGetNameForAdGroupLabel()
+ {
+ $adGroupId = 111111;
+ $labelId = 3333333;
+ $expectedResourceName =
+ sprintf('customers/%s/adGroupLabels/%s~%s', self::CUSTOMER_ID, $adGroupId, $labelId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupLabel(self::CUSTOMER_ID, $adGroupId, $labelId)
+ );
+
+ $names = AdGroupLabelServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$labelId}", $names['ad_group_label']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroup()
+ */
+ public function testGetNameForAdGroup()
+ {
+ $adGroupId = 111111;
+ $expectedResourceName = sprintf('customers/%s/adGroups/%s', self::CUSTOMER_ID, $adGroupId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroup(self::CUSTOMER_ID, $adGroupId)
+ );
+
+ $names = AdGroupServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($adGroupId, $names['ad_group']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdGroupSimulation()
+ */
+ public function testGetNameForAdGroupSimulation()
+ {
+ $adGroupId = 111111;
+ $type = 4444444;
+ $modificationMethod = 5555555;
+ $startDate = 66666666;
+ $endDate = 7777777;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adGroupSimulations/%s~%s~%s~%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $type,
+ $modificationMethod,
+ $startDate,
+ $endDate
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdGroupSimulation(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $type,
+ $modificationMethod,
+ $startDate,
+ $endDate
+ )
+ );
+
+ $names = AdGroupSimulationServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$adGroupId}~{$type}~{$modificationMethod}~{$startDate}~{$endDate}",
+ $names['ad_group_simulation']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdParameter()
+ */
+ public function testGetNameForAdParameter()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $parameterIndex = 4444444;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adParameters/%s~%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId,
+ $parameterIndex
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdParameter(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId,
+ $parameterIndex
+ )
+ );
+
+ $names = AdParameterServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$adGroupId}~{$criterionId}~{$parameterIndex}",
+ $names['ad_parameter']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAdScheduleView()
+ */
+ public function testGetNameForAdScheduleView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/adScheduleViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAdScheduleView(self::CUSTOMER_ID, $adGroupId, $criterionId)
+ );
+
+ $names = AdScheduleViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['ad_schedule_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAgeRangeView()
+ */
+ public function testGetNameForAgeRangeView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/ageRangeViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAgeRangeView(self::CUSTOMER_ID, $adGroupId, $criterionId)
+ );
+
+ $names = AgeRangeViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['age_range_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forAsset()
+ */
+ public function testGetNameForAsset()
+ {
+ $assetId = 111111;
+ $expectedResourceName = sprintf('customers/%s/assets/%s', self::CUSTOMER_ID, $assetId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forAsset(self::CUSTOMER_ID, $assetId)
+ );
+
+ $names = AssetServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($assetId, $names['asset']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forBiddingStrategy()
+ */
+ public function testGetNameForBiddingStrategy()
+ {
+ $biddingStrategyId = 4444444;
+ $expectedResourceName =
+ sprintf('customers/%s/biddingStrategies/%s', self::CUSTOMER_ID, $biddingStrategyId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forBiddingStrategy(self::CUSTOMER_ID, $biddingStrategyId)
+ );
+
+ $names = BiddingStrategyServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($biddingStrategyId, $names['bidding_strategy']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forBillingSetup()
+ */
+ public function testGetNameForBillingSetup()
+ {
+ $billingSetupId = 4444444;
+ $expectedResourceName =
+ sprintf('customers/%s/billingSetups/%s', self::CUSTOMER_ID, $billingSetupId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forBillingSetup(self::CUSTOMER_ID, $billingSetupId)
+ );
+
+ $names = BillingSetupServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($billingSetupId, $names['billing_setup']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignAudienceView()
+ */
+ public function testGetNameForCampaignAudienceView()
+ {
+ $campaignId = 111111;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignAudienceViews/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignAudienceView(self::CUSTOMER_ID, $campaignId, $criterionId)
+ );
+
+ $names = CampaignAudienceViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaignId}~{$criterionId}", $names['campaign_audience_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignBidModifier()
+ */
+ public function testGetNameForCampaignBidModifier()
+ {
+ $campaignId = 111111;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignBidModifiers/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignBidModifier(self::CUSTOMER_ID, $campaignId, $criterionId)
+ );
+
+ $names = CampaignBidModifierServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaignId}~{$criterionId}", $names['campaign_bid_modifier']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignBudget()
+ */
+ public function testGetNameForCampaignBudget()
+ {
+ $budgetId = 555555;
+ $expectedResourceName =
+ sprintf('customers/%s/campaignBudgets/%s', self::CUSTOMER_ID, $budgetId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignBudget(self::CUSTOMER_ID, $budgetId)
+ );
+
+ $names = CampaignBudgetServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($budgetId, $names['campaign_budget']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignCriterion()
+ */
+ public function testGetNameForCampaignCriterion()
+ {
+ $campaignId = 66666666;
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignCriteria/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignCriterion(self::CUSTOMER_ID, $campaignId, $criterionId)
+ );
+
+ $names = CampaignCriterionServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaignId}~{$criterionId}", $names['campaign_criteria']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignCriterionSimulation()
+ */
+ public function testGetNameForCampaignCriterionSimulation()
+ {
+ $campaignId = 111111;
+ $criterionId = 3333333;
+ $type = 4444444;
+ $modificationMethod = 5555555;
+ $startDate = 66666666;
+ $endDate = 7777777;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignCriterionSimulations/%s~%s~%s~%s~%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $criterionId,
+ $type,
+ $modificationMethod,
+ $startDate,
+ $endDate
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignCriterionSimulation(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $criterionId,
+ $type,
+ $modificationMethod,
+ $startDate,
+ $endDate
+ )
+ );
+
+ $names = CampaignCriterionSimulationServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$campaignId}~{$criterionId}~{$type}~{$modificationMethod}~{$startDate}~{$endDate}",
+ $names['campaign_criterion_simulation']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignDraft()
+ */
+ public function testGetNameForCampaignDraft()
+ {
+ $baseCampaignId = 111111;
+ $draftId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignDrafts/%s~%s',
+ self::CUSTOMER_ID,
+ $baseCampaignId,
+ $draftId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignDraft(self::CUSTOMER_ID, $baseCampaignId, $draftId)
+ );
+
+ $names = CampaignDraftServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$baseCampaignId}~{$draftId}", $names['campaign_draft']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignExperiment()
+ */
+ public function testGetNameForCampaignExperiment()
+ {
+ $campaignExperimentId = 66666666;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignExperiments/%s',
+ self::CUSTOMER_ID,
+ $campaignExperimentId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignExperiment(self::CUSTOMER_ID, $campaignExperimentId)
+ );
+
+ $names = CampaignExperimentServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($campaignExperimentId, $names['campaign_experiment']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignExtensionSetting()
+ */
+ public function testGetNameForCampaignExtensionSetting()
+ {
+ $campaignId = 111111;
+ $extensionType = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignExtensionSettings/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $extensionType
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignExtensionSetting(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $extensionType
+ )
+ );
+
+ $names = CampaignExtensionSettingServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$campaignId}~{$extensionType}",
+ $names['campaign_extension_setting']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignFeed()
+ */
+ public function testGetNameForCampaignFeed()
+ {
+ $campaignId = 111111;
+ $feedId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignFeeds/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $feedId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignFeed(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $feedId
+ )
+ );
+
+ $names = CampaignFeedServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaignId}~{$feedId}", $names['campaign_feed']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignLabel()
+ */
+ public function testGetNameForCampaignLabel()
+ {
+ $campaignId = 111111;
+ $labelId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignLabels/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $labelId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignLabel(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $labelId
+ )
+ );
+
+ $names = CampaignLabelServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaignId}~{$labelId}", $names['campaign_label']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaign()
+ */
+ public function testGetNameForCampaign()
+ {
+ $campaignId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/campaigns/%s', self::CUSTOMER_ID, $campaignId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaign(self::CUSTOMER_ID, $campaignId)
+ );
+
+ $names = CampaignServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($campaignId, $names['campaign']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCampaignSharedSet()
+ */
+ public function testGetNameForCampaignSharedSet()
+ {
+ $campaignId = 111111;
+ $sharedSetId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/campaignSharedSets/%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $sharedSetId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCampaignSharedSet(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $sharedSetId
+ )
+ );
+
+ $names = CampaignSharedSetServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaignId}~{$sharedSetId}", $names['campaign_shared_set']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCarrierConstant()
+ */
+ public function testGetNameForCarrierConstant()
+ {
+ $criterionId = 3333333;
+ $expectedResourceName = sprintf('carrierConstants/%s', $criterionId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCarrierConstant($criterionId)
+ );
+
+ $names = CarrierConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($criterionId, $names['carrier_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forChangeStatus()
+ */
+ public function testGetNameForChangeStatus()
+ {
+ $changeStatusId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/changeStatus/%s', self::CUSTOMER_ID, $changeStatusId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forChangeStatus(self::CUSTOMER_ID, $changeStatusId)
+ );
+
+ $names = ChangeStatusServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($changeStatusId, $names['change_status']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forClickView()
+ */
+ public function testGetNameForClickView()
+ {
+ $date = '2019-05-29';
+ $gclId = 3333333;
+ $expectedResourceName =
+ sprintf('customers/%s/clickViews/%s~%s', self::CUSTOMER_ID, $date, $gclId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forClickView(self::CUSTOMER_ID, $date, $gclId)
+ );
+
+ $names = ClickViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$date}~{$gclId}", $names['click_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forConversionAction()
+ */
+ public function testGetNameForConversionAction()
+ {
+ $conversionActionId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/conversionActions/%s', self::CUSTOMER_ID, $conversionActionId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forConversionAction(self::CUSTOMER_ID, $conversionActionId)
+ );
+
+ $names = ConversionActionServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($conversionActionId, $names['conversion_action']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomInterest()
+ */
+ public function testGetNameForCustomInterest()
+ {
+ $customInterestId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/customInterests/%s', self::CUSTOMER_ID, $customInterestId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomInterest(self::CUSTOMER_ID, $customInterestId)
+ );
+
+ $names = CustomInterestServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($customInterestId, $names['custom_interest']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerClientLink()
+ */
+ public function testGetNameForCustomerClientLink()
+ {
+ $clientCustomerId = 111111;
+ $managerLinkId = 3333333;
+ $expectedResourceName = sprintf(
+ 'customers/%s/customerClientLinks/%s~%s',
+ self::CUSTOMER_ID,
+ $clientCustomerId,
+ $managerLinkId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomerClientLink(
+ self::CUSTOMER_ID,
+ $clientCustomerId,
+ $managerLinkId
+ )
+ );
+
+ $names = CustomerClientLinkServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$clientCustomerId}~{$managerLinkId}",
+ $names['customer_client_link']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerClient()
+ */
+ public function testGetNameForCustomerClient()
+ {
+ $customerClientId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/customerClients/%s', self::CUSTOMER_ID, $customerClientId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomerClient(self::CUSTOMER_ID, $customerClientId)
+ );
+
+ $names = CustomerClientServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($customerClientId, $names['customer_client']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerExtensionSetting()
+ */
+ public function testGetNameForCustomerExtensionSetting()
+ {
+ $extensionType = 66666666;
+ $expectedResourceName = sprintf(
+ 'customers/%s/customerExtensionSettings/%s',
+ self::CUSTOMER_ID,
+ $extensionType
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomerExtensionSetting(self::CUSTOMER_ID, $extensionType)
+ );
+
+ $names = CustomerExtensionSettingServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($extensionType, $names['customer_extension_setting']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerFeed()
+ */
+ public function testGetNameForCustomerFeed()
+ {
+ $feedId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/customerFeeds/%s', self::CUSTOMER_ID, $feedId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomerFeed(self::CUSTOMER_ID, $feedId)
+ );
+
+ $names = CustomerFeedServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($feedId, $names['customer_feed']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerLabel()
+ */
+ public function testGetNameForCustomerLabel()
+ {
+ $labelId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/customerLabels/%s', self::CUSTOMER_ID, $labelId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomerLabel(self::CUSTOMER_ID, $labelId)
+ );
+
+ $names = CustomerLabelServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($labelId, $names['customer_label']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerManagerLink()
+ */
+ public function testGetNameForCustomerManagerLink()
+ {
+ $customerManagerId = 111111;
+ $managerLinkId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/customerManagerLinks/%s~%s',
+ self::CUSTOMER_ID,
+ $customerManagerId,
+ $managerLinkId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forCustomerManagerLink(
+ self::CUSTOMER_ID,
+ $customerManagerId,
+ $managerLinkId
+ ));
+
+ $names = CustomerManagerLinkServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$customerManagerId}~{$managerLinkId}",
+ $names['customer_manager_link']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomerNegativeCriterion()
+ */
+ public function testGetNameForCustomerNegativeCriterion()
+ {
+ $criterionId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/customerNegativeCriteria/%s', self::CUSTOMER_ID, $criterionId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomerNegativeCriterion(self::CUSTOMER_ID, $criterionId)
+ );
+
+ $names = CustomerNegativeCriterionServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($criterionId, $names['customer_negative_criteria']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forCustomer()
+ */
+ public function testGetNameForCustomer()
+ {
+ $expectedResourceName = sprintf('customers/%s', self::CUSTOMER_ID);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forCustomer(self::CUSTOMER_ID)
+ );
+
+ $names = CustomerServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forDetailPlacementView()
+ */
+ public function testGetNameForDetailPlacementView()
+ {
+ $adGroupId = 111111;
+ $placement = 'base64';
+ $expectedResourceName = sprintf(
+ 'customers/%s/detailPlacementViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $placement
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forDetailPlacementView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $placement
+ ));
+
+ $names = DetailPlacementViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$placement}", $names['detail_placement_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forDisplayKeywordView()
+ */
+ public function testGetNameForDisplayKeywordView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/displayKeywordViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forDisplayKeywordView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ ));
+
+ $names = DisplayKeywordViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['display_keyword_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forDomainCategory()
+ */
+ public function testGetNameForDomainCategory()
+ {
+ $campaignId = 111111;
+ $category = 'category';
+ $languageCode = 'en';
+ $expectedResourceName = sprintf(
+ 'customers/%s/domainCategories/%s~%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $category,
+ $languageCode
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forDomainCategory(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $category,
+ $languageCode
+ )
+ );
+
+ $names = DomainCategoryServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$campaignId}~{$category}~{$languageCode}",
+ $names['domain_category']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forExpandedLandingPageView()
+ */
+ public function testGetNameForExpandedLandingPageView()
+ {
+ $expandedFinalUrlFingerprint = 'url';
+ $expectedResourceName = sprintf(
+ 'customers/%s/expandedLandingPageViews/%s',
+ self::CUSTOMER_ID,
+ $expandedFinalUrlFingerprint
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forExpandedLandingPageView(
+ self::CUSTOMER_ID,
+ $expandedFinalUrlFingerprint
+ )
+ );
+
+ $names = ExpandedLandingPageViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($expandedFinalUrlFingerprint, $names['expanded_landing_page_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forExtensionFeedItem()
+ */
+ public function testGetNameForExtensionFeedItem()
+ {
+ $feedItemId = 66666666;
+ $expectedResourceName =
+ sprintf('customers/%s/extensionFeedItems/%s', self::CUSTOMER_ID, $feedItemId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forExtensionFeedItem(self::CUSTOMER_ID, $feedItemId)
+ );
+
+ $names = ExtensionFeedItemServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($feedItemId, $names['extension_feed_item']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forFeedItem()
+ */
+ public function testGetNameForFeedItem()
+ {
+ $feedId = 111111;
+ $feedItemId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/feedItems/%s~%s',
+ self::CUSTOMER_ID,
+ $feedId,
+ $feedItemId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forFeedItem(
+ self::CUSTOMER_ID,
+ $feedId,
+ $feedItemId
+ ));
+
+ $names = FeedItemServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$feedId}~{$feedItemId}", $names['feed_item']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forFeedItemTarget()
+ */
+ public function testGetNameForFeedItemTarget()
+ {
+ $feedId = 3333333;
+ $feedItemId = 4444444;
+ $feedItemTargetType = 5555555;
+ $feedItemTargetId = 66666666;
+ $expectedResourceName = sprintf(
+ 'customers/%s/feedItemTargets/%s~%s~%s~%s',
+ self::CUSTOMER_ID,
+ $feedId,
+ $feedItemId,
+ $feedItemTargetType,
+ $feedItemTargetId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forFeedItemTarget(
+ self::CUSTOMER_ID,
+ $feedId,
+ $feedItemId,
+ $feedItemTargetType,
+ $feedItemTargetId
+ )
+ );
+
+ $names = FeedItemTargetServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$feedId}~{$feedItemId}~{$feedItemTargetType}~{$feedItemTargetId}",
+ $names['feed_item_target']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forFeedMapping()
+ */
+ public function testGetNameForFeedMapping()
+ {
+ $feedId = 111111;
+ $feedMappingId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/feedMappings/%s~%s',
+ self::CUSTOMER_ID,
+ $feedId,
+ $feedMappingId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forFeedMapping(
+ self::CUSTOMER_ID,
+ $feedId,
+ $feedMappingId
+ ));
+
+ $names = FeedMappingServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$feedId}~{$feedMappingId}", $names['feed_mapping']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forFeed()
+ */
+ public function testGetNameForFeed()
+ {
+ $feedId = 66666666;
+ $expectedResourceName = sprintf('customers/%s/feeds/%s', self::CUSTOMER_ID, $feedId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forFeed(self::CUSTOMER_ID, $feedId)
+ );
+
+ $names = FeedServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($feedId, $names['feed']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forGenderView()
+ */
+ public function testGetNameForGenderView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/genderViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forGenderView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ ));
+
+ $names = GenderViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['gender_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forGeoTargetConstant()
+ */
+ public function testGetNameForGeoTargetConstant()
+ {
+ $japanTargetConstantId = 2392;
+ $expectedResourceName = sprintf('geoTargetConstants/%s', $japanTargetConstantId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forGeoTargetConstant($japanTargetConstantId)
+ );
+
+ $names = GeoTargetConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($japanTargetConstantId, $names['geo_target_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forGeographicView()
+ */
+ public function testGetNameForGeographicView()
+ {
+ $countryCriterionId = 111111;
+ $locationType = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/geographicViews/%s~%s',
+ self::CUSTOMER_ID,
+ $countryCriterionId,
+ $locationType
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forGeographicView(
+ self::CUSTOMER_ID,
+ $countryCriterionId,
+ $locationType
+ ));
+
+ $names = GeographicViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$countryCriterionId}~{$locationType}", $names['geographic_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forGoogleAdsField()
+ */
+ public function testGetNameForGoogleAdsField()
+ {
+ $name = 'field';
+ $expectedResourceName = sprintf('googleAdsFields/%s', $name);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forGoogleAdsField($name)
+ );
+
+ $names = GoogleAdsFieldServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($name, $names['google_ads_field']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forGroupPlacementView()
+ */
+ public function testGetNameForGroupPlacementView()
+ {
+ $adGroupId = 111111;
+ $placement = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/groupPlacementViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $placement
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forGroupPlacementView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $placement
+ ));
+
+ $names = GroupPlacementViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$placement}", $names['group_placement_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forHotelGroupView()
+ */
+ public function testGetNameForHotelGroupView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/hotelGroupViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forHotelGroupView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ ));
+
+ $names = HotelGroupViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['hotel_group_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forHotelPerformanceView()
+ */
+ public function testGetNameForHotelPerformanceView()
+ {
+ $expectedResourceName = sprintf(
+ 'customers/%s/hotelPerformanceView',
+ self::CUSTOMER_ID
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forHotelPerformanceView(
+ self::CUSTOMER_ID
+ ));
+
+ $names = HotelPerformanceViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forKeywordPlanAdGroup()
+ */
+ public function testGetNameForKeywordPlanAdGroup()
+ {
+ $keywordPlanAdGroupId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/keywordPlanAdGroups/%s',
+ self::CUSTOMER_ID,
+ $keywordPlanAdGroupId
+ );
+
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forKeywordPlanAdGroup(self::CUSTOMER_ID, $keywordPlanAdGroupId)
+ );
+
+ $names = KeywordPlanAdGroupServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($keywordPlanAdGroupId, $names['keyword_plan_ad_group']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forKeywordPlanCampaign()
+ */
+ public function testGetNameForKeywordPlanCampaign()
+ {
+ $keywordPlanCampaignId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/keywordPlanCampaigns/%s',
+ self::CUSTOMER_ID,
+ $keywordPlanCampaignId
+ );
+
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forKeywordPlanCampaign(self::CUSTOMER_ID, $keywordPlanCampaignId)
+ );
+
+ $names = KeywordPlanCampaignServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($keywordPlanCampaignId, $names['keyword_plan_campaign']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forKeywordPlanKeyword()
+ */
+ public function testGetNameForKeywordPlanKeyword()
+ {
+ $keywordPlanKeywordId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/keywordPlanKeywords/%s',
+ self::CUSTOMER_ID,
+ $keywordPlanKeywordId
+ );
+
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forKeywordPlanKeyword(self::CUSTOMER_ID, $keywordPlanKeywordId)
+ );
+
+ $names = KeywordPlanKeywordServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($keywordPlanKeywordId, $names['keyword_plan_keyword']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forKeywordPlanNegativeKeyword()
+ */
+ public function testGetNameForKeywordPlanNegativeKeyword()
+ {
+ $keywordPlanNegativeKeywordId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/keywordPlanNegativeKeywords/%s',
+ self::CUSTOMER_ID,
+ $keywordPlanNegativeKeywordId
+ );
+
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forKeywordPlanNegativeKeyword(
+ self::CUSTOMER_ID,
+ $keywordPlanNegativeKeywordId
+ )
+ );
+
+ $names = KeywordPlanNegativeKeywordServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ $keywordPlanNegativeKeywordId,
+ $names['keyword_plan_negative_keyword']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forKeywordPlan()
+ */
+ public function testGetNameForKeywordPlan()
+ {
+ $keywordPlanId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/keywordPlans/%s',
+ self::CUSTOMER_ID,
+ $keywordPlanId
+ );
+
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forKeywordPlan(self::CUSTOMER_ID, $keywordPlanId)
+ );
+
+ $names = KeywordPlanServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($keywordPlanId, $names['keyword_plan']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forLabel()
+ */
+ public function testGetNameForLabel()
+ {
+ $labelId = 938;
+ $expectedResourceName = sprintf('customers/%s/labels/%s', self::CUSTOMER_ID, $labelId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forLabel(self::CUSTOMER_ID, $labelId)
+ );
+
+ $names = LabelServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($labelId, $names['label']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forLandingPageView()
+ */
+ public function testGetNameForLandingPageView()
+ {
+ $unexpandedFinalUrlFingerprint = 'url';
+ $expectedResourceName = sprintf(
+ 'customers/%s/landingPageViews/%s',
+ self::CUSTOMER_ID,
+ $unexpandedFinalUrlFingerprint
+ );
+
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forLandingPageView(self::CUSTOMER_ID, $unexpandedFinalUrlFingerprint)
+ );
+
+ $names = LandingPageViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($unexpandedFinalUrlFingerprint, $names['landing_page_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forLanguageConstant()
+ */
+ public function testGetNameForLanguageConstant()
+ {
+ $englishLanguageId = 1000;
+ $expectedResourceName = sprintf('languageConstants/%s', $englishLanguageId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forLanguageConstant($englishLanguageId)
+ );
+
+ $names = LanguageConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($englishLanguageId, $names['language_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forLocationView()
+ */
+ public function testGetNameForLocationView()
+ {
+ $campaingId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/locationViews/%s~%s',
+ self::CUSTOMER_ID,
+ $campaingId,
+ $criterionId
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forLocationView(self::CUSTOMER_ID, $campaingId, $criterionId)
+ );
+
+ $names = LocationViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$campaingId}~{$criterionId}", $names['location_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forManagedPlacementView()
+ */
+ public function testGetNameForManagedPlacementView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/managedPlacementViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forManagedPlacementView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ ));
+
+ $names = ManagedPlacementViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['managed_placement_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forMediaFile()
+ */
+ public function testGetNameForMediaFile()
+ {
+ $mediaFileId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/mediaFiles/%s', self::CUSTOMER_ID, $mediaFileId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forMediaFile(self::CUSTOMER_ID, $mediaFileId)
+ );
+
+ $names = MediaFileServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($mediaFileId, $names['media_file']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forMerchantCenterLink()
+ */
+ public function testGetNameForMerchantCenterLink()
+ {
+ $merchantCenterId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/merchantCenterLinks/%s', self::CUSTOMER_ID, $merchantCenterId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forMerchantCenterLink(self::CUSTOMER_ID, $merchantCenterId)
+ );
+
+ $names = MerchantCenterLinkServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($merchantCenterId, $names['merchant_center_link']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forMobileAppCategoryConstant()
+ */
+ public function testGetNameForMobileAppCategoryConstant()
+ {
+ $mobileAppCategoryId = 1000;
+ $expectedResourceName = sprintf('mobileAppCategoryConstants/%s', $mobileAppCategoryId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forMobileAppCategoryConstant($mobileAppCategoryId)
+ );
+
+ $names = MobileAppCategoryConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($mobileAppCategoryId, $names['mobile_app_category_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forMobileDeviceConstant()
+ */
+ public function testGetNameForMobileDeviceConstant()
+ {
+ $criterionId = 1000;
+ $expectedResourceName = sprintf('mobileDeviceConstants/%s', $criterionId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forMobileDeviceConstant($criterionId)
+ );
+
+ $names = MobileDeviceConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($criterionId, $names['mobile_device_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forMutateJob()
+ */
+ public function testGetNameForMutateJob()
+ {
+ $mutateJobId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/mutateJobs/%s', self::CUSTOMER_ID, $mutateJobId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forMutateJob(self::CUSTOMER_ID, $mutateJobId)
+ );
+
+ $names = MutateJobServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($mutateJobId, $names['mutate_job']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forOperatingSystemVersionConstant()
+ */
+ public function testGetNameForOperatingSystemVersionConstant()
+ {
+ $criterionId = 1000;
+ $expectedResourceName = sprintf('operatingSystemVersionConstants/%s', $criterionId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forOperatingSystemVersionConstant($criterionId)
+ );
+
+ $names = OperatingSystemVersionConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($criterionId, $names['operating_system_version_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forPaidOrganicSearchTermView()
+ */
+ public function testGetNameForPaidOrganicSearchTermView()
+ {
+ $campaignId = 111111;
+ $adGroupId = 222222;
+ $searchTerm = 'base64';
+ $expectedResourceName = sprintf(
+ 'customers/%s/paidOrganicSearchTermViews/%s~%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $adGroupId,
+ $searchTerm
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forPaidOrganicSearchTermView(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $adGroupId,
+ $searchTerm
+ )
+ );
+
+ $names = PaidOrganicSearchTermViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$campaignId}~{$adGroupId}~{$searchTerm}",
+ $names['paid_organic_search_term_view']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forParentalStatusView()
+ */
+ public function testGetNameForParentalStatusView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/parentalStatusViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forParentalStatusView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ ));
+
+ $names = ParentalStatusViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['parental_status_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forProductBiddingCategoryConstant()
+ */
+ public function testGetNameForProductBiddingCategoryConstant()
+ {
+ $countryCode = 'US';
+ $level = 222222;
+ $id = 3333333;
+ $expectedResourceName = sprintf(
+ 'productBiddingCategoryConstants/%s~%s~%s',
+ $countryCode,
+ $level,
+ $id
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forProductBiddingCategoryConstant(
+ $countryCode,
+ $level,
+ $id
+ )
+ );
+
+ $names = ProductBiddingCategoryConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(
+ "{$countryCode}~{$level}~{$id}",
+ $names['product_bidding_category_constant']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forProductGroupView()
+ */
+ public function testGetNameForProductGroupView()
+ {
+ $adGroupId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/productGroupViews/%s~%s',
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forProductGroupView(
+ self::CUSTOMER_ID,
+ $adGroupId,
+ $criterionId
+ ));
+
+ $names = ProductGroupViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$adGroupId}~{$criterionId}", $names['product_group_view']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forRecommendation()
+ */
+ public function testGetNameForRecommendation()
+ {
+ $recommendationId = 'a1b2c3d4';
+ $expectedResourceName =
+ sprintf('customers/%s/recommendations/%s', self::CUSTOMER_ID, $recommendationId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forRecommendation(self::CUSTOMER_ID, $recommendationId)
+ );
+
+ $names = RecommendationServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($recommendationId, $names['recommendation']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forRemarketingAction()
+ */
+ public function testGetNameForRemarketingAction()
+ {
+ $remarketingActionId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/remarketingActions/%s', self::CUSTOMER_ID, $remarketingActionId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forRemarketingAction(self::CUSTOMER_ID, $remarketingActionId)
+ );
+
+ $names = RemarketingActionServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($remarketingActionId, $names['remarketing_action']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forSearchTermView()
+ */
+ public function testGetNameForSearchTermView()
+ {
+ $campaignId = 111111;
+ $adGroupId = 222222;
+ $searchTerm = 'base64';
+ $expectedResourceName = sprintf(
+ 'customers/%s/searchTermViews/%s~%s~%s',
+ self::CUSTOMER_ID,
+ $campaignId,
+ $adGroupId,
+ $searchTerm
+ );
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forSearchTermView(
+ self::CUSTOMER_ID,
+ $campaignId,
+ $adGroupId,
+ $searchTerm
+ )
+ );
+
+ $names = SearchTermViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals(
+ "{$campaignId}~{$adGroupId}~{$searchTerm}",
+ $names['search_term_view']
+ );
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forSharedCriterion()
+ */
+ public function testGetNameForSharedCriterion()
+ {
+ $sharedSetId = 111111;
+ $criterionId = 222222;
+ $expectedResourceName = sprintf(
+ 'customers/%s/sharedCriteria/%s~%s',
+ self::CUSTOMER_ID,
+ $sharedSetId,
+ $criterionId
+ );
+ $this->assertEquals($expectedResourceName, ResourceNames::forSharedCriterion(
+ self::CUSTOMER_ID,
+ $sharedSetId,
+ $criterionId
+ ));
+
+ $names = SharedCriterionServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals("{$sharedSetId}~{$criterionId}", $names['shared_criteria']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forSharedSet()
+ */
+ public function testGetNameForSharedSet()
+ {
+ $sharedSetId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/sharedSets/%s', self::CUSTOMER_ID, $sharedSetId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forSharedSet(self::CUSTOMER_ID, $sharedSetId)
+ );
+
+ $names = SharedSetServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($sharedSetId, $names['shared_set']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forShoppingPerformanceView()
+ */
+ public function testGetNameForShoppingPerformanceView()
+ {
+ $expectedResourceName =
+ sprintf('customers/%s/shoppingPerformanceView', self::CUSTOMER_ID);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forShoppingPerformanceView(self::CUSTOMER_ID)
+ );
+
+ $names = ShoppingPerformanceViewServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forTopicConstant()
+ */
+ public function testGetNameForTopicConstant()
+ {
+ $topicId = 222222;
+ $expectedResourceName =
+ sprintf('topicConstants/%s', $topicId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forTopicConstant($topicId)
+ );
+
+ $names = TopicConstantServiceClient::parseName($expectedResourceName);
+ $this->assertEquals($topicId, $names['topic_constant']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forUserInterest()
+ */
+ public function testGetNameForUserInterest()
+ {
+ $userInterestId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/userInterests/%s', self::CUSTOMER_ID, $userInterestId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forUserInterest(self::CUSTOMER_ID, $userInterestId)
+ );
+
+ $names = UserInterestServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($userInterestId, $names['user_interest']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forUserList()
+ */
+ public function testGetNameForUserList()
+ {
+ $userListId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/userLists/%s', self::CUSTOMER_ID, $userListId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forUserList(self::CUSTOMER_ID, $userListId)
+ );
+
+ $names = UserListServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($userListId, $names['user_list']);
+ }
+
+ /**
+ * @covers \Google\Ads\GoogleAds\Util\ResourceNames::forVideo()
+ */
+ public function testGetNameForVideo()
+ {
+ $videoId = 111111;
+ $expectedResourceName =
+ sprintf('customers/%s/videos/%s', self::CUSTOMER_ID, $videoId);
+ $this->assertEquals(
+ $expectedResourceName,
+ ResourceNames::forVideo(self::CUSTOMER_ID, $videoId)
+ );
+
+ $names = VideoServiceClient::parseName($expectedResourceName);
+ $this->assertEquals(self::CUSTOMER_ID, $names['customer']);
+ $this->assertEquals($videoId, $names['video']);
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClientTest.php
new file mode 100644
index 000000000..6cd234c07
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetProposalServiceClientTest.php
@@ -0,0 +1,221 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AccountBudgetProposalServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AccountBudgetProposalServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAccountBudgetProposalTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AccountBudgetProposal();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->accountBudgetProposalName('[CUSTOMER]', '[ACCOUNT_BUDGET_PROPOSAL]');
+
+ $response = $client->getAccountBudgetProposal($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AccountBudgetProposalService/GetAccountBudgetProposal', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAccountBudgetProposalExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->accountBudgetProposalName('[CUSTOMER]', '[ACCOUNT_BUDGET_PROPOSAL]');
+
+ try {
+ $client->getAccountBudgetProposal($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAccountBudgetProposalTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAccountBudgetProposalResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new AccountBudgetProposalOperation();
+
+ $response = $client->mutateAccountBudgetProposal($customerId, $operation);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AccountBudgetProposalService/MutateAccountBudgetProposal', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperation();
+
+ $this->assertProtobufEquals($operation, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAccountBudgetProposalExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new AccountBudgetProposalOperation();
+
+ try {
+ $client->mutateAccountBudgetProposal($customerId, $operation);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClientTest.php
new file mode 100644
index 000000000..3b8fd0902
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AccountBudgetServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AccountBudgetServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AccountBudgetServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAccountBudgetTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AccountBudget();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->accountBudgetName('[CUSTOMER]', '[ACCOUNT_BUDGET]');
+
+ $response = $client->getAccountBudget($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AccountBudgetService/GetAccountBudget', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAccountBudgetExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->accountBudgetName('[CUSTOMER]', '[ACCOUNT_BUDGET]');
+
+ try {
+ $client->getAccountBudget($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClientTest.php
new file mode 100644
index 000000000..ae34b18e1
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdAssetViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupAdAssetViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupAdAssetViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAdAssetViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupAdAssetView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAdAssetViewName('[CUSTOMER]', '[AD_GROUP_AD_ASSET_VIEW]');
+
+ $response = $client->getAdGroupAdAssetView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupAdAssetViewService/GetAdGroupAdAssetView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAdAssetViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAdAssetViewName('[CUSTOMER]', '[AD_GROUP_AD_ASSET_VIEW]');
+
+ try {
+ $client->getAdGroupAdAssetView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClientTest.php
new file mode 100644
index 000000000..0b114c8e3
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdLabelServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupAdLabelServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupAdLabelServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAdLabelTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupAdLabel();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAdLabelName('[CUSTOMER]', '[AD_GROUP_AD_LABEL]');
+
+ $response = $client->getAdGroupAdLabel($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupAdLabelService/GetAdGroupAdLabel', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAdLabelExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAdLabelName('[CUSTOMER]', '[AD_GROUP_AD_LABEL]');
+
+ try {
+ $client->getAdGroupAdLabel($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupAdLabelsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupAdLabelsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupAdLabels($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupAdLabelService/MutateAdGroupAdLabels', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupAdLabelsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupAdLabels($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClientTest.php
new file mode 100644
index 000000000..4bc6b4936
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAdServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupAdServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupAdServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAdTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupAd();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAdName('[CUSTOMER]', '[AD_GROUP_AD]');
+
+ $response = $client->getAdGroupAd($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupAdService/GetAdGroupAd', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAdExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAdName('[CUSTOMER]', '[AD_GROUP_AD]');
+
+ try {
+ $client->getAdGroupAd($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupAdsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupAdsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupAds($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupAdService/MutateAdGroupAds', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupAdsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupAds($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClientTest.php
new file mode 100644
index 000000000..55c4e0f16
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupAudienceViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupAudienceViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupAudienceViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAudienceViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupAudienceView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAudienceViewName('[CUSTOMER]', '[AD_GROUP_AUDIENCE_VIEW]');
+
+ $response = $client->getAdGroupAudienceView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupAudienceViewService/GetAdGroupAudienceView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupAudienceViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupAudienceViewName('[CUSTOMER]', '[AD_GROUP_AUDIENCE_VIEW]');
+
+ try {
+ $client->getAdGroupAudienceView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClientTest.php
new file mode 100644
index 000000000..11964f080
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupBidModifierServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupBidModifierServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupBidModifierServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupBidModifierTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupBidModifier();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupBidModifierName('[CUSTOMER]', '[AD_GROUP_BID_MODIFIER]');
+
+ $response = $client->getAdGroupBidModifier($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupBidModifierService/GetAdGroupBidModifier', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupBidModifierExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupBidModifierName('[CUSTOMER]', '[AD_GROUP_BID_MODIFIER]');
+
+ try {
+ $client->getAdGroupBidModifier($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupBidModifiersTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupBidModifiersResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupBidModifiers($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupBidModifierService/MutateAdGroupBidModifiers', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupBidModifiersExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupBidModifiers($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClientTest.php
new file mode 100644
index 000000000..9dab8e553
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionLabelServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupCriterionLabelServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupCriterionLabelServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupCriterionLabelTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupCriterionLabel();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupCriterionLabelName('[CUSTOMER]', '[AD_GROUP_CRITERION_LABEL]');
+
+ $response = $client->getAdGroupCriterionLabel($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupCriterionLabelService/GetAdGroupCriterionLabel', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupCriterionLabelExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupCriterionLabelName('[CUSTOMER]', '[AD_GROUP_CRITERION_LABEL]');
+
+ try {
+ $client->getAdGroupCriterionLabel($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupCriterionLabelsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupCriterionLabelsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupCriterionLabels($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupCriterionLabelService/MutateAdGroupCriterionLabels', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupCriterionLabelsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupCriterionLabels($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClientTest.php
new file mode 100644
index 000000000..3dbac75a0
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupCriterionServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupCriterionServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupCriterionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupCriterion();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupCriteriaName('[CUSTOMER]', '[AD_GROUP_CRITERIA]');
+
+ $response = $client->getAdGroupCriterion($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupCriterionService/GetAdGroupCriterion', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupCriterionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupCriteriaName('[CUSTOMER]', '[AD_GROUP_CRITERIA]');
+
+ try {
+ $client->getAdGroupCriterion($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupCriteriaTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupCriteriaResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupCriteria($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupCriterionService/MutateAdGroupCriteria', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupCriteriaExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupCriteria($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClientTest.php
new file mode 100644
index 000000000..612e7e655
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupCriterionSimulationServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupCriterionSimulationServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupCriterionSimulationServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupCriterionSimulationTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupCriterionSimulation();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupCriterionSimulationName('[CUSTOMER]', '[AD_GROUP_CRITERION_SIMULATION]');
+
+ $response = $client->getAdGroupCriterionSimulation($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupCriterionSimulationService/GetAdGroupCriterionSimulation', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupCriterionSimulationExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupCriterionSimulationName('[CUSTOMER]', '[AD_GROUP_CRITERION_SIMULATION]');
+
+ try {
+ $client->getAdGroupCriterionSimulation($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClientTest.php
new file mode 100644
index 000000000..16ef60f25
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupExtensionSettingServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupExtensionSettingServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupExtensionSettingServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupExtensionSettingTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupExtensionSetting();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupExtensionSettingName('[CUSTOMER]', '[AD_GROUP_EXTENSION_SETTING]');
+
+ $response = $client->getAdGroupExtensionSetting($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupExtensionSettingService/GetAdGroupExtensionSetting', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupExtensionSettingExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupExtensionSettingName('[CUSTOMER]', '[AD_GROUP_EXTENSION_SETTING]');
+
+ try {
+ $client->getAdGroupExtensionSetting($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupExtensionSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupExtensionSettingsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupExtensionSettings($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupExtensionSettingService/MutateAdGroupExtensionSettings', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupExtensionSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupExtensionSettings($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClientTest.php
new file mode 100644
index 000000000..1ccd2fef3
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupFeedServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupFeedServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupFeedServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupFeedTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupFeed();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupFeedName('[CUSTOMER]', '[AD_GROUP_FEED]');
+
+ $response = $client->getAdGroupFeed($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupFeedService/GetAdGroupFeed', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupFeedExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupFeedName('[CUSTOMER]', '[AD_GROUP_FEED]');
+
+ try {
+ $client->getAdGroupFeed($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupFeedsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupFeedsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupFeeds($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupFeedService/MutateAdGroupFeeds', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupFeedsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupFeeds($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClientTest.php
new file mode 100644
index 000000000..0429f8fea
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupLabelServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupLabelServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupLabelServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupLabelTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupLabel();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupLabelName('[CUSTOMER]', '[AD_GROUP_LABEL]');
+
+ $response = $client->getAdGroupLabel($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupLabelService/GetAdGroupLabel', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupLabelExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupLabelName('[CUSTOMER]', '[AD_GROUP_LABEL]');
+
+ try {
+ $client->getAdGroupLabel($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupLabelsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupLabelsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroupLabels($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupLabelService/MutateAdGroupLabels', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupLabelsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroupLabels($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClientTest.php
new file mode 100644
index 000000000..51d11370c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroup();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupName('[CUSTOMER]', '[AD_GROUP]');
+
+ $response = $client->getAdGroup($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupService/GetAdGroup', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupName('[CUSTOMER]', '[AD_GROUP]');
+
+ try {
+ $client->getAdGroup($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdGroupsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdGroups($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupService/MutateAdGroups', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdGroupsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdGroups($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClientTest.php
new file mode 100644
index 000000000..95ba6f0d4
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdGroupSimulationServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdGroupSimulationServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdGroupSimulationServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupSimulationTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdGroupSimulation();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupSimulationName('[CUSTOMER]', '[AD_GROUP_SIMULATION]');
+
+ $response = $client->getAdGroupSimulation($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdGroupSimulationService/GetAdGroupSimulation', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdGroupSimulationExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adGroupSimulationName('[CUSTOMER]', '[AD_GROUP_SIMULATION]');
+
+ try {
+ $client->getAdGroupSimulation($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClientTest.php
new file mode 100644
index 000000000..136a060f3
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdParameterServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdParameterServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdParameterServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdParameterTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdParameter();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adParameterName('[CUSTOMER]', '[AD_PARAMETER]');
+
+ $response = $client->getAdParameter($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdParameterService/GetAdParameter', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdParameterExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adParameterName('[CUSTOMER]', '[AD_PARAMETER]');
+
+ try {
+ $client->getAdParameter($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdParametersTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdParametersResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAdParameters($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdParameterService/MutateAdParameters', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdParametersExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAdParameters($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClientTest.php
new file mode 100644
index 000000000..b39163761
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdScheduleViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdScheduleViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdScheduleViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdScheduleViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AdScheduleView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adScheduleViewName('[CUSTOMER]', '[AD_SCHEDULE_VIEW]');
+
+ $response = $client->getAdScheduleView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdScheduleViewService/GetAdScheduleView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdScheduleViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adScheduleViewName('[CUSTOMER]', '[AD_SCHEDULE_VIEW]');
+
+ try {
+ $client->getAdScheduleView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AdServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AdServiceClientTest.php
new file mode 100644
index 000000000..5b8c5a4ac
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AdServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AdServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AdServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAdTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Ad();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->adName('[CUSTOMER]', '[AD]');
+
+ $response = $client->getAd($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdService/GetAd', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAdExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->adName('[CUSTOMER]', '[AD]');
+
+ try {
+ $client->getAd($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAdsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAds($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AdService/MutateAds', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAdsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAds($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClientTest.php
new file mode 100644
index 000000000..bc10d8a0c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AgeRangeViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AgeRangeViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AgeRangeViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAgeRangeViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new AgeRangeView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->ageRangeViewName('[CUSTOMER]', '[AGE_RANGE_VIEW]');
+
+ $response = $client->getAgeRangeView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AgeRangeViewService/GetAgeRangeView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAgeRangeViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->ageRangeViewName('[CUSTOMER]', '[AGE_RANGE_VIEW]');
+
+ try {
+ $client->getAgeRangeView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/AssetServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/AssetServiceClientTest.php
new file mode 100644
index 000000000..84db339c9
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/AssetServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return AssetServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new AssetServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getAssetTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Asset();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->assetName('[CUSTOMER]', '[ASSET]');
+
+ $response = $client->getAsset($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AssetService/GetAsset', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getAssetExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->assetName('[CUSTOMER]', '[ASSET]');
+
+ try {
+ $client->getAsset($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAssetsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateAssetsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateAssets($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.AssetService/MutateAssets', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateAssetsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateAssets($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClientTest.php
new file mode 100644
index 000000000..2fb43b79d
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/BiddingStrategyServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return BiddingStrategyServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new BiddingStrategyServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getBiddingStrategyTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new BiddingStrategy();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->biddingStrategyName('[CUSTOMER]', '[BIDDING_STRATEGY]');
+
+ $response = $client->getBiddingStrategy($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.BiddingStrategyService/GetBiddingStrategy', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getBiddingStrategyExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->biddingStrategyName('[CUSTOMER]', '[BIDDING_STRATEGY]');
+
+ try {
+ $client->getBiddingStrategy($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateBiddingStrategiesTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateBiddingStrategiesResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateBiddingStrategies($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.BiddingStrategyService/MutateBiddingStrategies', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateBiddingStrategiesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateBiddingStrategies($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClientTest.php
new file mode 100644
index 000000000..f5f85b17a
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/BillingSetupServiceClientTest.php
@@ -0,0 +1,221 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return BillingSetupServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new BillingSetupServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getBillingSetupTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new BillingSetup();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->billingSetupName('[CUSTOMER]', '[BILLING_SETUP]');
+
+ $response = $client->getBillingSetup($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.BillingSetupService/GetBillingSetup', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getBillingSetupExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->billingSetupName('[CUSTOMER]', '[BILLING_SETUP]');
+
+ try {
+ $client->getBillingSetup($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateBillingSetupTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateBillingSetupResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new BillingSetupOperation();
+
+ $response = $client->mutateBillingSetup($customerId, $operation);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.BillingSetupService/MutateBillingSetup', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperation();
+
+ $this->assertProtobufEquals($operation, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateBillingSetupExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new BillingSetupOperation();
+
+ try {
+ $client->mutateBillingSetup($customerId, $operation);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClientTest.php
new file mode 100644
index 000000000..f964ef5e4
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignAudienceViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignAudienceViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignAudienceViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignAudienceViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignAudienceView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignAudienceViewName('[CUSTOMER]', '[CAMPAIGN_AUDIENCE_VIEW]');
+
+ $response = $client->getCampaignAudienceView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignAudienceViewService/GetCampaignAudienceView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignAudienceViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignAudienceViewName('[CUSTOMER]', '[CAMPAIGN_AUDIENCE_VIEW]');
+
+ try {
+ $client->getCampaignAudienceView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClientTest.php
new file mode 100644
index 000000000..0f35f920c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignBidModifierServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignBidModifierServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignBidModifierServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignBidModifierTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignBidModifier();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignBidModifierName('[CUSTOMER]', '[CAMPAIGN_BID_MODIFIER]');
+
+ $response = $client->getCampaignBidModifier($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignBidModifierService/GetCampaignBidModifier', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignBidModifierExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignBidModifierName('[CUSTOMER]', '[CAMPAIGN_BID_MODIFIER]');
+
+ try {
+ $client->getCampaignBidModifier($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignBidModifiersTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignBidModifiersResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignBidModifiers($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignBidModifierService/MutateCampaignBidModifiers', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignBidModifiersExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignBidModifiers($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClientTest.php
new file mode 100644
index 000000000..5f02031d0
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignBudgetServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignBudgetServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignBudgetServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignBudgetTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignBudget();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignBudgetName('[CUSTOMER]', '[CAMPAIGN_BUDGET]');
+
+ $response = $client->getCampaignBudget($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignBudgetService/GetCampaignBudget', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignBudgetExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignBudgetName('[CUSTOMER]', '[CAMPAIGN_BUDGET]');
+
+ try {
+ $client->getCampaignBudget($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignBudgetsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignBudgetsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignBudgets($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignBudgetService/MutateCampaignBudgets', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignBudgetsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignBudgets($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClientTest.php
new file mode 100644
index 000000000..86f472f45
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignCriterionServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignCriterionServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignCriterionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignCriterion();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignCriteriaName('[CUSTOMER]', '[CAMPAIGN_CRITERIA]');
+
+ $response = $client->getCampaignCriterion($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignCriterionService/GetCampaignCriterion', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignCriterionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignCriteriaName('[CUSTOMER]', '[CAMPAIGN_CRITERIA]');
+
+ try {
+ $client->getCampaignCriterion($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignCriteriaTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignCriteriaResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignCriteria($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignCriterionService/MutateCampaignCriteria', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignCriteriaExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignCriteria($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClientTest.php
new file mode 100644
index 000000000..2fdf2c6a8
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignCriterionSimulationServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignCriterionSimulationServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignCriterionSimulationServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignCriterionSimulationTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignCriterionSimulation();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignCriterionSimulationName('[CUSTOMER]', '[CAMPAIGN_CRITERION_SIMULATION]');
+
+ $response = $client->getCampaignCriterionSimulation($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignCriterionSimulationService/GetCampaignCriterionSimulation', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignCriterionSimulationExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignCriterionSimulationName('[CUSTOMER]', '[CAMPAIGN_CRITERION_SIMULATION]');
+
+ try {
+ $client->getCampaignCriterionSimulation($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClientTest.php
new file mode 100644
index 000000000..0710dd77e
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignDraftServiceClientTest.php
@@ -0,0 +1,445 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignDraftServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignDraftServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignDraftTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignDraft();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignDraftName('[CUSTOMER]', '[CAMPAIGN_DRAFT]');
+
+ $response = $client->getCampaignDraft($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignDraftService/GetCampaignDraft', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignDraftExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignDraftName('[CUSTOMER]', '[CAMPAIGN_DRAFT]');
+
+ try {
+ $client->getCampaignDraft($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignDraftsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignDraftsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignDrafts($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignDraftService/MutateCampaignDrafts', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignDraftsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignDrafts($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function promoteCampaignDraftTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/promoteCampaignDraftTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $expectedResponse = new GPBEmpty();
+ $anyResponse = new Any();
+ $anyResponse->setValue($expectedResponse->serializeToString());
+ $completeOperation = new Operation();
+ $completeOperation->setName('operations/promoteCampaignDraftTest');
+ $completeOperation->setDone(true);
+ $completeOperation->setResponse($anyResponse);
+ $operationsTransport->addResponse($completeOperation);
+
+ // Mock request
+ $formattedCampaignDraft = $client->campaignDraftName('[CUSTOMER]', '[CAMPAIGN_DRAFT]');
+
+ $response = $client->promoteCampaignDraft($formattedCampaignDraft);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $apiRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($apiRequests));
+ $operationsRequestsEmpty = $operationsTransport->popReceivedCalls();
+ $this->assertSame(0, count($operationsRequestsEmpty));
+
+ $actualApiFuncCall = $apiRequests[0]->getFuncCall();
+ $actualApiRequestObject = $apiRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignDraftService/PromoteCampaignDraft', $actualApiFuncCall);
+ $actualValue = $actualApiRequestObject->getCampaignDraft();
+
+ $this->assertProtobufEquals($formattedCampaignDraft, $actualValue);
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/promoteCampaignDraftTest');
+
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ $this->assertTrue($response->isDone());
+ $this->assertEquals($expectedResponse, $response->getResult());
+ $apiRequestsEmpty = $transport->popReceivedCalls();
+ $this->assertSame(0, count($apiRequestsEmpty));
+ $operationsRequests = $operationsTransport->popReceivedCalls();
+ $this->assertSame(1, count($operationsRequests));
+
+ $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall();
+ $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject();
+ $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall);
+ $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function promoteCampaignDraftExceptionTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/promoteCampaignDraftTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $operationsTransport->addResponse(null, $status);
+
+ // Mock request
+ $formattedCampaignDraft = $client->campaignDraftName('[CUSTOMER]', '[CAMPAIGN_DRAFT]');
+
+ $response = $client->promoteCampaignDraft($formattedCampaignDraft);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/promoteCampaignDraftTest');
+
+ try {
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ // If the pollUntilComplete() method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stubs are exhausted
+ $transport->popReceivedCalls();
+ $operationsTransport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listCampaignDraftAsyncErrorsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $nextPageToken = '';
+ $errorsElement = new Status();
+ $errors = [$errorsElement];
+ $expectedResponse = new ListCampaignDraftAsyncErrorsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setErrors($errors);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignDraftName('[CUSTOMER]', '[CAMPAIGN_DRAFT]');
+
+ $response = $client->listCampaignDraftAsyncErrors($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getErrors()[0], $resources[0]);
+
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignDraftService/ListCampaignDraftAsyncErrors', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listCampaignDraftAsyncErrorsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignDraftName('[CUSTOMER]', '[CAMPAIGN_DRAFT]');
+
+ try {
+ $client->listCampaignDraftAsyncErrors($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClientTest.php
new file mode 100644
index 000000000..a5329db64
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignExperimentServiceClientTest.php
@@ -0,0 +1,739 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignExperimentServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignExperimentServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignExperimentTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignExperiment();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ $response = $client->getCampaignExperiment($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/GetCampaignExperiment', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignExperimentExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ try {
+ $client->getCampaignExperiment($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function createCampaignExperimentTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/createCampaignExperimentTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $expectedResponse = new GPBEmpty();
+ $anyResponse = new Any();
+ $anyResponse->setValue($expectedResponse->serializeToString());
+ $completeOperation = new Operation();
+ $completeOperation->setName('operations/createCampaignExperimentTest');
+ $completeOperation->setDone(true);
+ $completeOperation->setResponse($anyResponse);
+ $operationsTransport->addResponse($completeOperation);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $campaignExperiment = new CampaignExperiment();
+
+ $response = $client->createCampaignExperiment($customerId, $campaignExperiment);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $apiRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($apiRequests));
+ $operationsRequestsEmpty = $operationsTransport->popReceivedCalls();
+ $this->assertSame(0, count($operationsRequestsEmpty));
+
+ $actualApiFuncCall = $apiRequests[0]->getFuncCall();
+ $actualApiRequestObject = $apiRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/CreateCampaignExperiment', $actualApiFuncCall);
+ $actualValue = $actualApiRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualApiRequestObject->getCampaignExperiment();
+
+ $this->assertProtobufEquals($campaignExperiment, $actualValue);
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/createCampaignExperimentTest');
+
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ $this->assertTrue($response->isDone());
+ $this->assertEquals($expectedResponse, $response->getResult());
+ $apiRequestsEmpty = $transport->popReceivedCalls();
+ $this->assertSame(0, count($apiRequestsEmpty));
+ $operationsRequests = $operationsTransport->popReceivedCalls();
+ $this->assertSame(1, count($operationsRequests));
+
+ $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall();
+ $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject();
+ $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall);
+ $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function createCampaignExperimentExceptionTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/createCampaignExperimentTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $operationsTransport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $campaignExperiment = new CampaignExperiment();
+
+ $response = $client->createCampaignExperiment($customerId, $campaignExperiment);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/createCampaignExperimentTest');
+
+ try {
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ // If the pollUntilComplete() method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stubs are exhausted
+ $transport->popReceivedCalls();
+ $operationsTransport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignExperimentsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignExperimentsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignExperiments($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/MutateCampaignExperiments', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignExperimentsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignExperiments($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function graduateCampaignExperimentTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $graduatedCampaign = 'graduatedCampaign-758391274';
+ $expectedResponse = new GraduateCampaignExperimentResponse();
+ $expectedResponse->setGraduatedCampaign($graduatedCampaign);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedCampaignExperiment = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+ $campaignBudget = 'campaignBudget1992382804';
+
+ $response = $client->graduateCampaignExperiment($formattedCampaignExperiment, $campaignBudget);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/GraduateCampaignExperiment', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCampaignExperiment();
+
+ $this->assertProtobufEquals($formattedCampaignExperiment, $actualValue);
+ $actualValue = $actualRequestObject->getCampaignBudget();
+
+ $this->assertProtobufEquals($campaignBudget, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function graduateCampaignExperimentExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedCampaignExperiment = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+ $campaignBudget = 'campaignBudget1992382804';
+
+ try {
+ $client->graduateCampaignExperiment($formattedCampaignExperiment, $campaignBudget);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function promoteCampaignExperimentTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/promoteCampaignExperimentTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $expectedResponse = new GPBEmpty();
+ $anyResponse = new Any();
+ $anyResponse->setValue($expectedResponse->serializeToString());
+ $completeOperation = new Operation();
+ $completeOperation->setName('operations/promoteCampaignExperimentTest');
+ $completeOperation->setDone(true);
+ $completeOperation->setResponse($anyResponse);
+ $operationsTransport->addResponse($completeOperation);
+
+ // Mock request
+ $formattedCampaignExperiment = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ $response = $client->promoteCampaignExperiment($formattedCampaignExperiment);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $apiRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($apiRequests));
+ $operationsRequestsEmpty = $operationsTransport->popReceivedCalls();
+ $this->assertSame(0, count($operationsRequestsEmpty));
+
+ $actualApiFuncCall = $apiRequests[0]->getFuncCall();
+ $actualApiRequestObject = $apiRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/PromoteCampaignExperiment', $actualApiFuncCall);
+ $actualValue = $actualApiRequestObject->getCampaignExperiment();
+
+ $this->assertProtobufEquals($formattedCampaignExperiment, $actualValue);
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/promoteCampaignExperimentTest');
+
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ $this->assertTrue($response->isDone());
+ $this->assertEquals($expectedResponse, $response->getResult());
+ $apiRequestsEmpty = $transport->popReceivedCalls();
+ $this->assertSame(0, count($apiRequestsEmpty));
+ $operationsRequests = $operationsTransport->popReceivedCalls();
+ $this->assertSame(1, count($operationsRequests));
+
+ $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall();
+ $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject();
+ $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall);
+ $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function promoteCampaignExperimentExceptionTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/promoteCampaignExperimentTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $operationsTransport->addResponse(null, $status);
+
+ // Mock request
+ $formattedCampaignExperiment = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ $response = $client->promoteCampaignExperiment($formattedCampaignExperiment);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/promoteCampaignExperimentTest');
+
+ try {
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ // If the pollUntilComplete() method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stubs are exhausted
+ $transport->popReceivedCalls();
+ $operationsTransport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function endCampaignExperimentTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedCampaignExperiment = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ $client->endCampaignExperiment($formattedCampaignExperiment);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/EndCampaignExperiment', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCampaignExperiment();
+
+ $this->assertProtobufEquals($formattedCampaignExperiment, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function endCampaignExperimentExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedCampaignExperiment = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ try {
+ $client->endCampaignExperiment($formattedCampaignExperiment);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listCampaignExperimentAsyncErrorsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $nextPageToken = '';
+ $errorsElement = new Status();
+ $errors = [$errorsElement];
+ $expectedResponse = new ListCampaignExperimentAsyncErrorsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setErrors($errors);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ $response = $client->listCampaignExperimentAsyncErrors($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getErrors()[0], $resources[0]);
+
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExperimentService/ListCampaignExperimentAsyncErrors', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listCampaignExperimentAsyncErrorsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignExperimentName('[CUSTOMER]', '[CAMPAIGN_EXPERIMENT]');
+
+ try {
+ $client->listCampaignExperimentAsyncErrors($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClientTest.php
new file mode 100644
index 000000000..a3e1c7a2a
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignExtensionSettingServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignExtensionSettingServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignExtensionSettingServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignExtensionSettingTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignExtensionSetting();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignExtensionSettingName('[CUSTOMER]', '[CAMPAIGN_EXTENSION_SETTING]');
+
+ $response = $client->getCampaignExtensionSetting($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExtensionSettingService/GetCampaignExtensionSetting', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignExtensionSettingExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignExtensionSettingName('[CUSTOMER]', '[CAMPAIGN_EXTENSION_SETTING]');
+
+ try {
+ $client->getCampaignExtensionSetting($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignExtensionSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignExtensionSettingsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignExtensionSettings($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignExtensionSettingService/MutateCampaignExtensionSettings', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignExtensionSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignExtensionSettings($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClientTest.php
new file mode 100644
index 000000000..78f884c3d
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignFeedServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignFeedServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignFeedServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignFeedTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignFeed();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignFeedName('[CUSTOMER]', '[CAMPAIGN_FEED]');
+
+ $response = $client->getCampaignFeed($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignFeedService/GetCampaignFeed', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignFeedExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignFeedName('[CUSTOMER]', '[CAMPAIGN_FEED]');
+
+ try {
+ $client->getCampaignFeed($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignFeedsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignFeedsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignFeeds($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignFeedService/MutateCampaignFeeds', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignFeedsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignFeeds($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClientTest.php
new file mode 100644
index 000000000..e9d8c097c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignLabelServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignLabelServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignLabelServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignLabelTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignLabel();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignLabelName('[CUSTOMER]', '[CAMPAIGN_LABEL]');
+
+ $response = $client->getCampaignLabel($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignLabelService/GetCampaignLabel', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignLabelExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignLabelName('[CUSTOMER]', '[CAMPAIGN_LABEL]');
+
+ try {
+ $client->getCampaignLabel($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignLabelsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignLabelsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignLabels($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignLabelService/MutateCampaignLabels', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignLabelsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignLabels($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignServiceClientTest.php
new file mode 100644
index 000000000..16eb9b528
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Campaign();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignName('[CUSTOMER]', '[CAMPAIGN]');
+
+ $response = $client->getCampaign($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignService/GetCampaign', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignName('[CUSTOMER]', '[CAMPAIGN]');
+
+ try {
+ $client->getCampaign($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaigns($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignService/MutateCampaigns', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaigns($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClientTest.php
new file mode 100644
index 000000000..7369237d7
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CampaignSharedSetServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CampaignSharedSetServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CampaignSharedSetServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignSharedSetTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CampaignSharedSet();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->campaignSharedSetName('[CUSTOMER]', '[CAMPAIGN_SHARED_SET]');
+
+ $response = $client->getCampaignSharedSet($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignSharedSetService/GetCampaignSharedSet', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCampaignSharedSetExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->campaignSharedSetName('[CUSTOMER]', '[CAMPAIGN_SHARED_SET]');
+
+ try {
+ $client->getCampaignSharedSet($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignSharedSetsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCampaignSharedSetsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCampaignSharedSets($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CampaignSharedSetService/MutateCampaignSharedSets', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCampaignSharedSetsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCampaignSharedSets($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClientTest.php
new file mode 100644
index 000000000..88da49a73
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CarrierConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CarrierConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CarrierConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCarrierConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CarrierConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->carrierConstantName('[CARRIER_CONSTANT]');
+
+ $response = $client->getCarrierConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CarrierConstantService/GetCarrierConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCarrierConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->carrierConstantName('[CARRIER_CONSTANT]');
+
+ try {
+ $client->getCarrierConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClientTest.php
new file mode 100644
index 000000000..b4ef029fb
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ChangeStatusServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ChangeStatusServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ChangeStatusServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getChangeStatusTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ChangeStatus();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->changeStatusName('[CUSTOMER]', '[CHANGE_STATUS]');
+
+ $response = $client->getChangeStatus($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ChangeStatusService/GetChangeStatus', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getChangeStatusExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->changeStatusName('[CUSTOMER]', '[CHANGE_STATUS]');
+
+ try {
+ $client->getChangeStatus($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClientTest.php
new file mode 100644
index 000000000..c411fccf4
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ClickViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ClickViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ClickViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getClickViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ClickView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->clickViewName('[CUSTOMER]', '[CLICK_VIEW]');
+
+ $response = $client->getClickView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ClickViewService/GetClickView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getClickViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->clickViewName('[CUSTOMER]', '[CLICK_VIEW]');
+
+ try {
+ $client->getClickView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClientTest.php
new file mode 100644
index 000000000..aea2ae9e3
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ConversionActionServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ConversionActionServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ConversionActionServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getConversionActionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ConversionAction();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->conversionActionName('[CUSTOMER]', '[CONVERSION_ACTION]');
+
+ $response = $client->getConversionAction($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ConversionActionService/GetConversionAction', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getConversionActionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->conversionActionName('[CUSTOMER]', '[CONVERSION_ACTION]');
+
+ try {
+ $client->getConversionAction($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateConversionActionsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateConversionActionsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateConversionActions($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ConversionActionService/MutateConversionActions', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateConversionActionsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateConversionActions($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClientTest.php
new file mode 100644
index 000000000..1ad683e52
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ConversionAdjustmentUploadServiceClientTest.php
@@ -0,0 +1,146 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ConversionAdjustmentUploadServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ConversionAdjustmentUploadServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function uploadConversionAdjustmentsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new UploadConversionAdjustmentsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $conversionAdjustments = [];
+
+ $response = $client->uploadConversionAdjustments($customerId, $conversionAdjustments);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ConversionAdjustmentUploadService/UploadConversionAdjustments', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getConversionAdjustments();
+
+ $this->assertProtobufEquals($conversionAdjustments, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function uploadConversionAdjustmentsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $conversionAdjustments = [];
+
+ try {
+ $client->uploadConversionAdjustments($customerId, $conversionAdjustments);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClientTest.php
new file mode 100644
index 000000000..1b60a05c5
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ConversionUploadServiceClientTest.php
@@ -0,0 +1,223 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ConversionUploadServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ConversionUploadServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function uploadClickConversionsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new UploadClickConversionsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $conversions = [];
+
+ $response = $client->uploadClickConversions($customerId, $conversions);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ConversionUploadService/UploadClickConversions', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getConversions();
+
+ $this->assertProtobufEquals($conversions, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function uploadClickConversionsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $conversions = [];
+
+ try {
+ $client->uploadClickConversions($customerId, $conversions);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function uploadCallConversionsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new UploadCallConversionsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $conversions = [];
+
+ $response = $client->uploadCallConversions($customerId, $conversions);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ConversionUploadService/UploadCallConversions', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getConversions();
+
+ $this->assertProtobufEquals($conversions, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function uploadCallConversionsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $conversions = [];
+
+ try {
+ $client->uploadCallConversions($customerId, $conversions);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClientTest.php
new file mode 100644
index 000000000..d99b1669c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomInterestServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomInterestServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomInterestServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomInterestTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomInterest();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customInterestName('[CUSTOMER]', '[CUSTOM_INTEREST]');
+
+ $response = $client->getCustomInterest($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomInterestService/GetCustomInterest', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomInterestExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customInterestName('[CUSTOMER]', '[CUSTOM_INTEREST]');
+
+ try {
+ $client->getCustomInterest($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomInterestsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomInterestsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCustomInterests($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomInterestService/MutateCustomInterests', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomInterestsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCustomInterests($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClientTest.php
new file mode 100644
index 000000000..36741433b
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerClientLinkServiceClientTest.php
@@ -0,0 +1,221 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerClientLinkServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerClientLinkServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerClientLinkTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerClientLink();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerClientLinkName('[CUSTOMER]', '[CUSTOMER_CLIENT_LINK]');
+
+ $response = $client->getCustomerClientLink($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerClientLinkService/GetCustomerClientLink', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerClientLinkExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerClientLinkName('[CUSTOMER]', '[CUSTOMER_CLIENT_LINK]');
+
+ try {
+ $client->getCustomerClientLink($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerClientLinkTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerClientLinkResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new CustomerClientLinkOperation();
+
+ $response = $client->mutateCustomerClientLink($customerId, $operation);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerClientLinkService/MutateCustomerClientLink', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperation();
+
+ $this->assertProtobufEquals($operation, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerClientLinkExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new CustomerClientLinkOperation();
+
+ try {
+ $client->mutateCustomerClientLink($customerId, $operation);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClientTest.php
new file mode 100644
index 000000000..6041bfcdd
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerClientServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerClientServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerClientServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerClientTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerClient();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerClientName('[CUSTOMER]', '[CUSTOMER_CLIENT]');
+
+ $response = $client->getCustomerClient($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerClientService/GetCustomerClient', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerClientExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerClientName('[CUSTOMER]', '[CUSTOMER_CLIENT]');
+
+ try {
+ $client->getCustomerClient($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClientTest.php
new file mode 100644
index 000000000..41c3b8396
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerExtensionSettingServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerExtensionSettingServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerExtensionSettingServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerExtensionSettingTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerExtensionSetting();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerExtensionSettingName('[CUSTOMER]', '[CUSTOMER_EXTENSION_SETTING]');
+
+ $response = $client->getCustomerExtensionSetting($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerExtensionSettingService/GetCustomerExtensionSetting', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerExtensionSettingExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerExtensionSettingName('[CUSTOMER]', '[CUSTOMER_EXTENSION_SETTING]');
+
+ try {
+ $client->getCustomerExtensionSetting($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerExtensionSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerExtensionSettingsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCustomerExtensionSettings($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerExtensionSettingService/MutateCustomerExtensionSettings', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerExtensionSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCustomerExtensionSettings($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClientTest.php
new file mode 100644
index 000000000..4dcdd246c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerFeedServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerFeedServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerFeedServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerFeedTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerFeed();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerFeedName('[CUSTOMER]', '[CUSTOMER_FEED]');
+
+ $response = $client->getCustomerFeed($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerFeedService/GetCustomerFeed', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerFeedExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerFeedName('[CUSTOMER]', '[CUSTOMER_FEED]');
+
+ try {
+ $client->getCustomerFeed($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerFeedsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerFeedsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCustomerFeeds($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerFeedService/MutateCustomerFeeds', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerFeedsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCustomerFeeds($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClientTest.php
new file mode 100644
index 000000000..57b0f89d3
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerLabelServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerLabelServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerLabelServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerLabelTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerLabel();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerLabelName('[CUSTOMER]', '[CUSTOMER_LABEL]');
+
+ $response = $client->getCustomerLabel($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerLabelService/GetCustomerLabel', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerLabelExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerLabelName('[CUSTOMER]', '[CUSTOMER_LABEL]');
+
+ try {
+ $client->getCustomerLabel($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerLabelsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerLabelsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCustomerLabels($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerLabelService/MutateCustomerLabels', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerLabelsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCustomerLabels($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClientTest.php
new file mode 100644
index 000000000..aaca65bdb
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerManagerLinkServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerManagerLinkServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerManagerLinkServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerManagerLinkTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerManagerLink();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerManagerLinkName('[CUSTOMER]', '[CUSTOMER_MANAGER_LINK]');
+
+ $response = $client->getCustomerManagerLink($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerManagerLinkService/GetCustomerManagerLink', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerManagerLinkExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerManagerLinkName('[CUSTOMER]', '[CUSTOMER_MANAGER_LINK]');
+
+ try {
+ $client->getCustomerManagerLink($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerManagerLinkTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerManagerLinkResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCustomerManagerLink($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerManagerLinkService/MutateCustomerManagerLink', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerManagerLinkExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCustomerManagerLink($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClientTest.php
new file mode 100644
index 000000000..54f3dcba4
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerNegativeCriterionServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerNegativeCriterionServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerNegativeCriterionServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerNegativeCriterionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new CustomerNegativeCriterion();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerNegativeCriteriaName('[CUSTOMER]', '[CUSTOMER_NEGATIVE_CRITERIA]');
+
+ $response = $client->getCustomerNegativeCriterion($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerNegativeCriterionService/GetCustomerNegativeCriterion', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerNegativeCriterionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerNegativeCriteriaName('[CUSTOMER]', '[CUSTOMER_NEGATIVE_CRITERIA]');
+
+ try {
+ $client->getCustomerNegativeCriterion($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerNegativeCriteriaTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerNegativeCriteriaResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateCustomerNegativeCriteria($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerNegativeCriterionService/MutateCustomerNegativeCriteria', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerNegativeCriteriaExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateCustomerNegativeCriteria($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/CustomerServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/CustomerServiceClientTest.php
new file mode 100644
index 000000000..11628d77c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/CustomerServiceClientTest.php
@@ -0,0 +1,362 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return CustomerServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new CustomerServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Customer();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->customerName('[CUSTOMER]');
+
+ $response = $client->getCustomer($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerService/GetCustomer', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getCustomerExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->customerName('[CUSTOMER]');
+
+ try {
+ $client->getCustomer($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateCustomerResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new CustomerOperation();
+
+ $response = $client->mutateCustomer($customerId, $operation);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerService/MutateCustomer', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperation();
+
+ $this->assertProtobufEquals($operation, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateCustomerExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new CustomerOperation();
+
+ try {
+ $client->mutateCustomer($customerId, $operation);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listAccessibleCustomersTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new ListAccessibleCustomersResponse();
+ $transport->addResponse($expectedResponse);
+
+ $response = $client->listAccessibleCustomers();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerService/ListAccessibleCustomers', $actualFuncCall);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listAccessibleCustomersExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ try {
+ $client->listAccessibleCustomers();
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function createCustomerClientTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName = 'resourceName979421212';
+ $expectedResponse = new CreateCustomerClientResponse();
+ $expectedResponse->setResourceName($resourceName);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $customerClient = new Customer();
+
+ $response = $client->createCustomerClient($customerId, $customerClient);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.CustomerService/CreateCustomerClient', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getCustomerClient();
+
+ $this->assertProtobufEquals($customerClient, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function createCustomerClientExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $customerClient = new Customer();
+
+ try {
+ $client->createCustomerClient($customerId, $customerClient);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClientTest.php
new file mode 100644
index 000000000..10ed7c5ac
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/DetailPlacementViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return DetailPlacementViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new DetailPlacementViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getDetailPlacementViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new DetailPlacementView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->detailPlacementViewName('[CUSTOMER]', '[DETAIL_PLACEMENT_VIEW]');
+
+ $response = $client->getDetailPlacementView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.DetailPlacementViewService/GetDetailPlacementView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getDetailPlacementViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->detailPlacementViewName('[CUSTOMER]', '[DETAIL_PLACEMENT_VIEW]');
+
+ try {
+ $client->getDetailPlacementView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewServiceClientTest.php
new file mode 100644
index 000000000..2e34f0a03
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/DisplayKeywordViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return DisplayKeywordViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new DisplayKeywordViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getDisplayKeywordViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new DisplayKeywordView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->displayKeywordViewName('[CUSTOMER]', '[DISPLAY_KEYWORD_VIEW]');
+
+ $response = $client->getDisplayKeywordView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.DisplayKeywordViewService/GetDisplayKeywordView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getDisplayKeywordViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->displayKeywordViewName('[CUSTOMER]', '[DISPLAY_KEYWORD_VIEW]');
+
+ try {
+ $client->getDisplayKeywordView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClientTest.php
new file mode 100644
index 000000000..a8b35986d
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/DistanceViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return DistanceViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new DistanceViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getDistanceViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new DistanceView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->distanceViewName('[CUSTOMER]', '[DISTANCE_VIEW]');
+
+ $response = $client->getDistanceView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.DistanceViewService/GetDistanceView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getDistanceViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->distanceViewName('[CUSTOMER]', '[DISTANCE_VIEW]');
+
+ try {
+ $client->getDistanceView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClientTest.php
new file mode 100644
index 000000000..8a6d598f2
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/DomainCategoryServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return DomainCategoryServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new DomainCategoryServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getDomainCategoryTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new DomainCategory();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->domainCategoryName('[CUSTOMER]', '[DOMAIN_CATEGORY]');
+
+ $response = $client->getDomainCategory($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.DomainCategoryService/GetDomainCategory', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getDomainCategoryExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->domainCategoryName('[CUSTOMER]', '[DOMAIN_CATEGORY]');
+
+ try {
+ $client->getDomainCategory($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClientTest.php
new file mode 100644
index 000000000..a80b9f51e
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/DynamicSearchAdsSearchTermViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return DynamicSearchAdsSearchTermViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new DynamicSearchAdsSearchTermViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getDynamicSearchAdsSearchTermViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new DynamicSearchAdsSearchTermView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->dynamicSearchAdsSearchTermViewName('[CUSTOMER]', '[DYNAMIC_SEARCH_ADS_SEARCH_TERM_VIEW]');
+
+ $response = $client->getDynamicSearchAdsSearchTermView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.DynamicSearchAdsSearchTermViewService/GetDynamicSearchAdsSearchTermView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getDynamicSearchAdsSearchTermViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->dynamicSearchAdsSearchTermViewName('[CUSTOMER]', '[DYNAMIC_SEARCH_ADS_SEARCH_TERM_VIEW]');
+
+ try {
+ $client->getDynamicSearchAdsSearchTermView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClientTest.php
new file mode 100644
index 000000000..7889f791d
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ExpandedLandingPageViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ExpandedLandingPageViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ExpandedLandingPageViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getExpandedLandingPageViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ExpandedLandingPageView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->expandedLandingPageViewName('[CUSTOMER]', '[EXPANDED_LANDING_PAGE_VIEW]');
+
+ $response = $client->getExpandedLandingPageView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ExpandedLandingPageViewService/GetExpandedLandingPageView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getExpandedLandingPageViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->expandedLandingPageViewName('[CUSTOMER]', '[EXPANDED_LANDING_PAGE_VIEW]');
+
+ try {
+ $client->getExpandedLandingPageView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClientTest.php
new file mode 100644
index 000000000..33ce8d5cc
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ExtensionFeedItemServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ExtensionFeedItemServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ExtensionFeedItemServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getExtensionFeedItemTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ExtensionFeedItem();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->extensionFeedItemName('[CUSTOMER]', '[EXTENSION_FEED_ITEM]');
+
+ $response = $client->getExtensionFeedItem($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ExtensionFeedItemService/GetExtensionFeedItem', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getExtensionFeedItemExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->extensionFeedItemName('[CUSTOMER]', '[EXTENSION_FEED_ITEM]');
+
+ try {
+ $client->getExtensionFeedItem($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateExtensionFeedItemsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateExtensionFeedItemsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateExtensionFeedItems($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ExtensionFeedItemService/MutateExtensionFeedItems', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateExtensionFeedItemsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateExtensionFeedItems($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClientTest.php
new file mode 100644
index 000000000..3ba7f55fa
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/FeedItemServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return FeedItemServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new FeedItemServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedItemTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new FeedItem();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->feedItemName('[CUSTOMER]', '[FEED_ITEM]');
+
+ $response = $client->getFeedItem($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedItemService/GetFeedItem', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedItemExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->feedItemName('[CUSTOMER]', '[FEED_ITEM]');
+
+ try {
+ $client->getFeedItem($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedItemsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateFeedItemsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateFeedItems($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedItemService/MutateFeedItems', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedItemsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateFeedItems($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClientTest.php
new file mode 100644
index 000000000..d4604e177
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/FeedItemTargetServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return FeedItemTargetServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new FeedItemTargetServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedItemTargetTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new FeedItemTarget();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->feedItemTargetName('[CUSTOMER]', '[FEED_ITEM_TARGET]');
+
+ $response = $client->getFeedItemTarget($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedItemTargetService/GetFeedItemTarget', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedItemTargetExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->feedItemTargetName('[CUSTOMER]', '[FEED_ITEM_TARGET]');
+
+ try {
+ $client->getFeedItemTarget($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedItemTargetsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateFeedItemTargetsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateFeedItemTargets($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedItemTargetService/MutateFeedItemTargets', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedItemTargetsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateFeedItemTargets($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClientTest.php
new file mode 100644
index 000000000..99d462620
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/FeedMappingServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return FeedMappingServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new FeedMappingServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedMappingTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new FeedMapping();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->feedMappingName('[CUSTOMER]', '[FEED_MAPPING]');
+
+ $response = $client->getFeedMapping($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedMappingService/GetFeedMapping', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedMappingExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->feedMappingName('[CUSTOMER]', '[FEED_MAPPING]');
+
+ try {
+ $client->getFeedMapping($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedMappingsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateFeedMappingsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateFeedMappings($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedMappingService/MutateFeedMappings', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedMappingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateFeedMappings($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClientTest.php
new file mode 100644
index 000000000..f23dc5c3e
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/FeedPlaceholderViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return FeedPlaceholderViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new FeedPlaceholderViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedPlaceholderViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new FeedPlaceholderView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->feedPlaceholderViewName('[CUSTOMER]', '[FEED_PLACEHOLDER_VIEW]');
+
+ $response = $client->getFeedPlaceholderView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedPlaceholderViewService/GetFeedPlaceholderView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedPlaceholderViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->feedPlaceholderViewName('[CUSTOMER]', '[FEED_PLACEHOLDER_VIEW]');
+
+ try {
+ $client->getFeedPlaceholderView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/FeedServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/FeedServiceClientTest.php
new file mode 100644
index 000000000..03956ecaf
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/FeedServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return FeedServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new FeedServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Feed();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->feedName('[CUSTOMER]', '[FEED]');
+
+ $response = $client->getFeed($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedService/GetFeed', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getFeedExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->feedName('[CUSTOMER]', '[FEED]');
+
+ try {
+ $client->getFeed($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateFeedsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateFeeds($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.FeedService/MutateFeeds', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateFeedsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateFeeds($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClientTest.php
new file mode 100644
index 000000000..1a38271ed
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/GenderViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return GenderViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new GenderViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getGenderViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new GenderView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->genderViewName('[CUSTOMER]', '[GENDER_VIEW]');
+
+ $response = $client->getGenderView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GenderViewService/GetGenderView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getGenderViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->genderViewName('[CUSTOMER]', '[GENDER_VIEW]');
+
+ try {
+ $client->getGenderView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClientTest.php
new file mode 100644
index 000000000..38888251b
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/GeoTargetConstantServiceClientTest.php
@@ -0,0 +1,221 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return GeoTargetConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new GeoTargetConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getGeoTargetConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new GeoTargetConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->geoTargetConstantName('[GEO_TARGET_CONSTANT]');
+
+ $response = $client->getGeoTargetConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GeoTargetConstantService/GetGeoTargetConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getGeoTargetConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->geoTargetConstantName('[GEO_TARGET_CONSTANT]');
+
+ try {
+ $client->getGeoTargetConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function suggestGeoTargetConstantsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new SuggestGeoTargetConstantsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $locale = new StringValue();
+ $countryCode = new StringValue();
+
+ $response = $client->suggestGeoTargetConstants($locale, $countryCode);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GeoTargetConstantService/SuggestGeoTargetConstants', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getLocale();
+
+ $this->assertProtobufEquals($locale, $actualValue);
+ $actualValue = $actualRequestObject->getCountryCode();
+
+ $this->assertProtobufEquals($countryCode, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function suggestGeoTargetConstantsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $locale = new StringValue();
+ $countryCode = new StringValue();
+
+ try {
+ $client->suggestGeoTargetConstants($locale, $countryCode);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClientTest.php
new file mode 100644
index 000000000..dd25309a8
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/GeographicViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return GeographicViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new GeographicViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getGeographicViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new GeographicView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->geographicViewName('[CUSTOMER]', '[GEOGRAPHIC_VIEW]');
+
+ $response = $client->getGeographicView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GeographicViewService/GetGeographicView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getGeographicViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->geographicViewName('[CUSTOMER]', '[GEOGRAPHIC_VIEW]');
+
+ try {
+ $client->getGeographicView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClientTest.php
new file mode 100644
index 000000000..4f0c48d16
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsFieldServiceClientTest.php
@@ -0,0 +1,225 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return GoogleAdsFieldServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new GoogleAdsFieldServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getGoogleAdsFieldTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new GoogleAdsField();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->googleAdsFieldName('[GOOGLE_ADS_FIELD]');
+
+ $response = $client->getGoogleAdsField($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GoogleAdsFieldService/GetGoogleAdsField', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getGoogleAdsFieldExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->googleAdsFieldName('[GOOGLE_ADS_FIELD]');
+
+ try {
+ $client->getGoogleAdsField($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function searchGoogleAdsFieldsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $nextPageToken = '';
+ $totalResultsCount = 43694645;
+ $resultsElement = new GoogleAdsField();
+ $results = [$resultsElement];
+ $expectedResponse = new SearchGoogleAdsFieldsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setTotalResultsCount($totalResultsCount);
+ $expectedResponse->setResults($results);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $query = 'query107944136';
+
+ $response = $client->searchGoogleAdsFields($query);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getResults()[0], $resources[0]);
+
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GoogleAdsFieldService/SearchGoogleAdsFields', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getQuery();
+
+ $this->assertProtobufEquals($query, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function searchGoogleAdsFieldsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $query = 'query107944136';
+
+ try {
+ $client->searchGoogleAdsFields($query);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClientTest.php
new file mode 100644
index 000000000..e5aeb3bba
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/GoogleAdsServiceClientTest.php
@@ -0,0 +1,234 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return GoogleAdsServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new GoogleAdsServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function searchTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $nextPageToken = '';
+ $totalResultsCount = 43694645;
+ $resultsElement = new GoogleAdsRow();
+ $results = [$resultsElement];
+ $expectedResponse = new SearchGoogleAdsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setTotalResultsCount($totalResultsCount);
+ $expectedResponse->setResults($results);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $query = 'query107944136';
+
+ $response = $client->search($customerId, $query);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getResults()[0], $resources[0]);
+
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GoogleAdsService/Search', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getQuery();
+
+ $this->assertProtobufEquals($query, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function searchExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $query = 'query107944136';
+
+ try {
+ $client->search($customerId, $query);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateGoogleAdsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $mutateOperations = [];
+
+ $response = $client->mutate($customerId, $mutateOperations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GoogleAdsService/Mutate', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getMutateOperations();
+
+ $this->assertProtobufEquals($mutateOperations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $mutateOperations = [];
+
+ try {
+ $client->mutate($customerId, $mutateOperations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClientTest.php
new file mode 100644
index 000000000..2c494ce3e
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/GroupPlacementViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return GroupPlacementViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new GroupPlacementViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getGroupPlacementViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new GroupPlacementView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->groupPlacementViewName('[CUSTOMER]', '[GROUP_PLACEMENT_VIEW]');
+
+ $response = $client->getGroupPlacementView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.GroupPlacementViewService/GetGroupPlacementView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getGroupPlacementViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->groupPlacementViewName('[CUSTOMER]', '[GROUP_PLACEMENT_VIEW]');
+
+ try {
+ $client->getGroupPlacementView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClientTest.php
new file mode 100644
index 000000000..7df73a504
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/HotelGroupViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return HotelGroupViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new HotelGroupViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getHotelGroupViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new HotelGroupView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->hotelGroupViewName('[CUSTOMER]', '[HOTEL_GROUP_VIEW]');
+
+ $response = $client->getHotelGroupView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.HotelGroupViewService/GetHotelGroupView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getHotelGroupViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->hotelGroupViewName('[CUSTOMER]', '[HOTEL_GROUP_VIEW]');
+
+ try {
+ $client->getHotelGroupView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClientTest.php
new file mode 100644
index 000000000..436db9d43
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/HotelPerformanceViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return HotelPerformanceViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new HotelPerformanceViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getHotelPerformanceViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new HotelPerformanceView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->hotelPerformanceViewName('[CUSTOMER]');
+
+ $response = $client->getHotelPerformanceView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.HotelPerformanceViewService/GetHotelPerformanceView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getHotelPerformanceViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->hotelPerformanceViewName('[CUSTOMER]');
+
+ try {
+ $client->getHotelPerformanceView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClientTest.php
new file mode 100644
index 000000000..4a27c9226
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanAdGroupServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordPlanAdGroupServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordPlanAdGroupServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanAdGroupTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new KeywordPlanAdGroup();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanAdGroupName('[CUSTOMER]', '[KEYWORD_PLAN_AD_GROUP]');
+
+ $response = $client->getKeywordPlanAdGroup($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanAdGroupService/GetKeywordPlanAdGroup', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanAdGroupExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanAdGroupName('[CUSTOMER]', '[KEYWORD_PLAN_AD_GROUP]');
+
+ try {
+ $client->getKeywordPlanAdGroup($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanAdGroupsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateKeywordPlanAdGroupsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateKeywordPlanAdGroups($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanAdGroupService/MutateKeywordPlanAdGroups', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanAdGroupsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateKeywordPlanAdGroups($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClientTest.php
new file mode 100644
index 000000000..d72180e33
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanCampaignServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordPlanCampaignServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordPlanCampaignServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanCampaignTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new KeywordPlanCampaign();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanCampaignName('[CUSTOMER]', '[KEYWORD_PLAN_CAMPAIGN]');
+
+ $response = $client->getKeywordPlanCampaign($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanCampaignService/GetKeywordPlanCampaign', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanCampaignExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanCampaignName('[CUSTOMER]', '[KEYWORD_PLAN_CAMPAIGN]');
+
+ try {
+ $client->getKeywordPlanCampaign($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanCampaignsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateKeywordPlanCampaignsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateKeywordPlanCampaigns($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanCampaignService/MutateKeywordPlanCampaigns', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanCampaignsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateKeywordPlanCampaigns($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClientTest.php
new file mode 100644
index 000000000..b5efd8b52
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanIdeaServiceClientTest.php
@@ -0,0 +1,158 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordPlanIdeaServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordPlanIdeaServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function generateKeywordIdeasTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new GenerateKeywordIdeaResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $language = new StringValue();
+ $geoTargetConstants = [];
+ $keywordPlanNetwork = KeywordPlanNetwork::UNSPECIFIED;
+
+ $response = $client->generateKeywordIdeas($customerId, $language, $geoTargetConstants, $keywordPlanNetwork);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanIdeaService/GenerateKeywordIdeas', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getLanguage();
+
+ $this->assertProtobufEquals($language, $actualValue);
+ $actualValue = $actualRequestObject->getGeoTargetConstants();
+
+ $this->assertProtobufEquals($geoTargetConstants, $actualValue);
+ $actualValue = $actualRequestObject->getKeywordPlanNetwork();
+
+ $this->assertProtobufEquals($keywordPlanNetwork, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function generateKeywordIdeasExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $language = new StringValue();
+ $geoTargetConstants = [];
+ $keywordPlanNetwork = KeywordPlanNetwork::UNSPECIFIED;
+
+ try {
+ $client->generateKeywordIdeas($customerId, $language, $geoTargetConstants, $keywordPlanNetwork);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClientTest.php
new file mode 100644
index 000000000..9f5b99c8b
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanKeywordServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordPlanKeywordServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordPlanKeywordServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanKeywordTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new KeywordPlanKeyword();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanKeywordName('[CUSTOMER]', '[KEYWORD_PLAN_KEYWORD]');
+
+ $response = $client->getKeywordPlanKeyword($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanKeywordService/GetKeywordPlanKeyword', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanKeywordExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanKeywordName('[CUSTOMER]', '[KEYWORD_PLAN_KEYWORD]');
+
+ try {
+ $client->getKeywordPlanKeyword($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanKeywordsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateKeywordPlanKeywordsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateKeywordPlanKeywords($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanKeywordService/MutateKeywordPlanKeywords', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanKeywordsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateKeywordPlanKeywords($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClientTest.php
new file mode 100644
index 000000000..de025db34
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanNegativeKeywordServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordPlanNegativeKeywordServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordPlanNegativeKeywordServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanNegativeKeywordTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new KeywordPlanNegativeKeyword();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanNegativeKeywordName('[CUSTOMER]', '[KEYWORD_PLAN_NEGATIVE_KEYWORD]');
+
+ $response = $client->getKeywordPlanNegativeKeyword($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService/GetKeywordPlanNegativeKeyword', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanNegativeKeywordExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanNegativeKeywordName('[CUSTOMER]', '[KEYWORD_PLAN_NEGATIVE_KEYWORD]');
+
+ try {
+ $client->getKeywordPlanNegativeKeyword($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanNegativeKeywordsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateKeywordPlanNegativeKeywordsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateKeywordPlanNegativeKeywords($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService/MutateKeywordPlanNegativeKeywords', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlanNegativeKeywordsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateKeywordPlanNegativeKeywords($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClientTest.php
new file mode 100644
index 000000000..0c1a8d3a2
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordPlanServiceClientTest.php
@@ -0,0 +1,364 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordPlanServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordPlanServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new KeywordPlan();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanName('[CUSTOMER]', '[KEYWORD_PLAN]');
+
+ $response = $client->getKeywordPlan($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanService/GetKeywordPlan', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordPlanExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->keywordPlanName('[CUSTOMER]', '[KEYWORD_PLAN]');
+
+ try {
+ $client->getKeywordPlan($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlansTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateKeywordPlansResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateKeywordPlans($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanService/MutateKeywordPlans', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateKeywordPlansExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateKeywordPlans($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function generateForecastMetricsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new GenerateForecastMetricsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedKeywordPlan = $client->keywordPlanName('[CUSTOMER]', '[KEYWORD_PLAN]');
+
+ $response = $client->generateForecastMetrics($formattedKeywordPlan);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanService/GenerateForecastMetrics', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getKeywordPlan();
+
+ $this->assertProtobufEquals($formattedKeywordPlan, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function generateForecastMetricsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedKeywordPlan = $client->keywordPlanName('[CUSTOMER]', '[KEYWORD_PLAN]');
+
+ try {
+ $client->generateForecastMetrics($formattedKeywordPlan);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function generateHistoricalMetricsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new GenerateHistoricalMetricsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedKeywordPlan = $client->keywordPlanName('[CUSTOMER]', '[KEYWORD_PLAN]');
+
+ $response = $client->generateHistoricalMetrics($formattedKeywordPlan);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordPlanService/GenerateHistoricalMetrics', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getKeywordPlan();
+
+ $this->assertProtobufEquals($formattedKeywordPlan, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function generateHistoricalMetricsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedKeywordPlan = $client->keywordPlanName('[CUSTOMER]', '[KEYWORD_PLAN]');
+
+ try {
+ $client->generateHistoricalMetrics($formattedKeywordPlan);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClientTest.php
new file mode 100644
index 000000000..58e94fc7c
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/KeywordViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return KeywordViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new KeywordViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new KeywordView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->keywordViewName('[CUSTOMER]', '[KEYWORD_VIEW]');
+
+ $response = $client->getKeywordView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.KeywordViewService/GetKeywordView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getKeywordViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->keywordViewName('[CUSTOMER]', '[KEYWORD_VIEW]');
+
+ try {
+ $client->getKeywordView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/LabelServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/LabelServiceClientTest.php
new file mode 100644
index 000000000..f49bbab85
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/LabelServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return LabelServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new LabelServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getLabelTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Label();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->labelName('[CUSTOMER]', '[LABEL]');
+
+ $response = $client->getLabel($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.LabelService/GetLabel', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getLabelExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->labelName('[CUSTOMER]', '[LABEL]');
+
+ try {
+ $client->getLabel($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateLabelsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateLabelsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateLabels($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.LabelService/MutateLabels', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateLabelsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateLabels($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClientTest.php
new file mode 100644
index 000000000..7d08d2950
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/LandingPageViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return LandingPageViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new LandingPageViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getLandingPageViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new LandingPageView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->landingPageViewName('[CUSTOMER]', '[LANDING_PAGE_VIEW]');
+
+ $response = $client->getLandingPageView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.LandingPageViewService/GetLandingPageView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getLandingPageViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->landingPageViewName('[CUSTOMER]', '[LANDING_PAGE_VIEW]');
+
+ try {
+ $client->getLandingPageView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClientTest.php
new file mode 100644
index 000000000..c18d0c283
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/LanguageConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return LanguageConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new LanguageConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getLanguageConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new LanguageConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->languageConstantName('[LANGUAGE_CONSTANT]');
+
+ $response = $client->getLanguageConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.LanguageConstantService/GetLanguageConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getLanguageConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->languageConstantName('[LANGUAGE_CONSTANT]');
+
+ try {
+ $client->getLanguageConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClientTest.php
new file mode 100644
index 000000000..dab17b93a
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/LocationViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return LocationViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new LocationViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getLocationViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new LocationView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->locationViewName('[CUSTOMER]', '[LOCATION_VIEW]');
+
+ $response = $client->getLocationView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.LocationViewService/GetLocationView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getLocationViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->locationViewName('[CUSTOMER]', '[LOCATION_VIEW]');
+
+ try {
+ $client->getLocationView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClientTest.php
new file mode 100644
index 000000000..7a29a692a
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ManagedPlacementViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ManagedPlacementViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ManagedPlacementViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getManagedPlacementViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ManagedPlacementView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->managedPlacementViewName('[CUSTOMER]', '[MANAGED_PLACEMENT_VIEW]');
+
+ $response = $client->getManagedPlacementView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ManagedPlacementViewService/GetManagedPlacementView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getManagedPlacementViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->managedPlacementViewName('[CUSTOMER]', '[MANAGED_PLACEMENT_VIEW]');
+
+ try {
+ $client->getManagedPlacementView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClientTest.php
new file mode 100644
index 000000000..caa4359d6
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/MediaFileServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return MediaFileServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new MediaFileServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getMediaFileTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new MediaFile();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->mediaFileName('[CUSTOMER]', '[MEDIA_FILE]');
+
+ $response = $client->getMediaFile($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MediaFileService/GetMediaFile', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMediaFileExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mediaFileName('[CUSTOMER]', '[MEDIA_FILE]');
+
+ try {
+ $client->getMediaFile($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateMediaFilesTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateMediaFilesResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateMediaFiles($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MediaFileService/MutateMediaFiles', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateMediaFilesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateMediaFiles($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClientTest.php
new file mode 100644
index 000000000..5584ed99f
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/MerchantCenterLinkServiceClientTest.php
@@ -0,0 +1,293 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return MerchantCenterLinkServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new MerchantCenterLinkServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function listMerchantCenterLinksTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new ListMerchantCenterLinksResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+
+ $response = $client->listMerchantCenterLinks($customerId);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MerchantCenterLinkService/ListMerchantCenterLinks', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listMerchantCenterLinksExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+
+ try {
+ $client->listMerchantCenterLinks($customerId);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMerchantCenterLinkTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new MerchantCenterLink();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->merchantCenterLinkName('[CUSTOMER]', '[MERCHANT_CENTER_LINK]');
+
+ $response = $client->getMerchantCenterLink($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MerchantCenterLinkService/GetMerchantCenterLink', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMerchantCenterLinkExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->merchantCenterLinkName('[CUSTOMER]', '[MERCHANT_CENTER_LINK]');
+
+ try {
+ $client->getMerchantCenterLink($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateMerchantCenterLinkTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateMerchantCenterLinkResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new MerchantCenterLinkOperation();
+
+ $response = $client->mutateMerchantCenterLink($customerId, $operation);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MerchantCenterLinkService/MutateMerchantCenterLink', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperation();
+
+ $this->assertProtobufEquals($operation, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateMerchantCenterLinkExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operation = new MerchantCenterLinkOperation();
+
+ try {
+ $client->mutateMerchantCenterLink($customerId, $operation);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClientTest.php
new file mode 100644
index 000000000..46f8d1fc8
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/MobileAppCategoryConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return MobileAppCategoryConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new MobileAppCategoryConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getMobileAppCategoryConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new MobileAppCategoryConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->mobileAppCategoryConstantName('[MOBILE_APP_CATEGORY_CONSTANT]');
+
+ $response = $client->getMobileAppCategoryConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MobileAppCategoryConstantService/GetMobileAppCategoryConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMobileAppCategoryConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mobileAppCategoryConstantName('[MOBILE_APP_CATEGORY_CONSTANT]');
+
+ try {
+ $client->getMobileAppCategoryConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClientTest.php
new file mode 100644
index 000000000..86c09b393
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/MobileDeviceConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return MobileDeviceConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new MobileDeviceConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getMobileDeviceConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new MobileDeviceConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->mobileDeviceConstantName('[MOBILE_DEVICE_CONSTANT]');
+
+ $response = $client->getMobileDeviceConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MobileDeviceConstantService/GetMobileDeviceConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMobileDeviceConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mobileDeviceConstantName('[MOBILE_DEVICE_CONSTANT]');
+
+ try {
+ $client->getMobileDeviceConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClientTest.php
new file mode 100644
index 000000000..0006ad818
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/MutateJobServiceClientTest.php
@@ -0,0 +1,528 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return MutateJobServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new MutateJobServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function createMutateJobTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName = 'resourceName979421212';
+ $expectedResponse = new CreateMutateJobResponse();
+ $expectedResponse->setResourceName($resourceName);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+
+ $response = $client->createMutateJob($customerId);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MutateJobService/CreateMutateJob', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function createMutateJobExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+
+ try {
+ $client->createMutateJob($customerId);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMutateJobTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new MutateJob();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+
+ $response = $client->getMutateJob($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MutateJobService/GetMutateJob', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getMutateJobExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+
+ try {
+ $client->getMutateJob($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listMutateJobResultsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $nextPageToken = '';
+ $resultsElement = new MutateJobResult();
+ $results = [$resultsElement];
+ $expectedResponse = new ListMutateJobResultsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setResults($results);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+
+ $response = $client->listMutateJobResults($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getResults()[0], $resources[0]);
+
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MutateJobService/ListMutateJobResults', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listMutateJobResultsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+
+ try {
+ $client->listMutateJobResults($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function runMutateJobTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/runMutateJobTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $expectedResponse = new GPBEmpty();
+ $anyResponse = new Any();
+ $anyResponse->setValue($expectedResponse->serializeToString());
+ $completeOperation = new Operation();
+ $completeOperation->setName('operations/runMutateJobTest');
+ $completeOperation->setDone(true);
+ $completeOperation->setResponse($anyResponse);
+ $operationsTransport->addResponse($completeOperation);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+
+ $response = $client->runMutateJob($formattedResourceName);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $apiRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($apiRequests));
+ $operationsRequestsEmpty = $operationsTransport->popReceivedCalls();
+ $this->assertSame(0, count($operationsRequestsEmpty));
+
+ $actualApiFuncCall = $apiRequests[0]->getFuncCall();
+ $actualApiRequestObject = $apiRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MutateJobService/RunMutateJob', $actualApiFuncCall);
+ $actualValue = $actualApiRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/runMutateJobTest');
+
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ $this->assertTrue($response->isDone());
+ $this->assertEquals($expectedResponse, $response->getResult());
+ $apiRequestsEmpty = $transport->popReceivedCalls();
+ $this->assertSame(0, count($apiRequestsEmpty));
+ $operationsRequests = $operationsTransport->popReceivedCalls();
+ $this->assertSame(1, count($operationsRequests));
+
+ $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall();
+ $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject();
+ $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall);
+ $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function runMutateJobExceptionTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'serviceAddress' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $client = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/runMutateJobTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $operationsTransport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+
+ $response = $client->runMutateJob($formattedResourceName);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/runMutateJobTest');
+
+ try {
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ // If the pollUntilComplete() method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stubs are exhausted
+ $transport->popReceivedCalls();
+ $operationsTransport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function addMutateJobOperationsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $totalOperations = 1685086151;
+ $nextSequenceToken = 'nextSequenceToken388644551';
+ $expectedResponse = new AddMutateJobOperationsResponse();
+ $expectedResponse->setTotalOperations($totalOperations);
+ $expectedResponse->setNextSequenceToken($nextSequenceToken);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+ $sequenceToken = 'sequenceToken-868155397';
+ $mutateOperations = [];
+
+ $response = $client->addMutateJobOperations($formattedResourceName, $sequenceToken, $mutateOperations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.MutateJobService/AddMutateJobOperations', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+ $actualValue = $actualRequestObject->getSequenceToken();
+
+ $this->assertProtobufEquals($sequenceToken, $actualValue);
+ $actualValue = $actualRequestObject->getMutateOperations();
+
+ $this->assertProtobufEquals($mutateOperations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function addMutateJobOperationsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->mutateJobName('[CUSTOMER]', '[MUTATE_JOB]');
+ $sequenceToken = 'sequenceToken-868155397';
+ $mutateOperations = [];
+
+ try {
+ $client->addMutateJobOperations($formattedResourceName, $sequenceToken, $mutateOperations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClientTest.php
new file mode 100644
index 000000000..2e9cdbbc4
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/OperatingSystemVersionConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return OperatingSystemVersionConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new OperatingSystemVersionConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getOperatingSystemVersionConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new OperatingSystemVersionConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->operatingSystemVersionConstantName('[OPERATING_SYSTEM_VERSION_CONSTANT]');
+
+ $response = $client->getOperatingSystemVersionConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.OperatingSystemVersionConstantService/GetOperatingSystemVersionConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getOperatingSystemVersionConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->operatingSystemVersionConstantName('[OPERATING_SYSTEM_VERSION_CONSTANT]');
+
+ try {
+ $client->getOperatingSystemVersionConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClientTest.php
new file mode 100644
index 000000000..ab3202f88
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/PaidOrganicSearchTermViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return PaidOrganicSearchTermViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new PaidOrganicSearchTermViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getPaidOrganicSearchTermViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new PaidOrganicSearchTermView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->paidOrganicSearchTermViewName('[CUSTOMER]', '[PAID_ORGANIC_SEARCH_TERM_VIEW]');
+
+ $response = $client->getPaidOrganicSearchTermView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.PaidOrganicSearchTermViewService/GetPaidOrganicSearchTermView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getPaidOrganicSearchTermViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->paidOrganicSearchTermViewName('[CUSTOMER]', '[PAID_ORGANIC_SEARCH_TERM_VIEW]');
+
+ try {
+ $client->getPaidOrganicSearchTermView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClientTest.php
new file mode 100644
index 000000000..7f6df43b8
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ParentalStatusViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ParentalStatusViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ParentalStatusViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getParentalStatusViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ParentalStatusView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->parentalStatusViewName('[CUSTOMER]', '[PARENTAL_STATUS_VIEW]');
+
+ $response = $client->getParentalStatusView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ParentalStatusViewService/GetParentalStatusView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getParentalStatusViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->parentalStatusViewName('[CUSTOMER]', '[PARENTAL_STATUS_VIEW]');
+
+ try {
+ $client->getParentalStatusView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClientTest.php
new file mode 100644
index 000000000..566aa9691
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/PaymentsAccountServiceClientTest.php
@@ -0,0 +1,141 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return PaymentsAccountServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new PaymentsAccountServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function listPaymentsAccountsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new ListPaymentsAccountsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+
+ $response = $client->listPaymentsAccounts($customerId);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.PaymentsAccountService/ListPaymentsAccounts', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function listPaymentsAccountsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+
+ try {
+ $client->listPaymentsAccounts($customerId);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClientTest.php
new file mode 100644
index 000000000..a8a0aba76
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ProductBiddingCategoryConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ProductBiddingCategoryConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ProductBiddingCategoryConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getProductBiddingCategoryConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ProductBiddingCategoryConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->productBiddingCategoryConstantName('[PRODUCT_BIDDING_CATEGORY_CONSTANT]');
+
+ $response = $client->getProductBiddingCategoryConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ProductBiddingCategoryConstantService/GetProductBiddingCategoryConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getProductBiddingCategoryConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->productBiddingCategoryConstantName('[PRODUCT_BIDDING_CATEGORY_CONSTANT]');
+
+ try {
+ $client->getProductBiddingCategoryConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClientTest.php
new file mode 100644
index 000000000..fbfb4f4c8
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ProductGroupViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ProductGroupViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ProductGroupViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getProductGroupViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ProductGroupView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->productGroupViewName('[CUSTOMER]', '[PRODUCT_GROUP_VIEW]');
+
+ $response = $client->getProductGroupView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ProductGroupViewService/GetProductGroupView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getProductGroupViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->productGroupViewName('[CUSTOMER]', '[PRODUCT_GROUP_VIEW]');
+
+ try {
+ $client->getProductGroupView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClientTest.php
new file mode 100644
index 000000000..d522be2cd
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/RecommendationServiceClientTest.php
@@ -0,0 +1,297 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return RecommendationServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new RecommendationServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getRecommendationTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Recommendation();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->recommendationName('[CUSTOMER]', '[RECOMMENDATION]');
+
+ $response = $client->getRecommendation($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.RecommendationService/GetRecommendation', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getRecommendationExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->recommendationName('[CUSTOMER]', '[RECOMMENDATION]');
+
+ try {
+ $client->getRecommendation($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function applyRecommendationTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new ApplyRecommendationResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->applyRecommendation($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.RecommendationService/ApplyRecommendation', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function applyRecommendationExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->applyRecommendation($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function dismissRecommendationTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new DismissRecommendationResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->dismissRecommendation($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.RecommendationService/DismissRecommendation', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function dismissRecommendationExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->dismissRecommendation($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClientTest.php
new file mode 100644
index 000000000..03f709778
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/RemarketingActionServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return RemarketingActionServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new RemarketingActionServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getRemarketingActionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new RemarketingAction();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->remarketingActionName('[CUSTOMER]', '[REMARKETING_ACTION]');
+
+ $response = $client->getRemarketingAction($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.RemarketingActionService/GetRemarketingAction', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getRemarketingActionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->remarketingActionName('[CUSTOMER]', '[REMARKETING_ACTION]');
+
+ try {
+ $client->getRemarketingAction($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateRemarketingActionsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateRemarketingActionsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateRemarketingActions($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.RemarketingActionService/MutateRemarketingActions', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateRemarketingActionsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateRemarketingActions($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClientTest.php
new file mode 100644
index 000000000..e1630c75f
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/SearchTermViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return SearchTermViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new SearchTermViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getSearchTermViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new SearchTermView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->searchTermViewName('[CUSTOMER]', '[SEARCH_TERM_VIEW]');
+
+ $response = $client->getSearchTermView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.SearchTermViewService/GetSearchTermView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getSearchTermViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->searchTermViewName('[CUSTOMER]', '[SEARCH_TERM_VIEW]');
+
+ try {
+ $client->getSearchTermView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClientTest.php
new file mode 100644
index 000000000..55bbcf3b5
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/SharedCriterionServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return SharedCriterionServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new SharedCriterionServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getSharedCriterionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new SharedCriterion();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->sharedCriteriaName('[CUSTOMER]', '[SHARED_CRITERIA]');
+
+ $response = $client->getSharedCriterion($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.SharedCriterionService/GetSharedCriterion', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getSharedCriterionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->sharedCriteriaName('[CUSTOMER]', '[SHARED_CRITERIA]');
+
+ try {
+ $client->getSharedCriterion($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateSharedCriteriaTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateSharedCriteriaResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateSharedCriteria($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.SharedCriterionService/MutateSharedCriteria', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateSharedCriteriaExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateSharedCriteria($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClientTest.php
new file mode 100644
index 000000000..ce8654a76
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/SharedSetServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return SharedSetServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new SharedSetServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getSharedSetTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new SharedSet();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->sharedSetName('[CUSTOMER]', '[SHARED_SET]');
+
+ $response = $client->getSharedSet($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.SharedSetService/GetSharedSet', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getSharedSetExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->sharedSetName('[CUSTOMER]', '[SHARED_SET]');
+
+ try {
+ $client->getSharedSet($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateSharedSetsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateSharedSetsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateSharedSets($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.SharedSetService/MutateSharedSets', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateSharedSetsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateSharedSets($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClientTest.php
new file mode 100644
index 000000000..eadd8c6f2
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/ShoppingPerformanceViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return ShoppingPerformanceViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new ShoppingPerformanceViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getShoppingPerformanceViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new ShoppingPerformanceView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->shoppingPerformanceViewName('[CUSTOMER]');
+
+ $response = $client->getShoppingPerformanceView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.ShoppingPerformanceViewService/GetShoppingPerformanceView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getShoppingPerformanceViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->shoppingPerformanceViewName('[CUSTOMER]');
+
+ try {
+ $client->getShoppingPerformanceView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClientTest.php
new file mode 100644
index 000000000..5cacabbf6
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/TopicConstantServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return TopicConstantServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new TopicConstantServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getTopicConstantTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new TopicConstant();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->topicConstantName('[TOPIC_CONSTANT]');
+
+ $response = $client->getTopicConstant($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.TopicConstantService/GetTopicConstant', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getTopicConstantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->topicConstantName('[TOPIC_CONSTANT]');
+
+ try {
+ $client->getTopicConstant($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClientTest.php
new file mode 100644
index 000000000..44bc7aeaf
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/TopicViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return TopicViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new TopicViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getTopicViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new TopicView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->topicViewName('[CUSTOMER]', '[TOPIC_VIEW]');
+
+ $response = $client->getTopicView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.TopicViewService/GetTopicView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getTopicViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->topicViewName('[CUSTOMER]', '[TOPIC_VIEW]');
+
+ try {
+ $client->getTopicView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClientTest.php
new file mode 100644
index 000000000..3a8030713
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/UserInterestServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return UserInterestServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new UserInterestServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getUserInterestTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new UserInterest();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->userInterestName('[CUSTOMER]', '[USER_INTEREST]');
+
+ $response = $client->getUserInterest($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.UserInterestService/GetUserInterest', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getUserInterestExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->userInterestName('[CUSTOMER]', '[USER_INTEREST]');
+
+ try {
+ $client->getUserInterest($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/UserListServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/UserListServiceClientTest.php
new file mode 100644
index 000000000..fe632f2d5
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/UserListServiceClientTest.php
@@ -0,0 +1,220 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return UserListServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new UserListServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getUserListTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new UserList();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->userListName('[CUSTOMER]', '[USER_LIST]');
+
+ $response = $client->getUserList($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.UserListService/GetUserList', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getUserListExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->userListName('[CUSTOMER]', '[USER_LIST]');
+
+ try {
+ $client->getUserList($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateUserListsTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $expectedResponse = new MutateUserListsResponse();
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ $response = $client->mutateUserLists($customerId, $operations);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.UserListService/MutateUserLists', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getCustomerId();
+
+ $this->assertProtobufEquals($customerId, $actualValue);
+ $actualValue = $actualRequestObject->getOperations();
+
+ $this->assertProtobufEquals($operations, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function mutateUserListsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $customerId = 'customerId-1772061412';
+ $operations = [];
+
+ try {
+ $client->mutateUserLists($customerId, $operations);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClientTest.php
new file mode 100644
index 000000000..1daa8dfe0
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/UserLocationViewServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return UserLocationViewServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new UserLocationViewServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getUserLocationViewTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new UserLocationView();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->userLocationViewName('[CUSTOMER]', '[USER_LOCATION_VIEW]');
+
+ $response = $client->getUserLocationView($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.UserLocationViewService/GetUserLocationView', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getUserLocationViewExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->userLocationViewName('[CUSTOMER]', '[USER_LOCATION_VIEW]');
+
+ try {
+ $client->getUserLocationView($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/tests/Google/Ads/GoogleAds/V2/Services/VideoServiceClientTest.php b/tests/Google/Ads/GoogleAds/V2/Services/VideoServiceClientTest.php
new file mode 100644
index 000000000..9b6ee9333
--- /dev/null
+++ b/tests/Google/Ads/GoogleAds/V2/Services/VideoServiceClientTest.php
@@ -0,0 +1,143 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /**
+ * @return VideoServiceClient
+ */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+
+ return new VideoServiceClient($options);
+ }
+
+ /**
+ * @test
+ */
+ public function getVideoTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ // Mock response
+ $resourceName2 = 'resourceName2625949903';
+ $expectedResponse = new Video();
+ $expectedResponse->setResourceName($resourceName2);
+ $transport->addResponse($expectedResponse);
+
+ // Mock request
+ $formattedResourceName = $client->videoName('[CUSTOMER]', '[VIDEO]');
+
+ $response = $client->getVideo($formattedResourceName);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.ads.googleads.v2.services.VideoService/GetVideo', $actualFuncCall);
+
+ $actualValue = $actualRequestObject->getResourceName();
+
+ $this->assertProtobufEquals($formattedResourceName, $actualValue);
+
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /**
+ * @test
+ */
+ public function getVideoExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $client = $this->createClient(['transport' => $transport]);
+
+ $this->assertTrue($transport->isExhausted());
+
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+
+ // Mock request
+ $formattedResourceName = $client->videoName('[CUSTOMER]', '[VIDEO]');
+
+ try {
+ $client->getVideo($formattedResourceName);
+ // If the $client method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+}